[Kde-bindings] smokegen crashes on macosx
Arno Rehn
arno at arnorehn.de
Thu May 6 15:25:01 UTC 2010
On Thursday 06 May 2010 16:59:21 Petr Vanek wrote:
> hi all,
>
> I'm still trying to fix macosx issues with smoke build - finding and
> parsing headers as mentioned in the "smoke qt empty builds on macosx"
> thread.
>
> When I force smokegen to use mac's qt frameworks it crashes on out of
> memory (infinite loop). See the backtrace:
>
> http://public.yarpen.cz/smokegen.gdb.log
>
> can anybody help me with it, please? With:
>
> a) confirm it with something like this (paths should be changed to fit
> your system of course):
>
> smokegen -config ~/src/qore/module-qt4/trunk/build/smoke/qt/config.xml
> -smokeconfig ~/src/qore/module-qt4/trunk/smoke/qt/smokeconfig.xml -- /
> Library/Frameworks/QtCore.framework/Headers/QtCore
>
> b) it would be great if developers can explain the affected code a
> bit. I don't get this part at all due its complexity ;)
Look at generatorpreprocessor.cpp, line 160 and following. We currently handle
such a case with Linux' limits.h. The file contains a statement #include_next
<limits.h>, which should probably include a file limits.h that's different
from the current one. The preprocessor only finds the current one, though, and
it gets stuck in an infinite loop if that's the case (because limits.h doesn't
have a header guard).
The current solution is more or less a hack. Actually we should do something
like
if (m_fileStack.top().filePath().endsWith(fileName)) return 0;
to detect a probable endless loop. I'll try this and check it in, if it works.
--
Arno Rehn
arno at arnorehn.de
More information about the Kde-bindings
mailing list