Quoting Matthew Lye <[email protected]> from ml.softs.gtk-gnutella.devel: :Hey all, : :I have encountered a crash that I find rather perplexing, seemingly in :iso3166.c: : :> #2 0x001e93d8 in assertion_failure (data=<value temporarily :> unavailable, due to optimizations>) at fast_assert.c:104 :> #3 0x001fbfc4 in iso3166_country_cc (code=0) at iso3166.c:423 :> #4 0x00189e50 in render_sources (d=<value temporarily unavailable, :> due to optimizations>, row=0, column=1) at fileinfo.c:284 : :It would appear that iso316_country_cc os being passed a guint16 value :of 0x0, and subsequently failing the assertion "g_assert(code < :G_N_ELEMENTS(iso3166_countries))". Which would not be possible, :unless G_N_ELEMENTS(iso3166_countries) were (a) also zero, or (b) :evaluated as a [negative] signed integer rather than an unsigned :integer.
Could be an optimizer bug. Do you get the crash if you compile with -O0? I agree with you the insertion failing with code=0 is unsettling, but the stack track could be wrong, especially due to the optimization and some arguments being passed by registers, or some calls being inlined (like here, where render_sources() seemingly calls iso3166_country_cc() while in fact it has to go through guc_download_get_country(). And iso3166_country_entry() does not appear in the stack, which is where the assertion is really. So try with -O0 to see whether you crash at all, and then we'll get to know what code really was. Raphael ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ gtk-gnutella-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel
