Dear Maintainer,
I could reproduce it also with a current Bookworm/testing system.
It looks like between 0.999-6 (buster/oldstable)
and 0.999-12 (bullseye/stable) the file xsane-logo.xpm got moved
from path /usr/share/sane/xsane to /usr/share/doc/xsane-common.
Unfortunately the about dialog still constructs the old path,
does not find there the pixmap and handles this case not carefully.
A workaround is to create a symlink and the dialog shows up without crash.
Kind regards,
Bernhard
Core was generated by `xsane'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fd785b1b665 in IA__gtk_image_set_from_pixmap (image=0x557b947ccdb0, pixmap=0x0, mask=0x557b9456e230) at ../../../../gtk/gtkimage.c:858
858 g_return_if_fail (mask == NULL ||
(gdb) bt
#0 0x00007fd785b1b665 in IA__gtk_image_set_from_pixmap (image=0x557b947ccdb0 [GtkImage], pixmap=0x0, mask=0x557b9456e230) at ../../../../gtk/gtkimage.c:858
#1 0x00007fd785b1b83d in IA__gtk_image_new_from_pixmap (pixmap=pixmap@entry=0x0, mask=0x557b9456e230) at ../../../../gtk/gtkimage.c:606
#2 0x0000557b92ea2d1b in xsane_about_dialog (data=<optimized out>, widget=<optimized out>) at ./src/xsane.c:3523
#6 0x00007fd785f31dbf in <emit signal ??? on instance 0x557b946d60d0 [GtkMenuItem]> (instance=instance@entry=0x557b946d60d0, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3606
#3 0x00007fd785f183b0 in g_closure_invoke (closure=0x557b946d88e0, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7ffc72ce6750, invocation_hint=invocation_hint@entry=0x7ffc72ce66d0) at ../../../gobject/gclosure.c:832
#4 0x00007fd785f2b076 in signal_emit_unlocked_R (node=node@entry=0x557b946c4540, detail=detail@entry=0, instance=instance@entry=0x557b946d60d0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffc72ce6750) at ../../../gobject/gsignal.c:3796
#5 0x00007fd785f31bf5 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffc72ce68d0) at ../../../gobject/gsignal.c:3549
#7 0x00007fd785c57d94 in IA__gtk_widget_activate (widget=widget@entry=0x557b946d60d0 [GtkMenuItem]) at ../../../../gtk/gtkwidget.c:5041
#8 0x00007fd785b4baf5 in IA__gtk_menu_shell_activate_item (menu_shell=0x557b94544d80 [GtkMenu], menu_item=0x557b946d60d0 [GtkMenuItem], force_deactivate=<optimized out>) at ../../../../gtk/gtkmenushell.c:1278
#9 0x00007fd785b4be09 in gtk_menu_shell_button_release (widget=0x557b94544d80 [GtkMenu], event=0x557b9489ca70) at ../../../../gtk/gtkmenushell.c:703
#14 0x00007fd785f31dbf in <emit signal ??? on instance 0x557b94544d80 [GtkMenu]> (instance=instance@entry=0x557b94544d80, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3606
#10 0x00007fd785b391ab in _gtk_marshal_BOOLEAN__BOXED (closure=0x557b944dfd30, return_value=0x7ffc72ce6be0, n_param_values=<optimized out>, param_values=0x7ffc72ce6c40, invocation_hint=<optimized out>, marshal_data=<optimized out>) at ../../../../gtk/gtkmarshalers.c:84
#11 0x00007fd785f183b0 in g_closure_invoke (closure=closure@entry=0x557b944dfd30, return_value=return_value@entry=0x7ffc72ce6be0, n_param_values=2, param_values=param_values@entry=0x7ffc72ce6c40, invocation_hint=invocation_hint@entry=0x7ffc72ce6bc0) at ../../../gobject/gclosure.c:832
#12 0x00007fd785f2b1a5 in signal_emit_unlocked_R (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x557b94544d80, emission_return=emission_return@entry=0x7ffc72ce6d30, instance_and_params=instance_and_params@entry=0x7ffc72ce6c40) at ../../../gobject/gsignal.c:3835
#13 0x00007fd785f3142d in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffc72ce6de0) at ../../../gobject/gsignal.c:3559
#15 0x00007fd785c58fe4 in gtk_widget_event_internal (widget=widget@entry=0x557b94544d80 [GtkMenu], event=event@entry=0x557b9489ca70) at ../../../../gtk/gtkwidget.c:5010
#16 0x00007fd785c592d5 in IA__gtk_widget_event (widget=widget@entry=0x557b94544d80 [GtkMenu], event=event@entry=0x557b9489ca70) at ../../../../gtk/gtkwidget.c:4807
#17 0x00007fd785b377d4 in IA__gtk_propagate_event (widget=0x557b94544d80 [GtkMenu], event=0x557b9489ca70) at ../../../../gtk/gtkmain.c:2503
#18 0x00007fd785b37c4b in IA__gtk_main_do_event (event=0x557b9489ca70) at ../../../../gtk/gtkmain.c:1698
#19 IA__gtk_main_do_event (event=<optimized out>) at ../../../../gtk/gtkmain.c:1503
#20 0x00007fd785fc0afc in gdk_event_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../../../../../gdk/x11/gdkevents-x11.c:2425
#21 0x00007fd7860f97a9 in g_main_dispatch (context=0x557b94477800) at ../../../glib/gmain.c:3454
#22 g_main_context_dispatch (context=context@entry=0x557b94477800) at ../../../glib/gmain.c:4172
#23 0x00007fd7860f9a38 in g_main_context_iterate (context=0x557b94477800, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4248
#24 0x00007fd7860f9cef in g_main_loop_run (loop=loop@entry=0x557b946c1430) at ../../../glib/gmain.c:4448
#25 0x00007fd785b36b2a in IA__gtk_main () at ../../../../gtk/gtkmain.c:1270
#26 0x0000557b92ead1f3 in xsane_interface (argv=<optimized out>, argc=<optimized out>) at ./src/xsane.c:6024
#27 0x0000557b92e3defb in main (argc=1, argv=0x7ffc72ce7838) at ./src/xsane.c:6217
(gdb) display/i $pc
1: x/i $pc
=> 0x7fd785b1b665 <IA__gtk_image_set_from_pixmap+245>: cmp %r13,(%rax)
(gdb) print/x $rax
$1 = 0x1800000000000000
(gdb) print mask
$2 = 0x557b9456e230
(gdb) print *mask
$3 = {parent_instance = {g_type_instance = {g_class = <error reading variable: Cannot access memory at address 0x1800000000000000>}, ref_count = 1, qdata = 0x20}}
(gdb) up
#1 0x00007fd785b1b83d in IA__gtk_image_new_from_pixmap (pixmap=pixmap@entry=0x0, mask=0x557b9456e230) at ../../../../gtk/gtkimage.c:606
606 gtk_image_set_from_pixmap (image, pixmap, mask);
(gdb)
#2 0x0000557b92ea2d1b in xsane_about_dialog (data=<optimized out>, widget=<optimized out>) at ./src/xsane.c:3523
3523 pixmapwidget = gtk_image_new_from_pixmap(pixmap, mask);
(gdb) list
3520
3521 xsane_back_gtk_make_path(sizeof(filename), filename, "xsane", 0, "xsane-logo", 0, ".xpm", XSANE_PATH_SYSTEM);
3522 pixmap = gdk_pixmap_create_from_xpm(about_dialog->window, &mask, bg_trans, filename);
3523 pixmapwidget = gtk_image_new_from_pixmap(pixmap, mask);
(gdb) print pixmap
$5 = 0x0
(gdb) print (char*)filename
$7 = 0x7ffc72ce5570 "/usr/share/sane/xsane/xsane-logo.xpm"