[go: up one dir, main page]

GError when moving/editing with LPE

Summary:

Inkscape crashes whenever I drag this SVG

Steps to reproduce:

  • open Inkscape
  • drag this svg
  • crash

What happened?

inkscape crashed with SIGTRAP

Backtrace
** (org.inkscape.Inkscape:355232): ERROR **: 15:21:32.941: sp_svg_write_polygon: polygon path contains non-straight line segments

Thread 1 "inkscape-stable" received signal SIGTRAP, Trace/breakpoint trap.
Downloading 108.69 K source file /usr/src/debug/glib2-2.82.5-1.fc41.x86_64/redhat-linux-build/../glib/gmessages.c
g_log_structured_array (log_level=<optimized out>, fields=0x7fffffffb8b0, n_fields=3) at ../glib/gmessages.c:426                                                
426	   G_BREAKPOINT ();
(gdb) bt
#0  g_log_structured_array (log_level=<optimized out>, fields=0x7fffffffb8b0, n_fields=3) at ../glib/gmessages.c:426
#1  0x00007ffff5500197 in g_log_default_handler
    (log_domain=log_domain@entry=0x0, log_level=log_level@entry=6, message=message@entry=0x7ffff77c2080 "sp_svg_write_polygon: polygon path contains non-straight line segments", unused_data=unused_data@entry=0x0) at ../glib/gmessages.c:3412
#2  0x00007ffff54f6f69 in g_logv (log_domain=0x0, log_level=G_LOG_LEVEL_ERROR, format=<optimized out>, args=args@entry=0x7fffffffba10)
    at ../glib/gmessages.c:1246
#3  0x00007ffff54f72e3 in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at ../glib/gmessages.c:1315
#4  0x00007ffff619ff9c in sp_svg_write_polygon (pathv=<optimized out>) at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/object/sp-polygon.cpp:61
#5  0x00007ffff61a010d in SPPolygon::write (this=0x8d9cc0, xml_doc=0x7fffe6fd6748, repr=0x7fffe6fef8e8, flags=2)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/object/sp-polygon.cpp:81
#6  0x00007ffff6190db8 in SPObject::updateRepr (this=this@entry=0x8d9cc0, doc=0x7fffe6fd6748, repr=<optimized out>, 
    repr@entry=0x7fffe6fef8e8, flags=flags@entry=2) at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/object/sp-object.cpp:1395
#7  0x00007ffff6190e29 in SPObject::updateRepr (this=this@entry=0x8d9cc0, flags=flags@entry=2)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/object/sp-object.cpp:1353
#8  0x00007ffff6156035 in SPGroup::write (this=0xb23100, xml_doc=0x7fffe6fd6748, repr=0x7fffe6fefa08, flags=2)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/object/sp-item-group.cpp:244
#9  0x00007ffff6190db8 in SPObject::updateRepr (this=this@entry=0xb23100, doc=0x7fffe6fd6748, repr=<optimized out>, 
    repr@entry=0x7fffe6fefa08, flags=flags@entry=2) at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/object/sp-object.cpp:1395
#10 0x00007ffff6190e29 in SPObject::updateRepr (this=this@entry=0xb23100, flags=flags@entry=2)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/object/sp-object.cpp:1353
#11 0x00007ffff6156035 in SPGroup::write (this=0xe63cc0, xml_doc=0x7fffe6fd6748, repr=0x7fffe6fefb28, flags=2)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/object/sp-item-group.cpp:244
#12 0x00007ffff6190db8 in SPObject::updateRepr (this=this@entry=0xe63cc0, doc=0x7fffe6fd6748, repr=<optimized out>, 
    repr@entry=0x7fffe6fefb28, flags=flags@entry=2) at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/object/sp-object.cpp:1395
#13 0x00007ffff6190e29 in SPObject::updateRepr (this=this@entry=0xe63cc0, flags=flags@entry=2)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/object/sp-object.cpp:1353
#14 0x00007ffff615ea85 in SPItem::doWriteTransform (this=this@entry=0xe63cc0, transform=..., adv=adv@entry=0x0, compensate=compensate@entry=true)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/object/sp-item.cpp:1750
#15 0x00007ffff67895b7 in Inkscape::ObjectSet::applyAffine
    (this=this@entry=0x17ac610, affine=..., set_i2d=false, compensate=compensate@entry=true, adjust_transf_center=adjust_transf_center@entry=true)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/selection-chemistry.cpp:1836
#16 0x00007ffff67a633f in Inkscape::SelTrans::ungrab (this=0x20359c0) at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/seltrans.cpp:451
#17 0x00007ffff6350a3e in operator() (__closure=__closure@entry=0x7fffffffc780, event=...)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/ui/tools/select-tool.cpp:595
#18 0x00007ffff635210f in Inkscape::inspect_event<const Inkscape::CanvasEvent&, Inkscape::UI::Tools::SelectTool::root_handler(const Inkscape::CanvasEvent&)::<lambda(const Inkscape::ButtonPressEvent&)>, Inkscape::UI::Tools::SelectTool::root_handler(const Inkscape::CanvasEvent&)::<lambda(const Inkscape::MotionEvent&)>, Inkscape::UI::Tools::SelectTool::root_handler(const Inkscape::CanvasEvent&)::<lambda(const Inkscape::ButtonReleaseEvent&)>, Inkscape::UI::Tools::SelectTool::root_handler(const Inkscape::CanvasEvent&)::<lambda(const Inkscape::ScrollEvent&)>, Inkscape::UI::Tools::SelectTool::root_handler(const Inkscape::CanvasEvent&)::<lambda(const Inkscape::KeyPressEvent&)>, Inkscape::UI::Tools::SelectTool::root_handler(const Inkscape::CanvasEvent&)::<lambda(const Inkscape::KeyReleaseEvent&)>, Inkscape::UI::Tools::SelectTool::root_handler(const Inkscape::CanvasEvent&)::<lambda(const Inkscape::CanvasEvent&)> >(const Inkscape::CanvasEvent &)
    (event=...) at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/ui/widget/events/canvas-event.h:315
#19 0x00007ffff635245c in Inkscape::UI::Tools::SelectTool::root_handler (this=0x1790ea0, event=...)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/ui/tools/select-tool.cpp:417
--Type <RET> for more, q to quit, c to continue without paging--c
#20 0x00007ffff6373ae9 in Inkscape::UI::Tools::ToolBase::tool_root_handler (this=this@entry=0x1790ea0, event=...)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/ui/tools/tool-base.cpp:1268
#21 0x00007ffff6373b3d in Inkscape::UI::Tools::ToolBase::virtual_item_handler (this=this@entry=0x1790ea0, item=item@entry=0xe63cc0, event=...)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/ui/tools/tool-base.cpp:1301
#22 0x00007ffff6373f06 in Inkscape::UI::Tools::ToolBase::start_item_handler (this=this@entry=0x1790ea0, item=0xe63cc0, event=...)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/ui/tools/tool-base.cpp:1283
#23 0x00007ffff671d163 in _drawing_handler (event=..., drawing_item=0x159fc70, desktop=<optimized out>)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/desktop.cpp:1434
#24 0x00007ffff6721a60 in sigc::pointer_functor3<Inkscape::CanvasEvent const&, Inkscape::DrawingItem*, SPDesktop*, bool>::operator()
    (this=<optimized out>, _A_a1=<optimized out>, _A_a2=<optimized out>, _A_a3=<optimized out>) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:185
#25 sigc::adaptor_functor<sigc::pointer_functor3<Inkscape::CanvasEvent const&, Inkscape::DrawingItem*, SPDesktop*, bool> >::operator()<Inkscape::CanvasEvent const&, Inkscape::DrawingItem* const&, SPDesktop*&> (this=<optimized out>, _A_arg1=<optimized out>, _A_arg2=<optimized out>, _A_arg3=<optimized out>)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:128
#26 sigc::bind_functor<-1, bool (*)(Inkscape::CanvasEvent const&, Inkscape::DrawingItem*, SPDesktop*), SPDesktop*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()<Inkscape::CanvasEvent const&, Inkscape::DrawingItem* const&>
    (this=<optimized out>, _A_arg1=<optimized out>, _A_arg2=<optimized out>) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1158
#27 sigc::internal::slot_call<sigc::bind_functor<-1, bool (*)(Inkscape::CanvasEvent const&, Inkscape::DrawingItem*, SPDesktop*), SPDesktop*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, bool, Inkscape::CanvasEvent const&, Inkscape::DrawingItem*>::call_it
    (rep=<optimized out>, a_#0=<optimized out>, a_#1=<optimized out>) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:451
#28 0x00007ffff5f08b1a in sigc::internal::signal_emit2<bool, Inkscape::CanvasEvent const&, Inkscape::DrawingItem*, sigc::nil>::emit
    (impl=0x14e7530, _A_a1=..., _A_a2=@0x1d46c98: 0x159fc70) at /usr/include/sigc++-2.0/sigc++/signal.h:1201
#29 0x00007ffff5f08677 in sigc::signal2<bool, Inkscape::CanvasEvent const&, Inkscape::DrawingItem*, sigc::nil>::emit
    (this=<optimized out>, _A_a1=<optimized out>, _A_a2=<optimized out>) at /usr/include/sigc++-2.0/sigc++/signal.h:3119
#30 operator() (__closure=__closure@entry=0x7fffffffcb10, event=<optimized out>)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/display/control/canvas-item-drawing.cpp:188
#31 0x00007ffff5f087c8 in Inkscape::inspect_event<const Inkscape::CanvasEvent&, Inkscape::CanvasItemDrawing::handle_event(const Inkscape::CanvasEvent&)::<lambda(const Inkscape::EnterEvent&)>, Inkscape::CanvasItemDrawing::handle_event(const Inkscape::CanvasEvent&)::<lambda(const Inkscape::LeaveEvent&)>, Inkscape::CanvasItemDrawing::handle_event(const Inkscape::CanvasEvent&)::<lambda(const Inkscape::MotionEvent&)>, Inkscape::CanvasItemDrawing::handle_event(const Inkscape::CanvasEvent&)::<lambda(const Inkscape::ScrollEvent&)>, Inkscape::CanvasItemDrawing::handle_event(const Inkscape::CanvasEvent&)::<lambda(const Inkscape::CanvasEvent&)> >(const Inkscape::CanvasEvent &) (event=...) at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/ui/widget/events/canvas-event.h:315
#32 0x00007ffff5f08867 in Inkscape::CanvasItemDrawing::handle_event (this=<optimized out>, event=<optimized out>)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/display/control/canvas-item-drawing.cpp:126
#33 0x00007ffff6599cf8 in Inkscape::UI::Widget::CanvasPrivate::emit_event (this=this@entry=0x1d4bf10, event=...)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/ui/widget/canvas.cpp:1424
#34 0x00007ffff659a5f6 in Inkscape::UI::Widget::CanvasPrivate::process_event (this=this@entry=0x1d4bf10, event=...)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/ui/widget/canvas.cpp:1203
#35 0x00007ffff659aee2 in Inkscape::UI::Widget::Canvas::on_button_release_event (this=<optimized out>, gdkevent=0x51e4480)
    at /home/krir17/Programs/inkscape_code/inkscape-dev/stable/src/ui/widget/canvas.cpp:1004
#36 0x00007ffff493ef51 in Gtk::Widget_Class::button_release_event_callback (self=0x1d4be50, p0=0x51e4480) at ../untracked/gtk/gtkmm/widget.cc:4291
#41 0x00007ffff5c8f733 in <emit signal '???' on instance ???> (instance=instance@entry=0x1d4be50, signal_id=<optimized out>, detail=detail@entry=0)
    at ../gobject/gsignal.c:3582
    #37 0x00007ffff3c888d9 in _gtk_marshal_BOOLEAN__BOXEDv
    (closure=0x4e6430, return_value=0x7fffffffcee0, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x4df780) at gtk/gtkmarshalers.c:130
    #38 0x00007ffff5c8f55c in _g_closure_invoke_va
    (closure=0x4e6430, return_value=0x7fffffffcee0, instance=0x1d4be50, args=0x7fffffffcfd0, n_params=1, param_types=0x4df780) at ../gobject/gclosure.c:896
    #39 signal_emit_valist_unlocked
    (instance=instance@entry=0x1d4be50, signal_id=signal_id@entry=90, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffcfd0)
    at ../gobject/gsignal.c:3423
    #40 0x00007ffff5c8f671 in g_signal_emit_valist (instance=0x1d4be50, signal_id=90, detail=0, var_args=var_args@entry=0x7fffffffcfd0)
    at ../gobject/gsignal.c:3262
#42 0x00007ffff3f5fe3c in gtk_widget_event_internal.part.0.lto_priv.0 (widget=0x1d4be50, event=0x51e4480) at ../gtk/gtkwidget.c:7812
#43 0x00007ffff3df4328 in propagate_event_up (widget=0x1d4be50, event=<optimized out>, topmost=<optimized out>) at ../gtk/gtkmain.c:2588
#44 propagate_event (widget=<optimized out>, event=0x51e4480, captured=<optimized out>, topmost=0x0) at ../gtk/gtkmain.c:2691
#45 0x00007ffff3df50aa in gtk_main_do_event (event=<optimized out>) at ../gtk/gtkmain.c:1921
#46 gtk_main_do_event (event=<optimized out>) at ../gtk/gtkmain.c:1691
#47 0x00007ffff4492807 in _gdk_event_emit (event=0x51e4480) at ../gdk/gdkevents.c:73
#48 _gdk_event_emit (event=0x51e4480) at ../gdk/gdkevents.c:67
#49 0x00007ffff44cc2ae in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>)
    at ../gdk/wayland/gdkeventsource.c:124
#50 0x00007ffff54f128c in g_main_dispatch (context=0x47cf60) at ../glib/gmain.c:3357
#51 g_main_context_dispatch_unlocked (context=0x47cf60) at ../glib/gmain.c:4208
#52 0x00007ffff55518b8 in g_main_context_iterate_unlocked.isra.0
    (context=context@entry=0x47cf60, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4273
#53 0x00007ffff54f2783 in g_main_context_iteration (context=context@entry=0x47cf60, may_block=may_block@entry=1) at ../glib/gmain.c:4338
#54 0x00007ffff3ae0e0d in g_application_run (application=0x5f2cd0, argc=<optimized out>, argv=0x459400) at ../gio/gapplication.c:2715
#55 0x0000000000401e63 in main (argc=<optimized out>, argv=<optimized out>) at /usr/include/glibmm-2.4/glibmm/refptr.h:405

What should have happened?

inkscape should not have crashed

Sample attachments:

Cmake.svg

Reproduction Video

2025-05-23_22-18-21

Version info


Inkscape 1.4 (e7c3feb100, 2024-10-09)

                      Compile  (Run)
    GLib version:     2.82.1
    GTK version:      3.24.43 (3.24.43)
    glibmm version:   2.66.7
    gtkmm version:    3.24.9
    libxml2 version:  2.13.6
    libxslt version:  1.1.42
    Cairo version:    1.18.2 (1.18.2)
    Pango version:    1.54.0 (1.54.0)
    HarfBuzz version: 10.0.1 (10.0.1)

    OS version:       NixOS 24.11 (Vicuna)
Edited by KrIr17