June 20, 2012

L.MCH L.MCH
Lab Rat
44 posts

If you are having memory allocation problems when using QtQuick with Windows CE, check QTBUG-26227

 

As the title says, I’ve just posted a bug report about a serious problem that happens
when using QtQuick with Windows CE devices.

I guess it’s the same problem at the root of various issues about QML code allocating memory
and never releasing it:
QTBUG-26227 [bugreports.qt-project.org]

If you are using Qt 4.8.2 or a previous version and notice memory is allocated by QML code but never released as should be, give a look at the bug report and at the proposed fix, it may solve your problem too.

5 replies

June 20, 2012

L.MCH L.MCH
Lab Rat
44 posts

Ooops, I sent the previous post a little too fast.
Of course, the problem happens only with Windows CE.

June 20, 2012

SteveKing SteveKing
Lab Rat
105 posts

Thanks for that!

Did you changed compiler settings to enable extra warnings, or just notice it during compilation? I think I’m going to go back and re-compile my WinCE DLLs and check a bit more carefully.

June 20, 2012

L.MCH L.MCH
Lab Rat
44 posts

It was the first time I built Qt for Windows CE 5.0 for production devices (previously we were using only Windows CE 6.0).

At first I was having memory allocation errors I initially supposed were caused by the 32MB limit for data and program dlls, so i forced -Os in the mkspec for the target device and inserted qDebug() messages to generate an application specific execution log about what was actually going on, after i noticed program termination happened before reaching the 32MB limit, I started combing the compilation log to see if there was something suspicious besides the usual data truncation warnings and found that weird warning about rewind() macro substitution.

June 21, 2012

SteveKing SteveKing
Lab Rat
105 posts

Thanks for that I’ll do a trawl through our compilation log and see if it’s there. We’re building using 4.7.4 so it might not show up in that release (fingers crossed).

February 4, 2013

L.MCH L.MCH
Lab Rat
44 posts

Lately I rebuild some stuff using Qt 4.8.4 and discovered that the bug still exists.
It exists in 4.8.3, too.

The fixes added to the source code instead of “#undef rewind”
contained “# undef rewind” (blank spaces between “#” and “undef”)
and it seems that VS2005 C++ compiler for ARM ignores that.

 
  ‹‹ Optimalisation for OMAP      use Qt creator to create remote linux application ››

You must log in to post a reply. Not a member yet? Register here!