Inkscape.org
Beyond the Basics Somehow after using Inkscape for half an hour I managed to get myself into a situation...
  1. #1
    Nicole Nicole @Milx

    ...where clicking three specific paths in this file crashes Inkscape, immediately, every time. I was going to file a bug, but the bug report directions say that if I'm new to the program I should try the forums first, and I'm a good egg, so here I am, asking if I should be reporting an issue.

    I'm trying to vectorize something I drew on another program. About half an hour into learning how to use the program, I hadn't saved yet and was trying to tinker with a taper effect on a somewhat small path. The program suddenly crashed with a message like "Inkscape has encountered a fatal error" with no other detail, so I opened the autosave and immediately saved it as a real save. I've attached a screenshot of what that autosave looks like; I had a few more paths after the autosave, but I lost them, which is fine. But now, when I click almost any of the paths in the project that have a path effect applied, whether in the layer view or directly on the image, the app immediately crashes with the following error message:

     

    <pre>
     0# boost::stacktrace::basic_stacktrace<std::allocator<boost::stacktrace::frame> >::init(unsigned long long, unsigned long long) in libinkscape_base
     1# Inkscape::Application::crash_handler(int) in libinkscape_base
     2# 0x00007FF6E73221B2 in inkscape
     3# _C_specific_handler in ntdll
     4# _chkstk in ntdll
     5# _RtlFindCharInUnicodeString in ntdll
     6# _KiUserExceptionDispatcher in ntdll
     7# Glib::ustring::compare(Glib::ustring const&) const in libglibmm_2_4_1
     8# Inkscape::LivePathEffect::LPETaperStroke::doBeforeEffect(SPLPEItem const*) in libinkscape_base
     9# Inkscape::LivePathEffect::Effect::doBeforeEffect_impl(SPLPEItem const*) in libinkscape_base
    10# SPLPEItem::performOnePathEffect(SPCurve*, SPShape*, Inkscape::LivePathEffect::Effect*, bool) in libinkscape_base
    11# SPLPEItem::performPathEffect(SPCurve*, SPShape*, bool) in libinkscape_base
    12# SPShape::update_patheffect(bool) in libinkscape_base
    13# SPLPEItem::update_satellites(bool) in libinkscape_base
    14# Inkscape::SelTrans::_selChanged(Inkscape::Selection*) in libinkscape_base
    15# Inkscape::Selection::_emitChanged(bool) in libinkscape_base
    16# Inkscape::UI::Tools::SelectTool::root_handler(_GdkEvent*) in libinkscape_base
    17# Inkscape::UI::Tools::ToolBase::tool_root_handler(_GdkEvent*) in libinkscape_base
    18# sp_desktop_query_style(SPDesktop*, SPStyle*, int) in libinkscape_base
    19# Inkscape::CanvasItemDrawing::handle_event(_GdkEvent*) in libinkscape_base
    20# Inkscape::UI::Widget::CanvasPrivate::emit_event(_GdkEvent const*) in libinkscape_base
    21# Inkscape::UI::Widget::CanvasPrivate::process_event(_GdkEvent const*) in libinkscape_base
    22# Gtk::Widget_Class::button_release_event_callback(_GtkWidget*, _GdkEventButton*) in libgtkmm_3_0_1
    23# 0x00007FFCC4972F94 in libgtk_3_0
    24# _g_closure_invoke in libgobject_2_0_0
    25# _g_signal_emit_valist in libgobject_2_0_0
    26# _g_signal_emit in libgobject_2_0_0
    27# _gtk_requisition_copy in libgtk_3_0
    28# _gtk_lock_button_set_permission in libgtk_3_0
    29# _gtk_main_do_event in libgtk_3_0
    30# _gdk_event_free in libgdk_3_0
    31# _gdk_win32_drag_context_get_type in libgdk_3_0
    32# _g_clear_list in libglib_2_0_0
    33# _g_main_context_check in libglib_2_0_0
    34# _g_main_context_iteration in libglib_2_0_0
    35# _g_application_run in libgio_2_0_0
    36# 0x00007FF6E73237BB in inkscape
    37# 0x00007FF6E73212EE in inkscape
    38# 0x00007FF6E73213E6 in inkscape
    39# _BaseThreadInitThunk in KERNEL32
    40# _RtlUserThreadStart in ntdll
    </pre>
    <details><summary>System info</summary>
    Inkscape 1.3 (0e150ed6c4, 2023-07-21)
    
        GLib version:     2.76.4
        GTK version:      3.24.38
        glibmm version:   2.66.6
        gtkmm version:    3.24.7
        libxml2 version:  2.11.4
        libxslt version:  1.1.38
        Cairo version:    1.17.7
        Pango version:    1.50.14
        HarfBuzz version: 8.0.1
    
        OS version:       Windows 11 23H2
    </details>

     

    I've also attached the SVG itself, which includes my original image pasted in and the few paths I've made so far. I'm a programmer that has to work with SVGs occasionally so I was able to mess around in the SVG code itself and removing the `inkscape:path-effect` properties from these paths preserved the paths (more or less, had to restart on the fills and strokes and tapers). So then I started digging into the path effects to figure out why the one is working just fine, but the others are broken. `path2` is the only path with a taper effect that's not crashing when I click it, which is path-effect6 in my SVG. There are only two differences between path effect 6 and the other effects. The first difference is that it doesn't have either a start_shape or an end_shape, while path effect 6 has "center" for both those. The other difference is that all the widths are set to `stroke_width="1.0650001"`, except for 6, which has a width of 1. Since the error says something about an unsigned long, I tried changing the widths all to match in case that .0000001 was causing a floating point error, but that didn't work. So I changed the other value, the start_shape and end_shape, to say "center" and yay! File fixed! I still lost the work from the original crash, and I have NO idea why this happened or how to prevent it in the future, but the autosave is successful and everything seems to be as it should be.

    ...I didn't have this fix when I started writing this forum post so now it seems like a waste since I'm not sure I have a question anymore. But I've spent so much time digging into this issue that I want to put this into the world somewhere.

    Vector
    Screenshot 2025 06 28 004114
  2. #2
    Tyler Durden Tyler Durden @TylerDurden

    I was surprised to see how few nodes are in the work. Usually autotraced files that have issues are node-heavy. Auto tracing can also lead to oddities like single node paths that confuse Inkscape, or nodes that are close together and the joining segment extends miles away.

    Congratulations on recovering the work. 👏

  3. #3
    Nicole Nicole @Milx

    Lmao having my "here's what happened half an hour into the program" topic moved into Beyond the Basics is a little bit of an ego boost.

     

    I didn't want to use auto tracing, I'm trying to painstakingly recreate every line manually so I can use the base to edit for different expressions later. It's a real learning curve. My boyfriend showed me on illustrator how easy it is to change the shape and taper of the path to even custom widths at different parts of the path, is that possible on Inkscape? All I could find was the taper effect, which is a little limited in comparison.

  4. #4
    Tyler Durden Tyler Durden @TylerDurden

    Totally doable in Inkscape, especially when using a tablet. https://wiki.inkscape.org/wiki/index.php/Release_notes/1.0#PowerPencil

     

  5. #5
    Tyler Durden Tyler Durden @TylerDurden
    *

    PS:

    https://wiki.inkscape.org/wiki/Release_notes/0.91#PowerStroke (Old, but relevant)

    In use: https://youtu.be/g8YoErt_K-I?t=383

    https://www.youtube.com/watch?v=LarlNUhLI8M

     


    The Power Stroke LPE now supports paths with multiple sub-paths
    https://wiki.inkscape.org/wiki/Release_notes/1.3#Power_Stroke_LPE

     

     

Inkscape Inkscape.org Inkscape Forum Beyond the Basics Somehow after using Inkscape for half an hour I managed to get myself into a situation...