...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.
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.
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.
...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:
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.
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. 👏
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.
Totally doable in Inkscape, especially when using a tablet. https://wiki.inkscape.org/wiki/index.php/Release_notes/1.0#PowerPencil
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