After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 774715 - Segfault when doing layer arbitrary rotation with wacom tablet
Segfault when doing layer arbitrary rotation with wacom tablet
Status: RESOLVED DUPLICATE of bug 784480
Product: GIMP
Classification: Other
Component: General
git master
Other Linux
: Normal critical
: ---
Assigned To: GIMP Bugs
GIMP Bugs
Depends on:
Blocks:
 
 
Reported: 2016-11-19 13:26 UTC by Will F.
Modified: 2018-01-14 15:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
devicerc (23.90 KB, text/plain)
2016-11-24 22:34 UTC, Will F.
Details

Description Will F. 2016-11-19 13:26:48 UTC
GIMP git master, Linux. When doing arbitrary rotation on a layer, using a wacom tablet, GIMP segfaults at the moment of clicking the 'rotate' button. It does not happen when using a mouse.

The backtrace, not sure if meaningful:

  • #0 __waitpid
  • #1 g_on_error_stack_trace
  • #2 g_on_error_query
  • #3 gimp_eek
  • #4 gimp_fatal_error
  • #5 gimp_sigfatal_handler
  • #6 <signal handler called>
  • #7 ??
  • #8 gdk_device_get_state
  • #9 gimp_device_info_get_device_coords
  • #10 gimp_device_info_get_event_coords
  • #11 gimp_display_shell_get_event_coords
  • #12 gimp_display_shell_canvas_tool_events
  • #13 ??
  • #14 g_closure_invoke
  • #15 ??
  • #16 g_signal_emit_valist
  • #17 g_signal_emit
  • #18 ??
  • #19 gtk_widget_send_focus_change
  • #20 ??
  • #21 ??
  • #22 g_closure_invoke
  • #23 ??
  • #24 g_signal_emit_valist
  • #25 g_signal_emit
  • #26 g_closure_invoke
  • #27 ??
  • #28 g_signal_emit_valist
  • #29 g_signal_emit
  • #30 gtk_widget_grab_focus
  • #31 ??
  • #32 ??
  • #33 g_closure_invoke
  • #34 ??
  • #35 g_signal_emit_valist
  • #36 g_signal_emit
  • #37 ??
  • #38 gtk_propagate_event
  • #39 gtk_main_do_event
  • #40 ??
  • #41 g_main_context_dispatch
  • #42 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #43 g_main_loop_run
  • #44 app_run
  • #45 main

Comment 1 Jehan 2016-11-23 22:58:21 UTC
Hi,

Thanks for reporting this crash.

I just tested with a Wacom Bamboo (an old version) on a Linux 64 bit and could not reproduce the crash. Can you still reproduce with updated babl/GEGL/GIMP repositories? Does it happen every time?
If so, could you give us accurate reproduction steps please?
Thanks.
Comment 2 Will F. 2016-11-24 08:29:53 UTC
I upgraded everything babl/gegl/gimp from git and the same thing happens. It does happen every time.


Here are my steps to reproduce:

-Have tablet plugged in before starting gimp, configured etc.
-Start gimp
-Open any image or start a new one, and from here on, use only tablet, not mouse
-Use the tablet to go Layer > Transform > Arbitrary rotation
-Rotate the layer
-Press 'Rotate'


Backtrace:

Thread 1 "gimp-2.9" received signal SIGSEGV, Segmentation fault.
0x00007ffff72c794f in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
(gdb) bt
  • #0 ??
    from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
  • #1 gdk_device_get_state
    from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
  • #2 gimp_device_info_get_device_coords
    at gimpdeviceinfo-coords.c line 133
  • #3 gimp_device_info_get_event_coords
    at gimpdeviceinfo-coords.c line 119
  • #4 gimp_display_shell_get_event_coords
    at gimpdisplayshell-tool-events.c line 1851
  • #5 gimp_display_shell_canvas_tool_events
    at gimpdisplayshell-tool-events.c line 374
  • #6 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #7 g_closure_invoke
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #8 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #9 g_signal_emit_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #10 g_signal_emit
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #11 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #12 gtk_widget_send_focus_change
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #13 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #14 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #15 g_closure_invoke
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #16 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #17 g_signal_emit_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #18 g_signal_emit
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #19 g_closure_invoke
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #20 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #21 g_signal_emit_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #22 g_signal_emit
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #23 gtk_widget_grab_focus
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #24 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #25 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #26 g_closure_invoke
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #27 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #28 g_signal_emit_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #29 g_signal_emit
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #30 ??
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #31 gtk_propagate_event
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #32 gtk_main_do_event
    from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
  • #33 ??
    from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
  • #34 g_main_context_dispatch
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #35 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #36 g_main_loop_run
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #37 app_run
    at app.c line 307
  • #38 main
    at main.c line 551

Comment 3 Will F. 2016-11-24 08:31:05 UTC
And this is on Debian testing.
Comment 4 Jehan 2016-11-24 19:24:12 UTC
Ok. I still can't reproduce.

The trace is quite similar to the one in bug 733159. They both crash on the same line (gdk_device_get_state() call inside gimp_device_info_get_device_coords()). So that may be a Gdk bug.

Which GTK+ version are you on?
Comment 5 Michael Natterer 2016-11-24 20:44:12 UTC
I think this is the problem where we mis-assign GimpDeviceInfo
to GdkDevice, and finally a user who can help debugging :)

Can you please attach:

1. your devicerc from .config/GIMP/2.9
2. the output of "xinput list" with your tablet plugged
Comment 6 Will F. 2016-11-24 22:34:08 UTC
Created attachment 340720 [details]
devicerc
Comment 7 Will F. 2016-11-24 22:38:45 UTC
gtk+ version is 2.24.31-1 on debian.

devicerc is attached above.

And here is the xinput output:

⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech M570                           	id=8	[slave  pointer  (2)]
⎜   ↳ Logitech K270                           	id=9	[slave  pointer  (2)]
⎜   ↳ Wacom Intuos S Pen stylus               	id=11	[slave  pointer  (2)]
⎜   ↳ Wacom Intuos S Pen eraser               	id=12	[slave  pointer  (2)]
⎜   ↳ Wacom Intuos S Pad pad                  	id=13	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=7	[slave  keyboard (3)]
    ↳ Logitech K270                           	id=10	[slave  keyboard (3)]
Comment 8 Michael Natterer 2018-01-07 12:36:46 UTC
The newer bug 784480 suggests this depends on rulers being visible
or not. Will, can you check this please?
Comment 9 Will F. 2018-01-08 04:17:45 UTC
(In reply to Michael Natterer from comment #8)
> The newer bug 784480 suggests this depends on rulers being visible
> or not. Will, can you check this please?

This does appear to be the case, after a few tests. The crash happens when rulers are not visible.
Comment 10 Michael Natterer 2018-01-14 15:43:41 UTC
Ok thanks, let's resolve as duplicate of the newer bug which
figured the ruler dependency.

*** This bug has been marked as a duplicate of bug 784480 ***