I can make xscanimage crash (sigsegv) consistently by simply clicking
on `Scan mode' and selecting `color'.
This happens on gtk 0.99.8 and gtk 0.99.9 with xscanimage from sane 0.71
The same version of sane worked OK before with gtk 0.99.4.
(x86 linux, libc 5.4.44, gcc 2.7.2.1).
The following is what I can get so far. If anyone have any idea
why this happens, please let me know. I am still working on the problem
but I am not familiar with gtk. Any comment would be appreciated.
The sigsegv happens in gtk_real_window_move_resize() (gtkwindows.c)
at line 1099 where widget points to nowhere:-------+
+-------------------------------------------------+
|
| resize_widgets = GTK_CONTAINER (window)->resize_widgets;
| GTK_CONTAINER (window)->resize_widgets = NULL;
|
| for (node = resize_widgets; node; node = node->next)
| {
| widget = node->data;
|
| GTK_PRIVATE_UNSET_FLAG (widget, GTK_RESIZE_NEEDED);
|
| while (widget && widget->parent &&
| ((widget->allocation.width < widget->requisition.width) ||
+- CRASH HERE => (widget->allocation.height < widget->requisition.height)))
widget = widget->parent;
GTK_PRIVATE_SET_FLAG (widget, GTK_RESIZE_NEEDED);
And here is the backtrace
Program received signal SIGSEGV, Segmentation fault.
0x40093af7 in gtk_real_window_move_resize (window=0x807d370, x=0xbffff7e0,
y=0xbffff7dc, width=336, height=440) at gtkwindow.c:1099
(gdb) backtrace
#0 0x40093af7 in gtk_real_window_move_resize (window=0x807d370, x=0xbffff7e0,
y=0xbffff7dc, width=336, height=440) at gtkwindow.c:1099
#1 0x40092869 in gtk_window_marshal_signal_1 (object=0x807d370,
func=0x40093988 <gtk_real_window_move_resize>, func_data=0x0,
args=0xbffff5c8) at gtkwindow.c:477
#2 0x400704ff in gtk_signal_real_emit (object=0x807d370, signal_type=55,
args=0xbffff7a8) at gtksignal.c:1092
#3 0x4006f249 in gtk_signal_emit (object=0x807d370, signal_id=55)
at gtksignal.c:351
#4 0x40093daf in gtk_window_move_resize (widget=0x807d370) at gtkwindow.c:1222
#5 0x40093978 in gtk_window_need_resize (container=0x807d370)
at gtkwindow.c:1026
#6 0x4003d46d in gtk_container_marshal_signal_4 (object=0x807d370,
func=0x400938e8 <gtk_window_need_resize>, func_data=0x0, args=0xbffff83c)
at gtkcontainer.c:587
#7 0x40070473 in gtk_signal_real_emit (object=0x807d370, signal_type=52,
args=0xbffffa1c) at gtksignal.c:1065
#8 0x4006f249 in gtk_signal_emit (object=0x807d370, signal_id=52)
at gtksignal.c:351
#9 0x4003d1b7 in gtk_container_need_resize (container=0x807d370)
at gtkcontainer.c:411
#10 0x4008e954 in gtk_widget_idle_sizer (data=0x0) at gtkwidget.c:1573
#11 0x40054ea9 in gtk_idle_invoke_function (idlef=0x80902f0) at gtkmain.c:1393
#12 0x40054eea in gtk_handle_current_idles () at gtkmain.c:1423
#13 0x40055016 in gtk_handle_idle () at gtkmain.c:1488
#14 0x40053f8a in gtk_main_iteration_do (blocking=1 '\001') at gtkmain.c:646
#15 0x40053c97 in gtk_main_iteration () at gtkmain.c:416
#16 0x40053b41 in gtk_main () at gtkmain.c:347
#17 0x804e1be in interface (argc=1, argv=0xbffffb2c) at xscanimage.c:1692
#18 0x804e22a in main (argc=1, argv=0xbffffb2c) at xscanimage.c:1721
#19 0x804bb3e in ___crt_dummy__ ()
Quy.
-- =-=-=-=-=-==-=-===-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Quy Tonthat Email: quy@qpa.com.au QP Australia Pty. Ltd. Phone: (02) 9874 0866 N.S.W. Australia FAX: (02) 9858 4787 =-=-=-=-=-==-=-===-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-- Source code, list archive, and docs: http://www.mostang.com/sane/ To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com