SVG icons: still a problem

Brian J. Tarricone bjt23 at cornell.edu
Sat Sep 11 03:48:05 CEST 2004


sorry, i should have been more clear.  after the app crashes, you need 
to type 'bt' at the (gdb) prompt, and hit enter, and then you get the 
backtrace.

this time, however, it doesn't matter, because the problematic part spit 
out some output.  an assertion in librsvg failed.  assuming the librsvg 
coder in questions understands what an assert() is for[1], this is 
likely a bug in librsvg, which you should report to the author.

(random note:  it looks like what they're trying to do is compare two 
floating point numbers by recognising that floats can end up incurring 
some rounding errors due to loss of precision.  so they define "equals" 
as "plus or minus a tiny amount".  this is rather sucky and error-prone, 
but unfortunately necessary sometimes.)

    -brian

[1] using assert() will, in most cases, cause the application to abort.  
because of this, programmers should ONLY ever use assert() to catch 
conditions that should never happen - i.e., as a big stop sign that says 
"stupid programmer, you have a bug in your software."  an app should 
never use assert() on a condition caused by external data, user input, 
etc.  that's what proper error handling is for.  personally, i'm against 
using assert() in all but the most dire of circumstances, but that's 
just my opinion.

Andrew Conkling wrote:

>Some time ago (probably on Fri, 10 Sep 2004 10:45:04 -0700)
>"Brian J. Tarricone" <bjt23 at cornell.edu> had occasion to say the following:
>  
>
>>the only way we can help, aside from being ble to reproduce it ourselves
>>(which i'm betting isn't the case; i've been using an SVG theme for quite a
>>while now with no problems), is if you can get us a backtrace by running
>>xfce4-panel through gdb.
>>    
>>
>
>Here it is.  It was my first time using gdb, so tell me if there's anything else you need therefrom.
>
>Backtrace:
>(gdb) run xfce4-panel
>Starting program: /usr/bin/xfce4-panel xfce4-panel
>warning: Unable to find dynamic linker breakpoint function.
>GDB will be unable to debug shared library initializers
>and track explicitly loaded dynamic code.
>(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
>(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
>(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
>(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
>(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
>(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
>(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
>(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
>(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
>(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
>(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
>(no debugging symbols found)...(no debugging symbols found)...
>Detaching after fork from child process 10587.
>
>(xfce4-panel:10582): Gdk-CRITICAL **: file gdkdraw.c: line 412 (gdk_draw_rectangle): assertion `GDK_IS_GC (gc)' failed
>Detaching after fork from child process 10589.
>xfce4-panel: art_render_gradient.c:337: art_render_gradient_linear_render_8: Assertion `(stops[ix-1].offset <= offset_fraction + 1e-6) || ((stops[ix].offset > (1.0 - 1e-6)) && (offset_fraction < 1e-6 ))' failed.
>
>Program received signal SIGABRT, Aborted.
>0x40795cd1 in kill () from /lib/libc.so.6
>(gdb) 
><END BACKTRACE>
>
>Thanks in advance,
>Andrew
>_______________________________________________
>Xfce mailing list
>Xfce at xfce.org
>http://lunar-linux.org/mailman/listinfo/xfce
>http://www.xfce.org
>  
>



More information about the Xfce mailing list