[win32] crash when adjusting color via gestures

Bug #443964 reported by user
38
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
High
Unassigned

Bug Description

When I use gesture-based color adjustment Inkscape crashes... with no messages and alerts.

gdb says:

Program received signal SIGSEGV, Segmentation fault.
0x63a62287 in g_type_check_instance ()
   from C:\inkscape\074p3\libgobject-2.0-0.dll
...

Program exited with code 030000000005.

Thanks.

tags: added: crash
su_v (suv-lp)
tags: added: color ui
Revision history for this message
su_v (suv-lp) wrote :

not reproduced with Inkscape 0.46+devel r22401 on OS X 10.5.8

Does it crash immediately when you drag the fill or stroke color swatch from the selected style indicator? If not can you list steps to reproduce?

Revision history for this message
user (me-at-mail) wrote :

It crashes after some adjustment. Not immediately.

Steps to rproduce:

1) open Inkscape
2) draw rectangle of any color
3) switch to selection tool (not necessary, but try this too)
4) set hue of fill two or three (rarely 5) times using gestures
5) crash

More frequently it crashes when I press mouse button to make adjustment or when I release it, but it happens during adjustment too.

How can I help on this?

Revision history for this message
su_v (suv-lp) wrote :

Do you get a backtrace in gdb on Windows? Using inkscapec.exe (described here: <https://bugs.edge.launchpad.net/inkscape/+bug/440183/comments/3>) won't reveal more information I think - since you already use gdb.

I tried again, following your steps several times in a row - no crash, only repeated console messages while dragging:
(inkscape-bin:27231): Gdk-CRITICAL **: gdk_cursor_unref: assertion `cursor->ref_count > 0' failed

Revision history for this message
user (me-at-mail) wrote :
Download full text (3.2 KiB)

Yes I use gdb on Windows. Inscapec.exe gives nothig.

All messages, captured by gdb:

Program received signal SIGSEGV, Segmentation fault.
0x63a62287 in g_type_check_instance ()
   from C:\inkscape\074p3\libgobject-2.0-0.dll
(gdb) next
Single stepping until exit from function g_type_check_instance,
which has no line number information.
0x7c90e480 in ntdll!LdrDisableThreadCalloutsForDll ()
   from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function ntdll!LdrDisableThreadCalloutsForDll,
which has no line number information.
0x7c92a970 in towlower () from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function towlower,
which has no line number information.
0x7c9033dc in ntdll!RtlCheckRegistryKey () from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function ntdll!RtlCheckRegistryKey,
which has no line number information.
0x7c92a99f in towlower () from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function towlower,
which has no line number information.
0x7c9033f8 in ntdll!RtlCheckRegistryKey () from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function ntdll!RtlCheckRegistryKey,
which has no line number information.
0x7c92a9a4 in towlower () from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function towlower,
which has no line number information.
0x7c901118 in ntdll!RtlUnhandledExceptionFilter ()
   from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function ntdll!RtlUnhandledExceptionFilter,
which has no line number information.
0x7c92aac7 in towlower () from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function towlower,
which has no line number information.
0x7c910339 in ntdll!RtlInitAnsiString () from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function ntdll!RtlInitAnsiString,
which has no line number information.
0x7c9102d9 in ntdll!RtlAppendStringToString ()
   from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function ntdll!RtlAppendStringToString,
which has no line number information.
0x7c90e8cb in strchr () from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function strchr,
which has no line number information.
0x7c9102e5 in ntdll!RtlAppendStringToString ()
   from C:\WINDOWS\system32\ntdll.dll
(gdb)
Single stepping until exit from function ntdll!RtlAppendStringToString,
which has no line number information.

Program received signal SIGSEGV, Segmentation fault.
0x63a62287 in g_type_check_instance ()
   from C:\inkscape\074p3\libgobject-2.0-0.dll
(gdb)
Single stepping until exit from function g_type_check_instance,
which has no line number information.

Program exited with code 030000000005.
(gdb)
The program is not being run.

That's all.

I have several Inkscape version on my windows PC (0.46 official relese, 0.46+devel r20539, 0.46+devel r21627, 0.46+devel 22040 and 0.47pre3). 0.46+devel 22040 and 0.47pre3 both have this issue but on 0.47pre3 the bug happens more frequently.

I know that when adjusting color via gestures mouse pointer should change (for hue it's something like (H+/-...

Read more...

Revision history for this message
user (me-at-mail) wrote :

I found somethig interesting. But I don't understand technical aspect on this.

I have tried launch Inkscape 0.47pre3 on Windows Vista SP1, Windows XP SP2, Windows XP SP3, in every OS the crash is reproducable.

But when I launch Inkscape on Vista via network (path starts with "\\COMPUTERNAME\share\...") and some libraries seems to be lost (two or three... gdb only says something like "library starting at address 0x03000000 is missing") I cannot reproduce the crash. No crash.

So strange.

Revision history for this message
su_v (suv-lp) wrote :

I tested with 0.47pre3 in case something was fixed since but get no crash, the cursor changes its symbols according to modifier key, and again the same Gdk-Critical warnings:
(inkscape-bin:27977): Gdk-CRITICAL **: gdk_cursor_unref: assertion `cursor->ref_count > 0' failed

we need another Windows and Linux user to confirm…

Revision history for this message
jazzynico (jazzynico) wrote :

Confirm on Windows XP sp3, Inkscape revision 22384.
Backtrace attached.

Changed in inkscape:
importance: Undecided → High
status: New → Confirmed
Revision history for this message
jazzynico (jazzynico) wrote :
Revision history for this message
user (me-at-mail) wrote :

On Windows XP SP2 I get this:

GLib-ERROR **: gmem.c:175: failed to allocate 8 bytes
aborting...

Revision history for this message
Jim Van Zandt (jrvz) wrote :

Confirm with 0.47 r22583 under Windows XP Professional version 2002 SP3

Revision history for this message
Preben S (prsodk) wrote :

Have a similar problem with r9772 on XP (also seen on some older revisions).

The error and traceback is a little different:

Program received signal SIGILL, Illegal instruction.
0x61868dd2 in _gtk_marshal_BOOLEAN__BOXED () from C:\src\inkscape\repo\trunk\inkscape\libgtk-win32-2.0-0.dll
(gdb) bt
#0 0x61868dd2 in _gtk_marshal_BOOLEAN__BOXED () from C:\src\inkscape\repo\trunk\inkscape\libgtk-win32-2.0-0.dll
#1 0x63a57879 in signal_emit_unlocked_R () from C:\src\inkscape\repo\trunk\inkscape\libgobject-2.0-0.dll
#2 0x63a5892b in g_signal_emit_valist () from C:\src\inkscape\repo\trunk\inkscape\libgobject-2.0-0.dll
#3 0x63a58fc6 in g_signal_emit () from C:\src\inkscape\repo\trunk\inkscape\libgobject-2.0-0.dll
#4 0x61985ec1 in gtk_widget_event_internal () from C:\src\inkscape\repo\trunk\inkscape\libgtk-win32-2.0-0.dll
#5 0x618623b4 in gtk_main_do_event () from C:\src\inkscape\repo\trunk\inkscape\libgtk-win32-2.0-0.dll
#6 0x6c35c271 in gdk_window_process_updates_internal () from C:\src\inkscape\repo\trunk\inkscape\libgdk-win32-2.0-0.dll
#7 0x6c35cbe8 in gdk_window_process_all_updates () from C:\src\inkscape\repo\trunk\inkscape\libgdk-win32-2.0-0.dll
#8 0x6c35cc0b in gdk_window_update_idle () from C:\src\inkscape\repo\trunk\inkscape\libgdk-win32-2.0-0.dll
#9 0x6c34150d in gdk_threads_dispatch () from C:\src\inkscape\repo\trunk\inkscape\libgdk-win32-2.0-0.dll
#10 0x685eb50b in g_main_context_dispatch () from C:\src\inkscape\repo\trunk\inkscape\libglib-2.0-0.dll
#11 0x685ee5f5 in g_main_context_iterate () from C:\src\inkscape\repo\trunk\inkscape\libglib-2.0-0.dll
#12 0x685ee9e4 in g_main_loop_run () from C:\src\inkscape\repo\trunk\inkscape\libglib-2.0-0.dll
#13 0x618625dc in gtk_main () from C:\src\inkscape\repo\trunk\inkscape\libgtk-win32-2.0-0.dll
#14 0x013b3c3f in Gtk::Main::run () from C:\src\inkscape\repo\trunk\inkscape\libgtkmm-2.4-1.dll
#15 0x004063f0 in sp_main_gui ()
#16 0x0042b832 in Inkscape::NSApplication::Application::run ()
#17 0x00403109 in main ()

Revision history for this message
Preben S (prsodk) wrote :
Download full text (3.3 KiB)

And in next try, I got this:

Program received signal SIGSEGV, Segmentation fault.
0x63a5b433 in g_type_check_instance () from C:\src\inkscape\repo\trunk\inkscape\libgobject-2.0-0.dll
(gdb) bt
#0 0x63a5b433 in g_type_check_instance () from C:\src\inkscape\repo\trunk\inkscape\libgobject-2.0-0.dll
#1 0x63a5958d in g_signal_handlers_disconnect_matched () from C:\src\inkscape\repo\trunk\inkscape\libgobject-2.0-0.dll
#2 0x619f3e64 in gtk_tooltips_destroy_data () from C:\src\inkscape\repo\trunk\inkscape\libgtk-win32-2.0-0.dll
#3 0x685dcfa9 in g_hash_table_insert_internal () from C:\src\inkscape\repo\trunk\inkscape\libglib-2.0-0.dll
#4 0x619f3a12 in gtk_tooltips_set_tip () from C:\src\inkscape\repo\trunk\inkscape\libgtk-win32-2.0-0.dll
#5 0x0141f577 in Gtk::Tooltips::set_tip () from C:\src\inkscape\repo\trunk\inkscape\libgtkmm-2.4-1.dll
#6 0x00af4564 in Inkscape::UI::Widget::StyleSwatch::setStyle ()
#7 0x00af4f56 in Inkscape::UI::Widget::StyleSwatch::setStyle ()
#8 0x00d3061d in Inkscape::UI::Widget::StyleSwatch::StyleObserver::notify ()
#9 0x00478c98 in Inkscape::Preferences::PrefNodeObserver::notifyAttributeChanged ()
#10 0x009e110c in Inkscape::XML::CompositeNodeObserver::notifyAttributeChanged ()
#11 0x0062ab72 in Inkscape::XML::SimpleNode::setAttribute ()
#12 0x00476e26 in Inkscape::Preferences::_setRawValue ()
#13 0x00479cd3 in Inkscape::Preferences::mergeStyle ()
#14 0x00565ab7 in sp_desktop_set_style ()
#15 0x00932c76 in Inkscape::UI::Widget::RotateableSwatch::color_adjust ()
#16 0x00933234 in Inkscape::UI::Widget::RotateableSwatch::do_motion ()
#17 0x00b2fabf in Inkscape::UI::Widget::Rotateable::on_motion ()
#18 0x0143e952 in (anonymous namespace)::Widget_signal_motion_notify_event_callback () from C:\src\inkscape\repo\trunk\inkscape\libgtkmm-2.4-1.dll
#19 0x61868e63 in _gtk_marshal_BOOLEAN__BOXED () from C:\src\inkscape\repo\trunk\inkscape\libgtk-win32-2.0-0.dll
#20 0x63a44124 in g_closure_invoke () from C:\src\inkscape\repo\trunk\inkscape\libgobject-2.0-0.dll
#21 0x63a57c7a in signal_emit_unlocked_R () from C:\src\inkscape\repo\trunk\inkscape\libgobject-2.0-0.dll
#22 0x63a5892b in g_signal_emit_valist () from C:\src\inkscape\repo\trunk\inkscape\libgobject-2.0-0.dll
#23 0x63a58fc6 in g_signal_emit () from C:\src\inkscape\repo\trunk\inkscape\libgobject-2.0-0.dll
#24 0x61985ec1 in gtk_widget_event_internal () from C:\src\inkscape\repo\trunk\inkscape\libgtk-win32-2.0-0.dll
#25 0x61860e82 in gtk_propagate_event () from C:\src\inkscape\repo\trunk\inkscape\libgtk-win32-2.0-0.dll
#26 0x61861fec in gtk_main_do_event () from C:\src\inkscape\repo\trunk\inkscape\libgtk-win32-2.0-0.dll
#27 0x6c37014a in gdk_event_dispatch () from C:\src\inkscape\repo\trunk\inkscape\libgdk-win32-2.0-0.dll
#28 0x685eb50b in g_main_context_dispatch () from C:\src\inkscape\repo\trunk\inkscape\libglib-2.0-0.dll
#29 0x685ee5f5 in g_main_context_iterate () from C:\src\inkscape\repo\trunk\inkscape\libglib-2.0-0.dll
#30 0x685ee9e4 in g_main_loop_run () from C:\src\inkscape\repo\trunk\inkscape\libglib-2.0-0.dll
#31 0x618625dc in gtk_main () from C:\src\inkscape\repo\trunk\inkscape\libgtk-win32-2.0-0.dll
#32 0x013b3c3f in Gtk::Main::run () from C:\src\inkscape\repo\tru...

Read more...

su_v (suv-lp)
tags: added: win32
summary: - 0.47pre3 win32 crash when adjusting color via gestures
+ [win32] crash when adjusting color via gestures
Revision history for this message
Johan Engelen (johanengelen) wrote :

Do people actually see the status messages about how much the hue/saturation/.. is adjusted? For me it gets overwritten instantly with the current tool's status message about pressing shift or ctrl.

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

The attached path "disable_status_messages.patch" disables the messages in the statusbar when gesturing. It is a lot harder to reproduce the crashes when this patch is applied, or is it just me ?

Revision history for this message
jazzynico (jazzynico) wrote :

More precise steps (should crash almost instantly) to reproduce the bug on Windows XP, Inkscape 0.47 and 0.48:
1. Draw a shape with any color.
2. Use mouse gesture to set the light to 0 (with Ctrl+Mouse).
3. Use mouse gesture again to modify hue or saturation.
4. Crash!

And now good news: Inkscape doesn't crash anymore with Inkscape 0.48.2 and the trunk (both use updated devlibs).
Thus I'm going to close the report fixed. Don't hesitate to reopen it if you run into the same issue again.

Changed in inkscape:
milestone: none → 0.48.2
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.