Hello all,
First up, I hope that this is the right place to report this bug.  Second thing: This is a great product. You guys should be proud of yourselves!

Now the bug report:

Here are the steps that I follow to reliably crash GIMP:
1. open a 1600x1200 image
2. resize image to 132x99
3. right mouse button -> file -> save as
4. rename file, but leave as a JPEG
5. Select the quality slider with the mouse
6. hold down the keyboard left or right arrows (left goes further :-)
7. Go back to console and press 'E' to exit the crashed gimp...

I have no reason to believe that steps 1-2 make sweet rafoosle difference. I suspect, but of course cannot verify :-) that this is a threading issue, since if in step 6) if I press the key one step at a time then the problem does not occur. Also, if I make the image "large enough" the problem does not occur. Maybe the preview engine stomps on something while it is being read by the main window? My guess is that "large enough" is anything that takes long enough to encode that the drawer is definitely finished with it by the time the new image is overwritten. I am guessing this based on the Gtk error messages, but have never looked at the code, so should probably let you folks do that :-)

I am not on the dev list for this project, so if you want more information, or would like me to test a source patch (yes I have the power of the source...) then please contact me directly.

Paul

Now all the guff.
I am using the helix distribution levered onto SuSE 7.0.
Here are what I suspect are the relevant packages:
gtk-1.2.8-32_helix_1
libgimp-1.1.26-0_helix_1
gtk-engines-0.10-0_helix_2
gimpperl-1.1.26-0_helix_1
libgimpd-1.1.26-0_helix_1
gtkdev-1.2.8-32_helix_1
gimp-1.1.26-0_helix_1

Here is the stacktrace:
machine$ gimp p9030083.jpg

Gtk-WARNING **: invalid cast from `(unknown)' to `GimpDrawable'

Gtk-WARNING **: invalid cast from `(unknown)' to `GimpDrawable'
gimp: fatal error: Segmentation fault
gimp (pid:22374): [E]xit, [H]alt, show [S]tack trace or [P]roceed: S
#0  0x40193be0 in g_on_error_stack_trace () from /usr/lib/libglib-1.2.so.0
#1  0x40193afe in g_on_error_query () from /usr/lib/libglib-1.2.so.0
#2  0x80ba7ae in gimp_fatal_error ()
#3  0x811a602 in gimp_sigfatal_handler ()
#4  0x402d19d8 in __restore ()
#5  0x816a3f3 in tile_manager_get_tile ()
#6  0x814332f in pixel_region_get_row ()
#7  0x8108aaa in layer_preview_scale ()
#8  0x8108495 in layer_preview_private ()
#9  0x8108561 in layer_preview ()
#10 0x8110655 in layer_widget_preview_redraw ()
#11 0x81101bd in layer_widget_preview_events ()
#12 0x400b4d0f in gtk_marshal_BOOL__POINTER () from /usr/lib/libgtk-1.2.so.0
#13 0x400e6068 in gtk_handlers_run () from /usr/lib/libgtk-1.2.so.0
#14 0x400e543f in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
#15 0x400e33a7 in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
#16 0x4011b9a8 in gtk_widget_event () from /usr/lib/libgtk-1.2.so.0
#17 0x400b3dfb in gtk_main_do_event () from /usr/lib/libgtk-1.2.so.0
#18 0x40166ae4 in gdk_event_dispatch () from /usr/lib/libgdk-1.2.so.0
#19 0x40197bb6 in g_main_dispatch () from /usr/lib/libglib-1.2.so.0
#20 0x401981e3 in g_main_iterate () from /usr/lib/libglib-1.2.so.0
#21 0x401983ac in g_main_run () from /usr/lib/libglib-1.2.so.0
#22 0x400b361c in gtk_main () from /usr/lib/libgtk-1.2.so.0
#23 0x8145386 in plug_in_run ()
#24 0x8152124 in procedural_db_execute ()
#25 0x80bcf47 in file_save ()
#26 0x80bdfbf in file_save_with_proc ()
#27 0x80be1a0 in file_save_ok_callback ()
#28 0x400b51a3 in gtk_marshal_NONE__NONE () from /usr/lib/libgtk-1.2.so.0
#29 0x400e6068 in gtk_handlers_run () from /usr/lib/libgtk-1.2.so.0
#30 0x400e543f in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
#31 0x400e33a7 in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
#32 0x4004d448 in gtk_button_clicked () from /usr/lib/libgtk-1.2.so.0
#33 0x4004eb51 in gtk_real_button_released () from /usr/lib/libgtk-1.2.so.0
#34 0x400b51a3 in gtk_marshal_NONE__NONE () from /usr/lib/libgtk-1.2.so.0
#35 0x400e52cf in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
#36 0x400e33a7 in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
#37 0x4004d378 in gtk_button_released () from /usr/lib/libgtk-1.2.so.0
#38 0x4004e498 in gtk_button_button_release () from /usr/lib/libgtk-1.2.so.0
#39 0x400b4d0f in gtk_marshal_BOOL__POINTER () from /usr/lib/libgtk-1.2.so.0
#40 0x400e547d in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
#41 0x400e33a7 in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
#42 0x4011bcdc in gtk_widget_event () from /usr/lib/libgtk-1.2.so.0
#43 0x400b4c65 in gtk_propagate_event () from /usr/lib/libgtk-1.2.so.0
#44 0x400b3d5f in gtk_main_do_event () from /usr/lib/libgtk-1.2.so.0
#45 0x40166ae4 in gdk_event_dispatch () from /usr/lib/libgdk-1.2.so.0
#46 0x40197bb6 in g_main_dispatch () from /usr/lib/libglib-1.2.so.0
#47 0x401981e3 in g_main_iterate () from /usr/lib/libglib-1.2.so.0
#48 0x401983ac in g_main_run () from /usr/lib/libglib-1.2.so.0
#49 0x400b361c in gtk_main () from /usr/lib/libgtk-1.2.so.0
#50 0x811a569 in main ()
#51 0x402cba8e in __libc_start_main () at ../sysdeps/generic/libc-start.c:93
 



Reply via email to