rev 19671 linux crash at startup (2geom)

Bug #258761 reported by amidude99
8
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Undecided
Johan Engelen

Bug Description

gdb /usr/local/bin/inkscape
GNU gdb 6.4.90-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run
Starting program: /usr/local/bin/inkscape
[Thread debugging using libthread_db enabled]
[New process 3756]
[New Thread -1229142272 (LWP 3756)]
terminate called after throwing an instance of 'Geom::RangeError'
  what(): lib2geom exception: Path contains not enough segments (./2geom/path.h:229)

Program received signal SIGABRT, Aborted.
[Switching to Thread -1229142272 (LWP 3756)]
0xb6dded96 in raise () from /lib/libc.so.6
(gdb) bt
#0 0xb6dded96 in raise () from /lib/libc.so.6
#1 0xb6de0541 in abort () from /lib/libc.so.6
#2 0xb6fef818 in __gnu_cxx::__verbose_terminate_handler ()
   from /usr/lib/libstdc++.so.6
#3 0xb6fed6d5 in std::set_unexpected () from /usr/lib/libstdc++.so.6
#4 0xb6fed712 in std::terminate () from /usr/lib/libstdc++.so.6
#5 0xb6fed84a in __cxa_throw () from /usr/lib/libstdc++.so.6
#6 0x08646ed7 in Geom::Path::operator*= (this=0xa1e9f90, m=@0xbfba8380)
    at ./2geom/path.h:229
#7 0x083c12af in SPCurve::transform (this=0x0, m=@0xbfba8380)
    at ./2geom/pathvector.h:51
#8 0x081dad5d in sp_genericellipse_set_shape (shape=0x99c3040)
    at sp-ellipse.cpp:244
#9 0x081dafc3 in sp_genericellipse_update (object=0x99c3040, ctx=0xbfba8498,
    flags=93) at sp-ellipse.cpp:153
#10 0x080d8362 in SPObject::updateDisplay (this=0x99c3040, ctx=0xbfba8498,
    flags=92) at sp-object.cpp:1298
#11 0x080c5da6 in CGroup::onUpdate (this=0x99bd700, ctx=0xbfba85d8, flags=95)
    at sp-item-group.cpp:664
#12 0x080d8362 in SPObject::updateDisplay (this=0x96d5c60, ctx=0xbfba85d8,
    flags=28) at sp-object.cpp:1298
#13 0x080c5da6 in CGroup::onUpdate (this=0x992f8f0, ctx=0xbfba871c, flags=27)
    at sp-item-group.cpp:664
---Type <return> to continue, or q <return> to quit---
#14 0x080e93e9 in sp_root_update (object=0x8f18200, ctx=0xbfba8988, flags=27)
    at sp-root.cpp:553
#15 0x080d8362 in SPObject::updateDisplay (this=0x8f18200, ctx=0xbfba8988,
    flags=0) at sp-object.cpp:1298
#16 0x08088bcd in SPDocument::_updateDocument (this=0x8b72f00)
    at document.cpp:826
#17 0x08088c3f in sp_document_ensure_up_to_date (doc=0x8b72f00)
    at document.cpp:848
#18 0x08361647 in load_svg_pixels (name=0x972ef58 "file_import", psize=16)
    at widgets/icon.cpp:813
#19 0x08362d56 in prerender_icon (name=0x972ef58 "file_import", lsize=2,
    psize=16) at widgets/icon.cpp:898
#20 0x08363073 in imageMapCB (widget=0x972f9b0) at widgets/icon.cpp:1049
#21 0xb7667084 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#22 0xb7659923 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#23 0xb766cead in g_signal_handlers_destroy ()
   from /usr/lib/libgobject-2.0.so.0
#24 0xb766e3f4 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#25 0xb766e856 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#26 0xb7a13a7c in gtk_widget_map () from /usr/lib/libgtk-x11-2.0.so.0
#27 0xb77f7fff in gtk_button_box_set_child_size ()
   from /usr/lib/libgtk-x11-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#28 0xb783f9f6 in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0
#29 0xb7841b3b in gtk_container_child_type () from /usr/lib/libgtk-x11-2.0.so.0
#30 0xb78046f6 in gtk_button_new () from /usr/lib/libgtk-x11-2.0.so.0
#31 0xb7667084 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#32 0xb7658099 in g_closure_get_type () from /usr/lib/libgobject-2.0.so.0
#33 0xb7659850 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#34 0xb766c6e6 in g_signal_handlers_destroy ()
   from /usr/lib/libgobject-2.0.so.0
#35 0xb766e3f4 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#36 0xb766e856 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#37 0xb7a13a7c in gtk_widget_map () from /usr/lib/libgtk-x11-2.0.so.0
#38 0xb77f7fff in gtk_button_box_set_child_size ()
   from /usr/lib/libgtk-x11-2.0.so.0
#39 0xb783f9f6 in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0
#40 0xb7841b3b in gtk_container_child_type () from /usr/lib/libgtk-x11-2.0.so.0
#41 0xb79bf1c6 in gtk_tool_button_new_from_stock ()
   from /usr/lib/libgtk-x11-2.0.so.0
#42 0xb7667084 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#43 0xb7658099 in g_closure_get_type () from /usr/lib/libgobject-2.0.so.0
#44 0xb7659850 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#45 0xb766c6e6 in g_signal_handlers_destroy ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/libgobject-2.0.so.0
#46 0xb766e3f4 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#47 0xb766e856 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#48 0xb7a13a7c in gtk_widget_map () from /usr/lib/libgtk-x11-2.0.so.0
#49 0xb79b951d in gtk_toolbar_set_drop_highlight_item ()
   from /usr/lib/libgtk-x11-2.0.so.0
#50 0xb783f9f6 in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0
#51 0xb7841b3b in gtk_container_child_type () from /usr/lib/libgtk-x11-2.0.so.0
#52 0xb79bad5c in gtk_toolbar_set_drop_highlight_item ()
   from /usr/lib/libgtk-x11-2.0.so.0
#53 0xb7667084 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#54 0xb7658099 in g_closure_get_type () from /usr/lib/libgobject-2.0.so.0
#55 0xb7659850 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#56 0xb766c6e6 in g_signal_handlers_destroy ()
   from /usr/lib/libgobject-2.0.so.0
#57 0xb766e3f4 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#58 0xb766e856 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#59 0xb7a13a7c in gtk_widget_map () from /usr/lib/libgtk-x11-2.0.so.0
#60 0xb789a7bc in gtk_handle_box_new () from /usr/lib/libgtk-x11-2.0.so.0
#61 0xb7667084 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#62 0xb7658099 in g_closure_get_type () from /usr/lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#63 0xb7659850 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#64 0xb766c6e6 in g_signal_handlers_destroy ()
   from /usr/lib/libgobject-2.0.so.0
#65 0xb766e3f4 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#66 0xb766e856 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#67 0xb7a13a7c in gtk_widget_map () from /usr/lib/libgtk-x11-2.0.so.0
#68 0xb77fc275 in gtk_box_pack_start_defaults ()
   from /usr/lib/libgtk-x11-2.0.so.0
#69 0xb783f9f6 in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0
#70 0xb7841b3b in gtk_container_child_type () from /usr/lib/libgtk-x11-2.0.so.0
#71 0xb7667084 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#72 0xb7658099 in g_closure_get_type () from /usr/lib/libgobject-2.0.so.0
#73 0xb7659850 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#74 0xb766c6e6 in g_signal_handlers_destroy ()
   from /usr/lib/libgobject-2.0.so.0
#75 0xb766e3f4 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#76 0xb766e856 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#77 0xb7a13a7c in gtk_widget_map () from /usr/lib/libgtk-x11-2.0.so.0
#78 0xb77f7fff in gtk_button_box_set_child_size ()
   from /usr/lib/libgtk-x11-2.0.so.0
#79 0xb783f9f6 in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0
#80 0xb7841b3b in gtk_container_child_type () from /usr/lib/libgtk-x11-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#81 0xb7863429 in gtk_event_box_new () from /usr/lib/libgtk-x11-2.0.so.0
#82 0xb7667084 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#83 0xb7658099 in g_closure_get_type () from /usr/lib/libgobject-2.0.so.0
#84 0xb7659850 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#85 0xb766c6e6 in g_signal_handlers_destroy ()
   from /usr/lib/libgobject-2.0.so.0
#86 0xb766e3f4 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#87 0xb766e856 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#88 0xb7a13a7c in gtk_widget_map () from /usr/lib/libgtk-x11-2.0.so.0
#89 0xb7a24c15 in gtk_window_new () from /usr/lib/libgtk-x11-2.0.so.0
#90 0xb7e8a3d2 in Gtk::Widget_Class::map_callback ()
   from /usr/lib/libgtkmm-2.4.so.1
#91 0xb7667084 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#92 0xb7658099 in g_closure_get_type () from /usr/lib/libgobject-2.0.so.0
#93 0xb7659923 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#94 0xb766c6e6 in g_signal_handlers_destroy ()
   from /usr/lib/libgobject-2.0.so.0
#95 0xb766e3f4 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#96 0xb766e856 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#97 0xb7a13a7c in gtk_widget_map () from /usr/lib/libgtk-x11-2.0.so.0
#98 0xb7a24d6e in gtk_window_new () from /usr/lib/libgtk-x11-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#99 0xb7e8a532 in Gtk::Widget_Class::show_callback ()
   from /usr/lib/libgtkmm-2.4.so.1
#100 0xb7667084 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#101 0xb7658099 in g_closure_get_type () from /usr/lib/libgobject-2.0.so.0
#102 0xb7659923 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#103 0xb766c6e6 in g_signal_handlers_destroy ()
   from /usr/lib/libgobject-2.0.so.0
#104 0xb766e3f4 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#105 0xb766e856 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#106 0xb7a1427c in gtk_widget_show () from /usr/lib/libgtk-x11-2.0.so.0
#107 0xb7e8e396 in Gtk::Widget::show () from /usr/lib/libgtkmm-2.4.so.1
#108 0x080983bf in sp_create_window (vw=0x8f1e020, editable=1)
    at interface.cpp:270
#109 0x0808b99b in sp_file_new (templ=@0xbfbab9d4) at file.cpp:118
#110 0x0808be54 in sp_file_new_default () at file.cpp:143
#111 0x08082a5b in sp_main_gui (argc=1, argv=0xbfbabb64) at main.cpp:796
#112 0x081ffd43 in Inkscape::NSApplication::Application::run (this=0xbfbabaa4)
    at application/application.cpp:117
#113 0x080827f5 in main (argc=1, argv=0xbfbabb64) at main.cpp:610
(gdb)

Tags: 2geom crash
dopelover (dopelover)
Changed in inkscape:
status: New → Confirmed
Revision history for this message
Maximilian Albert (cilix) wrote :

This is temporarily fixed in SVN (rev. 19673). The crash was introduced by commit #1530 of the 2geom library, which I reverted in Inkscape SVN. Even though the crash is gone, I'm not closing this bug in order to draw further attention to the underlying issue.

Revision history for this message
Johan Engelen (johanengelen) wrote :

Sorry for my somewhat strange change to 2geom there; it was correct to revert it. Closing this bug.

Changed in inkscape:
assignee: nobody → johanengelen
status: Confirmed → 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.