User forums > General (but related to Code::Blocks)
TDM-GCC 4.8 series (Latest: 4.8.1-tdm-2 - 2013-10-06)
gd_on:
Thanks John.
I have seen this on your web site this morning but I have only been able to try it this evening, at home, where I had the problem.
It looks OK. H: is reactivated and do not interfere.
Thanks again. ;)
gd_on
ptDev:
Thank you so much for all your hard work!
Please forgive my impatience, as I even felt the need to PM you in anticipation... :)
stahta01:
--- Quote from: MortenMacFly on October 06, 2013, 07:20:00 pm ---
--- Quote from: MortenMacFly on October 06, 2013, 07:01:48 pm ---unfortunately I didn't figure out a good test case for reproduction.
--- End quote ---
OK, I found a way to reproduce:
For me, it happens when I compile a simple file like configmanager-revision.cpp
What you need to do:
- compile wx 2.9.5 with GCC 4.8.1
- start compiling C::B with the related C::B "-wx29" project -> this will create the PCH file
- when it crashes, run at the command prompt:
- g++.exe -DwxUSE_WX_RESOURCES=0 -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DEXPORT_LIB -DEXPORT_EVENTS -DWXMAKINGDLL_SCI -iquote.objs29\include -c sdk\configmanager-revision.cpp
--> It will crash for me. Removing ANY of the remaining option will make it work but also changes the handling of the PCH file.
So it really seems related to the handling of PCH file (and yes, I've completely cleaned everything in the first place, so the PCH file is generated with GCC 4.8.1, too).
Any idea of what going on here? Note that PCH works just fine for the older wx 2.8.12... ?!
--- End quote ---
Finally had time; it fails Compiling of PCH against wxWidgets trunk.
Disabled PCH and it is working be a while before it finishes building CB.
Googling implies cc1plus.exe might be crashing because of too small a stack size. 91M pch does not crash it; but, the wxWidget trunk results in about 140MB pch.
Possible related bug post: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56926
Possible related bug post: http://sourceforge.net/mailarchive/message.php?msg_id=30821409
PCH of this size works 128 MB (134,393,772 bytes). I got this size by un-defining WX_PRECOMP and commenting out "#include <wx/wxprec.h>" in sdk_common.h. So, it might be a header included by wxprec.h that is causing the crash.
Tim S.
stahta01:
--- Quote from: MortenMacFly on October 06, 2013, 07:20:00 pm ---
--- Quote from: MortenMacFly on October 06, 2013, 07:01:48 pm ---unfortunately I didn't figure out a good test case for reproduction.
--- End quote ---
OK, I found a way to reproduce:
For me, it happens when I compile a simple file like configmanager-revision.cpp
What you need to do:
- compile wx 2.9.5 with GCC 4.8.1
- start compiling C::B with the related C::B "-wx29" project -> this will create the PCH file
- when it crashes, run at the command prompt:
- g++.exe -DwxUSE_WX_RESOURCES=0 -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DEXPORT_LIB -DEXPORT_EVENTS -DWXMAKINGDLL_SCI -iquote.objs29\include -c sdk\configmanager-revision.cpp
--> It will crash for me. Removing ANY of the remaining option will make it work but also changes the handling of the PCH file.
So it really seems related to the handling of PCH file (and yes, I've completely cleaned everything in the first place, so the PCH file is generated with GCC 4.8.1, too).
Any idea of what going on here? Note that PCH works just fine for the older wx 2.8.12... ?!
--- End quote ---
Found what I believe to be the real cause of crashing "wx/wxprec.h" was included inside the CB Header xtra_res.h.
I have not yet confirmed this a the cause; I have to cleanup my CB source file first.
Cleanup my CB source and the results do NOT confirm the issue to be fixed by removing the include of "wx/wxprec.h".
I have given up once more; it appears almost to be a un-guarded or circular header inclusion issue.
If I include both xtra_res.h and wx/msw/wrapcctl.h along with several other headers it had an issue; but, it seems to be hard to narrow it down completely.
Tim S.
ollydbg:
Also this post:
http://sourceforge.net/p/mingwbuilds/mailman/message/29214215/
It looks like GCC can not handle big PCH file correctly, but no one has debugged this issue. As in the message:http://sourceforge.net/mailarchive/message.php?msg_id=30821409
Kai said:
--- Quote ---Well, this crash can have at least two different causes. First would
be that precompiled headers are generated by different gcc-versions.
Second would be that precompiled-header-file exceeds in total 512 MB
size.
For both cases there is no real fix available for mingw-targets.
Regards,
Kai
--- End quote ---
Also, for QT, they have disabled PCH on MinGW GCC target: see:
https://codereview.qt-project.org/#change,34049
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version