On 05/05/2014, at 12:02 PM, john skaller wrote: > Sorry i'm having a hard time at the moment bug finding.
Well, i have found a statement that triggers a bug: if(debug_collections || report_collections) fprintf(stderr,"[flx_gc:gc_profile_t] actually_collect\n"); If I comment out the test, it segfaults. Now, this is of course utterly impossible crap. Then I remembered that gdb was giving me ridiculously stupid errors too. Then I found a bug, and I curse that moronic stupid idiotic C++ language. here's the constructor for a gc profile: gc_profile_t::gc_profile_t ( bool debug_driver_, bool debug_allocations_, bool debug_collections_, bool report_collections_, bool allow_collection_anywhere_, unsigned long gc_freq_, unsigned long min_mem_, unsigned long max_mem_, double free_factor_, bool finalise_, flx::gc::generic::collector_t *collector_ ) : ... and here the actual initialisation: gcp = new flx::gc::generic::gc_profile_t( c, c->debug_allocations, c->debug_collections, c->report_collections, c->allow_collection_anywhere, c->gc_freq, c->min_mem, c->max_mem, c->free_factor, c->finalise, collector ); Exactly how the silent conversion from the pointer c to a bool can crash the system I have no idea. However it should switch driver debugging on universally and doesn't. Fixing this doesn't fix the bug though :) -- john skaller skal...@users.sourceforge.net http://felix-lang.org ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language