GLib-CRITICAL **: g_strsplit: assertion `string != NULL' failed

Bug #829947 reported by Olivier Berten
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
High
Johan Engelen

Bug Description

Crash when opening some automatically saved document. The initial crash happened when trying to remove guides from within the xml editor.

I'm using 0.48 on Ubuntu 11.04 with gnome-shell.

Here is the gdb output:

GNU gdb (Ubuntu/Linaro 7.2-1ubuntu11) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/inkscape...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/inkscape
[Thread debugging using libthread_db enabled]
[New Thread 0xb5d54b70 (LWP 6369)]
[New Thread 0xb5553b70 (LWP 6370)]
[New Thread 0xb4bffb70 (LWP 6371)]
[Thread 0xb5d54b70 (LWP 6369) exited]
[Thread 0xb5553b70 (LWP 6370) exited]
[New Thread 0xb5553b70 (LWP 6380)]
[New Thread 0xb5d54b70 (LWP 6381)]
[New Thread 0xb42d4b70 (LWP 6382)]
[Thread 0xb5553b70 (LWP 6380) exited]
[Thread 0xb42d4b70 (LWP 6382) exited]
[Thread 0xb5d54b70 (LWP 6381) exited]

(inkscape:6358): GLib-CRITICAL **: g_strsplit: assertion `string != NULL' failed

Program received signal SIGSEGV, Segmentation fault.
0x080ef974 in ?? ()
(gdb) bt
#0 0x080ef974 in ?? ()
#1 0x0810ddb4 in ?? ()
#2 0x0810dac6 in ?? ()
#3 0x08110264 in ?? ()
#4 0x0810a6ab in ?? ()
#5 0x0810dac6 in ?? ()
#6 0x08110264 in ?? ()
#7 0x0811df45 in ?? ()
#8 0x0810dac6 in ?? ()
#9 0x081118ac in ?? ()
#10 0x0808c58d in ?? ()
#11 0x0808d81f in ?? ()
#12 0x08397f71 in ?? ()
#13 0x083998af in ?? ()
#14 0x08399aa5 in ?? ()
#15 0x00673dfb in Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) () from /usr/lib/libglibmm-2.4.so.1
#16 0x00fd648c in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#17 0x00fba372 in g_closure_invoke ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#18 0x00fcd273 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#19 0x00fd5b29 in g_signal_emit_valist ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#20 0x00fd5e3d in g_signal_emit_by_name ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#21 0x009074c7 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#22 0x00fd648c in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#23 0x00fba372 in g_closure_invoke ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#24 0x00fcd048 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#25 0x00fd5b29 in g_signal_emit_valist ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#26 0x00fd5e3d in g_signal_emit_by_name ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#27 0x009074c7 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#28 0x00fd648c in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#29 0x00fba372 in g_closure_invoke ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#30 0x00fcd048 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#31 0x00fd5b29 in g_signal_emit_valist ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#32 0x00fd5e3d in g_signal_emit_by_name ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#33 0x008f655e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#34 0x008fdda7 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#35 0x00fd648c in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#36 0x00fba372 in g_closure_invoke ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#37 0x00fcd048 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#38 0x00fd5b29 in g_signal_emit_valist ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#39 0x00fd5cc2 in g_signal_emit ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#40 0x00a58263 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#41 0x00a6f23b in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#42 0x00a72a23 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#43 0x00959a04 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#44 0x00fb8cc7 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#45 0x00fba372 in g_closure_invoke ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#46 0x00fcce45 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#47 0x00fd58d7 in g_signal_emit_valist ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#48 0x00fd5cc2 in g_signal_emit ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#49 0x00a8e836 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#50 0x00957b8d in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#51 0x009581af in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#52 0x00c53a0a in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#53 0x01047848 in g_main_context_dispatch ()
   from /lib/i386-linux-gnu/libglib-2.0.so.0
#54 0x01048010 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#55 0x010486cb in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#56 0x008d0b8f in gtk_dialog_run () from /usr/lib/libgtk-x11-2.0.so.0
#57 0x002d17b6 in Gtk::Dialog::run() () from /usr/lib/libgtkmm-2.4.so.1
#58 0x0839aaf9 in ?? ()
#59 0x0809743e in ?? ()
#60 0x08253bb5 in ?? ()
#61 0x00fd648c in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#62 0x00fba372 in g_closure_invoke ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#63 0x00fcd048 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#64 0x00fd5b29 in g_signal_emit_valist ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#65 0x00fd5cc2 in g_signal_emit ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#66 0x00a8d7a5 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#67 0x0096f341 in gtk_menu_shell_activate_item ()
   from /usr/lib/libgtk-x11-2.0.so.0
#68 0x0096f71a in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#69 0x00962e28 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#70 0x00959a04 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#71 0x00fb8cc7 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#72 0x00fba372 in g_closure_invoke ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#73 0x00fcce45 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#74 0x00fd58d7 in g_signal_emit_valist ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#75 0x00fd5cc2 in g_signal_emit ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#76 0x00a8e836 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#77 0x00957b8d in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#78 0x00957eef in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#79 0x00c53a0a in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#80 0x01047848 in g_main_context_dispatch ()
   from /lib/i386-linux-gnu/libglib-2.0.so.0
#81 0x01048010 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#82 0x010486cb in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#83 0x00956c39 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#84 0x002fd357 in Gtk::Main::run_impl() () from /usr/lib/libgtkmm-2.4.so.1
---Type <return> to continue, or q <return> to quit---
#85 0x002fdd42 in Gtk::Main::run() () from /usr/lib/libgtkmm-2.4.so.1
#86 0x08086cb3 in ?? ()
#87 0x081713ea in ?? ()
#88 0x0808601a in ?? ()
#89 0x01cb9e37 in __libc_start_main (main=0x8085c20, argc=1,
    ubp_av=0xbffff8f4, init=0x876b3d0, fini=0x876b430, rtld_fini=0x11ea50,
    stack_end=0xbffff8ec) at libc-start.c:226
#90 0x08084a61 in ?? ()
(gdb)

Tags: crash guides
Revision history for this message
Olivier Berten (olivier-berten) wrote :
Revision history for this message
Alvin Penner (apenner) wrote :

- crash confirmed on Windows XP, Inkscape rev 10549.
- the crash appears to be caused by the fact that there is a guide defined that has no position attribute associated with it.
If I take the line:
<sodipodi:guide orientation="1,0" id="guide4386" />

and edit it to read:
<sodipodi:guide orientation="1,0" position="" id="guide4386" />

then the crash disappears.

Changed in inkscape:
status: New → Confirmed
Revision history for this message
Johan Engelen (johanengelen) wrote :

thanks for the research, fixed it.

Changed in inkscape:
assignee: nobody → Johan Engelen (johanengelen)
milestone: none → 0.48.3
status: Confirmed → Fix Committed
Revision history for this message
su_v (suv-lp) wrote :

inkscape trunk: r10562
inkscape 0.48.x: r9825

tags: added: guides
tags: added: crash
Changed in inkscape:
importance: Undecided → High
Ted Gould (ted)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.