Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
C::B segfault on startup (~2387)
tiger683:
--- Quote from: mandrav on May 05, 2006, 01:57:02 pm ---
--- Quote from: tiger683 on May 05, 2006, 12:57:57 pm ---Any progress with this one?
--- End quote ---
What progress? It works just fine in any 32bit distro I tested it (scripting is not supported for 64bit currently), I can't see any errors. I don't have a Gentoo system to test though nor can I provide support for ebuilds (don't know about them), sorry.
--- End quote ---
Thanks for fast reply.
Then i guess i'll just dig into the code myself (since i use C::B for my current project and update C::B pretty often, it is worth spending these few moments on fixing it).
Thanks for your hard work :)
Regards,
Rafael
tiger683:
This seems to be a CXXFLAGS problem.
I added a flag-stripping directive into the ebuild in my overlay
and now the problem seems to be gone (I can start C::B with wizard enabled :D)
Could anyone confirm or neglect that the -fvisibility-inlines-hidden cxxflag causes such misbehaviour?
I'll test this myself too, but maybe someone has a faster machine to recompile and look for breakage.
EDIT: This would in particular be useful to just filter THE offending flag instead of stripping them all :]
mandrav, sorry for wasting your time with bugging you about this problem :?
Thanks for an awesome IDE,
T
polygon7:
Hi,
i removed
--- Quote ----fvisibility-inlines-hidden
--- End quote ---
flag, and C::B still segfault in copyloop(). I will check other flags.
tiger683:
--- Quote from: polygon7 on May 11, 2006, 06:31:53 pm ---Hi,
i removed
--- Quote ----fvisibility-inlines-hidden
--- End quote ---
flag, and C::B still segfault in copyloop(). I will check other flags.
--- End quote ---
Now, who would have thought...
I went through everything i did before it started working and guess what...the problem is NOT C::B itself!
The winner of this puzzle is revealed by this cute little backtrace:
--- Code: ("gdb") ---(gdb) next
[New Thread -1241998432 (LWP 16121)]
Program received signal SIGSEGV, Segmentation fault.
0xb71f55df in inflateBack () from /lib/libz.so.1
(gdb) bt
#0 0xb71f55df in inflateBack () from /lib/libz.so.1
#1 0xbfe32c68 in ?? ()
#2 0xb7ab4411 in operator delete () from /usr/lib/gcc/i686-pc-linux-gnu/4.1.0-pre20060223/libstdc++.so.6
Previous frame inner to this frame (corrupt stack?)
(gdb)
--- End code ---
So, stack corruption in call to a zlib function...huh...
It gets even better, if you recompile zlib _WITHOUT_ the -ftree-vectorize CFLAG (no, not CXXFLAG :P),
C::B will start without a problem :shock: . Strange enough but worksforme :P
I knew there was something about the vectorizer, that's why i switched it off a while after having compiled my system...
but also after having compiled zlib last time :lol:
I hope it helps you too ;)
Thanks
T
polygon7:
I dont use -ftree-vectorize. I found bogus flag in my case: -fomit-frame-pointer. I removed this flag and now C::B run without problems. Strange thing is that flag works for older versions. Maybe somebody know why this flag triggers segfault?
Navigation
[0] Message Index
[*] Previous page
Go to full version