On 30 Aug 2012, at 00:13, Graeme Geldenhuys wrote: > ------------------------------- > Signal received. Signal: SIGSEGV, Segmentation fault. > > #0 0040E1BB :0 SYSTEM_WAITFREE_FIXED$PMEMCHUNK_FIXED$POSCHUNK() > #1 01FB8D3C :0 ??() > #2 0040C51A :0 fpc_finalize() > #3 00000001 :0 ??() > #4 0040AD2A :0 SYSTEM_TOBJECT_$__CLEANUPINSTANCE() > #5 00520D80 :0 $MDLEXERCISE$_Ld37() > #6 00000001 :0 ??() > #7 01F0D888 :0 ??() > #8 00000000 :0 ??() > ------------------------------- > > I've spent two days on this already and about to loose my mind. :-/ From the > stacktrace above the only thing I can recognise, is the 'mdlexercise' text, > which is a unit in our project. But without any line numbers it is like > looking for a needle in a very large haystack. > > Any GDB tips somebody can share, that could help me get GDB to reveal more > debug information?
GDB can't give you a proper stack trace because memory has been corrupted (as evidenced by the crash in SYSTEM_WAITFREE_FIXED), and/or because the release RTL has been compiled with -O2 and that setting includes stack frame omissions (and FPC does not include stack frame layout information on i386). There's no line number information for the $MDLEXERCISE$_Ld37 symbol because that's a data label, not a code address, and hence there is simply no line number information for it. The first thing you can try is to compile with -gh, hoping that it will abort in a place closer to the cause of the problem. -CRr is also a very useful debugging switch. If that doesn't help, you try running the program under Dr Memory (http://www.drmemory.org/ ) and/or recompiling the FPC 2.6.0 rtl from source without optimizations, optionally also with debug information. Jonas_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal