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 98308 - freeze and segfault when drawing from inside to outside window with pen tablet
freeze and segfault when drawing from inside to outside window with pen tablet
Status: RESOLVED FIXED
Product: GIMP
Classification: Other
Component: User Interface
git master
Other other
: Normal normal
: ---
Assigned To: GIMP Bugs
GIMP Bugs
Depends on:
Blocks:
 
 
Reported: 2002-11-12 11:08 UTC by Jim Meier
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jim Meier 2002-11-12 11:08:53 UTC
gimp cvs as of nov 12
wm is metacity 2.4.1 (debian)
wacom intuos pen

Does not occur when using mouse to draw.

freeze:
1. create new image of medium size (should fit entirely on screen)
2. ctrl-e (image is entirely within window bounds)
3. select paintbrush
4. drag a stroke with the pen from inside the image out to the desktop.

result: gimp freezes. 
I tried this with most of the drawing tools (including smudge and convolve)
and got the same result. Stack trace after hitting ctrl-c in gdb below.

segfault:
1. create a new image
2. ctrl-e, but then resize the window smaller than the image it is showing
3. select paintbrush
4. draw a stroke with the pen from inside the image off

result: segfault.
trace attached.

both traces end in mallopt in libc, every time i repeat them.



600x600
paintbrush
drag from on canvas to out of window with pen
(mouse works)
image fully visible

(from SIGINT)

  • #0 mallopt
    from /lib/libc.so.6
  • #1 mallopt
    from /lib/libc.so.6
  • #2 malloc
    from /lib/libc.so.6
  • #3 g_malloc
    from /usr/lib/libglib-2.0.so.0
  • #4 pango_get_mirror_char
    from /usr/lib/libpango-1.0.so.0
  • #5 pango_log2vis_get_embedding_levels
    from /usr/lib/libpango-1.0.so.0
  • #6 pango_itemize
    from /usr/lib/libpango-1.0.so.0
  • #7 pango_layout_get_pixel_size
    from /usr/lib/libpango-1.0.so.0
  • #8 pango_layout_get_cursor_pos
    from /usr/lib/libpango-1.0.so.0
  • #9 pango_layout_get_extents
    from /usr/lib/libpango-1.0.so.0
  • #10 gtk_vruler_new
    from /usr/lib/libgtk-x11-2.0.so.0
  • #11 gtk_ruler_draw_ticks
    from /usr/lib/libgtk-x11-2.0.so.0
  • #12 gtk_ruler_draw_pos
    from /usr/lib/libgtk-x11-2.0.so.0
  • #13 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #14 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #18 gtk_signal_emit
    from /usr/lib/libgtk-x11-2.0.so.0
  • #19 gtk_widget_send_expose
    from /usr/lib/libgtk-x11-2.0.so.0
  • #20 gtk_widget_send_expose
    from /usr/lib/libgtk-x11-2.0.so.0
  • #21 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #22 gdk_window_clear_area_e
    from /usr/lib/libgdk-x11-2.0.so.0
  • #23 gdk_window_process_all_updates
    from /usr/lib/libgdk-x11-2.0.so.0
  • #24 gtk_container_set_reallocate_redraws
    from /usr/lib/libgtk-x11-2.0.so.0
  • #25 g_timeout_add
    from /usr/lib/libglib-2.0.so.0
  • #26 g_get_current_time
    from /usr/lib/libglib-2.0.so.0
  • #27 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #28 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #29 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #30 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #31 gui_main
    at gui.c line 389
  • #32 gimp_main_loop
    at gimp.c line 586
  • #33 app_init
    at app_procs.c line 216
  • #34 main
    at main.c line 462
  • #0 mallopt
    from /lib/libc.so.6
  • #1 mallopt
    from /lib/libc.so.6
  • #2 malloc
    from /lib/libc.so.6
  • #3 g_malloc
    from /usr/lib/libglib-2.0.so.0
  • #4 tile_alloc
    at tile.c line 229
  • #5 tile_swap_in
    at tile-swap.c line 301
  • #6 tile_lock
    at tile.c line 155
  • #7 tile_manager_get
    at tile-manager.c line 241
  • #8 tile_manager_get_tile
    at tile-manager.c line 119
  • #9 set_canvas_tiles
    at gimppaintcore.c line 1763
  • #10 gimp_paint_core_paste
    at gimppaintcore.c line 1439
  • #11 gimp_paint_core_paste_canvas
    at gimppaintcore.c line 973
  • #12 gimp_paintbrush_motion
    at gimppaintbrush.c line 296
  • #13 gimp_paintbrush_paint
    at gimppaintbrush.c line 125
  • #14 gimp_paint_core_paint
    at gimppaintcore.c line 336
  • #15 gimp_paint_core_interpolate
    at gimppaintcore.c line 775
  • #16 gimp_paint_tool_motion
    at gimppainttool.c line 478
  • #17 gimp_tool_motion
    at gimptool.c line 237
  • #18 tool_manager_motion_active
    at tool_manager.c line 391
  • #19 gimp_display_shell_canvas_tool_events
    at gimpdisplayshell-callbacks.c line 913
  • #20 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #21 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #22 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #24 gtk_signal_emit
    from /usr/lib/libgtk-x11-2.0.so.0
  • #25 gtk_widget_send_expose
    from /usr/lib/libgtk-x11-2.0.so.0
  • #26 gtk_widget_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #27 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #28 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #29 _gdk_events_queue
    from /usr/lib/libgdk-x11-2.0.so.0
  • #30 g_get_current_time
    from /usr/lib/libglib-2.0.so.0
  • #31 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #32 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #33 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #34 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #35 gui_main
    at gui.c line 389
  • #36 gimp_main_loop
    at gimp.c line 586
  • #37 app_init
    at app_procs.c line 216
  • #38 main
    at main.c line 46

Comment 1 Toby Smith 2002-12-05 00:44:09 UTC
I can't reproduce this bug from current CVS (5th Nov)
Comment 2 Sven Neumann 2003-01-04 12:24:23 UTC
I was tempted to say that I cannot reproduce the problem but after a
lot of successful strokes, gimp-1.3.11 crashed on me when trying to
reproduce the segfault. As described by the reporter, the segfault
traces back to libc memory allocation routines so I suspect the
segfault is caused by an earlier problem, most probably a double free().

This might be a duplicate of bug #91041.
Comment 3 Sven Neumann 2003-01-04 12:26:00 UTC
It would be very helpful if the original reporter could include
information about the version of GTK+ he was using. I was able to
reproduce this with gtk+-2.0.6 (debian testing).
Comment 4 Sven Neumann 2003-06-02 18:19:53 UTC
Would be nice to get some feedback if the problem can still be
reproduced using newer versions of GTK+ (2.2.x).
Comment 5 Sven Neumann 2003-06-20 22:48:12 UTC
I am not able to reproduce the problem with GIMP-1.3.15 and GTK+-2.2.2.
Unless we get some feedback very soon, we will assume that the xinput
fix in gtk+-2.2.2 cured the problem and close this report as FIXED.
Comment 6 Elijah Newren 2003-07-04 23:25:46 UTC
Don't know if anyone cares anymore, but for future reference if anyone
runs across the bug, the stack trace looks similar to the ones in bug
112548 (which had some potentially interesting comments at the end),
bug 98630, and bug 115666.  Each of these bug reports was on a Debian
testing/unstable system.