Bug 2436839 - gdk-pixbuf2-2.44.5-2.fc45: gdk_pixbuf_new_from_xpm_data(): gdk-pixbuf XPM module lacks XPM data capability
Summary: gdk-pixbuf2-2.44.5-2.fc45: gdk_pixbuf_new_from_xpm_data(): gdk-pixbuf XPM mod...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gdk-pixbuf2
Version: 45
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Matthias Clasen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 2460118 2460123 2460500 (view as bug list)
Depends On:
Blocks: 2440550
TreeView+ depends on / blocked
 
Reported: 2026-02-04 18:00 UTC by Joachim Backes
Modified: 2026-04-23 07:47 UTC (History)
11 users (show)

Fixed In Version: gdk-pixbuf2-2.44.6-1.fc45
Clone Of:
Environment:
Last Closed: 2026-04-22 09:58:24 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
xsane strace (82.35 KB, application/pdf)
2026-02-05 10:09 UTC, Joachim Backes
no flags Details


Links
System ID Private Priority Status Summary Last Updated
GNOME Gitlab GNOME gdk-pixbuf issues 299 0 None opened gdk-pixbuf 2.44.5: XPM module lacks XPM data capability 2026-02-05 14:13:21 UTC

Description Joachim Backes 2026-02-04 18:00:17 UTC
xsane

Gtk-Message: 18:40:50.824: Failed to load module "pk-gtk-module"

(xsane:106849): GdkPixbuf-WARNING **: 18:40:50.826: gdk-pixbuf XPM module lacks XPM data capability

(xsane:106849): GdkPixbuf-WARNING **: 18:40:50.826: gdk-pixbuf XPM module lacks XPM data capability
Memory access error  (dump written) xsane


Reproducible: Always

Steps to Reproduce:
1.Call xsane
2.See details
3.
Actual Results:
See details!

Expected Results:
USB Sacnner Canon LIDE 30 should work!!

Additional Information:
1. Tool sane-find-scanner
----------------------------------

could not open USB device 0x8087/0x0024 at 004:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 004:001: Access denied (insufficient permissions)
could not open USB device 0x8087/0x0024 at 002:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 002:001: Access denied (insufficient permissions)
could not open USB device 0x05e3/0x0612 at 003:003: Access denied (insufficient permissions)
could not open USB device 0x05e3/0x0612 at 003:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0003 at 003:001: Access denied (insufficient permissions)
could not open USB device 0x046d/0x081d at 001:005: Access denied (insufficient permissions)
could not open USB device 0x046d/0xc00e at 001:003: Access denied (insufficient permissions)
found possible USB scanner (vendor=0x04a9 [Canon], product=0x220e [CanoScan], chip=LM9832/3) at libusb:001:011
could not open USB device 0x05e3/0x0610 at 001:004: Access denied (insufficient permissions)
could not open USB device 0x05e3/0x0610 at 001:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 001:001: Access denied (insufficient permissions)
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.

2. Usage of simple-scan
---------------------------------

Result: crashes too!


(simple-scan:109300): Gdk-WARNING **: 18:51:16.907: Vulkan: ../src/amd/vulkan/radv_physical_device.c:2228: Device '/dev/dri/renderD128' is not using the AMDGPU kernel driver: Invalid argument (VK_ERROR_INCOMPATIBLE_DRIVER)

Comment 1 Zdenek Dohnal 2026-02-05 06:59:26 UTC
Hi,

thank you for reporting the issue!

Can you provide a backtrace of the crash? Xsane does not crash for me with my scanner, so it is possible it is related to the driver supporting your HW or your HW itself.

I can find out which driver your HW uses from crash's backtrace.

Comment 2 Joachim Backes 2026-02-05 10:09:22 UTC
Created attachment 2128265 [details]
xsane strace

Comment 3 Zdenek Dohnal 2026-02-05 12:06:50 UTC
I would like to see backtrace, not strace. You can get one when running 'coredumpctl gdb' and enter 'bt f'.

Comment 4 Joachim Backes 2026-02-05 12:19:58 UTC
#0  0x00007fcf7a6cec37 in IA__gtk_image_set_from_pixmap
    (image=0x565285ef3c00 [GtkImage], pixmap=0x0, mask=0x100000000)
    at /usr/src/debug/gtk2-2.24.33-23.fc43.x86_64/gtk/gtkimage.c:858
        __inst = 0x100000000
        __t = 0x565285ee2890 [GdkPixmap/GdkDrawable]
        __r = <optimized out>
        _g_boolean_var_13 = 0
#1  0x00007fcf7a6cee58 in IA__gtk_image_new_from_pixmap
    (pixmap=pixmap@entry=0x0, mask=0x100000000)
    at /usr/src/debug/gtk2-2.24.33-23.fc43.x86_64/gtk/gtkimage.c:606
        image = 0x565285ef3c00 [GtkImage]
#2  0x0000565282de4c15 in xsane_init (argc=<optimized out>, 
    argc@entry=1, argv=<optimized out>, argv@entry=0x7ffef0830688)
    at ../../src/xsane.c:6048
        device_scanning_dialog = 0x565285ede070 [GtkWindow]
        main_vbox = <optimized out>
        hbox = 0x565285ef1430 [GtkHBox]
        pixmap = 0x0
        mask = 0x100000000
        pixmapwidget = <optimized out>
        label = <optimized out>
        frame = <optimized out>
        st = {st_dev = 35, st_ino = 28655252, st_nlink = 1, st_mode = 33188, st_--Type <RET> for more, q to quit, c to continue without paging--c
uid = 0, st_gid = 0, __pad0 = 0, st_rdev = 0, st_size = 628, st_blksize = 4096, st_blocks = 8, st_atim = {tv_sec = 1770283880, tv_nsec = 839088842}, st_mtim = {tv_sec = 976989709, tv_nsec = 0}, st_ctim = {tv_sec = 1770143473, tv_nsec = 606019204}, __glibc_reserved = {0, 0, 0}}
        filename = "/usr/share/sane/xsane/xsane-style.rc\000rc", '\000' <repeats 4056 times>
        buf = "xsane 0.999\000/.sane/xsane/xsane.mdf\000\351\005\341\375\377\000\000\000\000\000\000\000\000\300\362\202\360\376\177\000\000\002\000\000\000\000\000\000\000\000\000\240\351\005\341\375\377B\000\000\000\000\000\000\000B", '\000' <repeats 23 times>, "И\004y\317\177\000\000\320\002\203\360\376\177\000\000%\026\264z\317\177\000\000\001\000\000\000\317\177\000\000\300\222\004y\317\177\000\000\000\000\000\000\000\000\000\0001\017\264z\317\177\000\000\001\000\000\000\317\177\000\000Ћ\004y\317\177\000\000\200\365\202\360\376\177\000\0001\017\264z\317\177\000\000\001\000\000\000\317\177\000\000\340\205"...
        dev = {name = 0x0, vendor = 0x0, model = 0x0, type = 0x0}
        device_list = {0x565282e173a0 <dev>, 0x0}
#3  0x0000565282d7a83b in xsane_interface (argc=1, argv=0x7ffef0830688)
    at ../../src/xsane.c:6145
        act = {__sigaction_handler = {sa_handler = <optimized out>, sa_sigaction = <optimized out>}, sa_mask = {__val = {<optimized out> <repeats 16 times>}}, sa_flags = <optimized out>, sa_restorer = <optimized out>}
        gio_pipe_read = <optimized out>
        buf = {<optimized out> <repeats 255 times>}
#4  main (argc=1, argv=0x7ffef0830688) at ../../src/xsane.c:6408
(gdb)

Comment 5 Zdenek Dohnal 2026-02-05 12:36:55 UTC
Ah, my bad - the same issue as with strace - no children backtrace - the gdb command is 'thread apply all bt f'. Can you put the output into file and attach it?

Additionally at the beginning of 'coredumpctl gdb' - before you get gdb prompt - there is the line where the crash happened - can you copy it as well?

Comment 6 Joachim Backes 2026-02-05 12:58:11 UTC
 gdb xsane
GNU gdb (Fedora Linux) 17.1-1.fc43
Copyright (C) 2025 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from xsane...

This GDB supports auto-downloading debuginfo from the following URLs:
  <ima:enforcing>
  <https://debuginfod.fedoraproject.org/>
  <ima:ignore>
Enable debuginfod for this session? (y or [n]) run
Please answer y or [n].
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
--Type <RET> for more, q to quit, c to continue without paging--c
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Reading symbols from /home/backes/.cache/debuginfod_client/8f0909d6f8bdf2c5e0ea375c2284d5349f6e9155/debuginfo...
(gdb) thread apply all bt f
(gdb) run
Starting program: /usr/bin/xsane 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Gtk-Message: 13:55:13.145: Failed to load module "pk-gtk-module"

(xsane:30315): GdkPixbuf-WARNING **: 13:55:13.148: gdk-pixbuf XPM module lacks XPM data capability

(xsane:30315): GdkPixbuf-WARNING **: 13:55:13.148: gdk-pixbuf XPM module lacks XPM data capability

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7acec37 in IA__gtk_image_set_from_pixmap (
    image=0x5555556bfbf0 [GtkImage], pixmap=0x0, mask=0x100000000)
    at /usr/src/debug/gtk2-2.24.33-23.fc43.x86_64/gtk/gtkimage.c:858
858	  g_return_if_fail (mask == NULL ||
(gdb)

Comment 7 Zdenek Dohnal 2026-02-05 13:09:40 UTC
If you start the program from gdb and not from coredumpctl, you have to enter 'thread apply all bt f' after you get the crash. Please get the command output into file and attach the file here as attachment.

Comment 8 Zdenek Dohnal 2026-02-05 13:51:17 UTC
Looking into the single thread, I see the reason - pointer pixmap is NULL, but it should be include loaded XPM image from GTK2+ and gdk-pixbuf2-modules-extra . AFAIK extra modules should still support XPM, so it might be some issue there.

Ben, IIRC XPM support is still in gdk-pixbuf2-modules-extra, correct?

Comment 9 Benjamin Gilbert 2026-02-05 14:13:21 UTC
It is.  However, upstream seems to have broken an XPM-specific API in gdk-pixbuf2 2.44.5.  Could you try downgrading to 2.44.4?

Comment 10 Joachim Backes 2026-02-05 15:24:38 UTC
1. dowrading  to version   2.44.4-1 done
2. xsane
Gtk-Message: 16:20:31.169: Failed to load module "pk-gtk-module"
3. Getting additionally an xsane error msg window with text:

no device accessible

Comment 11 Zdenek Dohnal 2026-02-06 06:29:53 UTC
Joachim, can you file another bug about your device can't be find? Let's leave this bug for crash in gdk-pixbuf2.

In the new bug, please attach the file debug_log from this command:

$ SANE_DEBUG_DLL=255 SANE_DEBUG_PLUSTEK=255 SANE_DEBUG_SANEI_USB=255 scanimage -L &> debug_log

Comment 12 Zdenek Dohnal 2026-02-06 06:30:59 UTC
Ben, I don't see gdk-pixbuf2 2.44.5 in Bodhi - https://bodhi.fedoraproject.org/updates/?packages=gdk-pixbuf2 - or there has been component name change?

Comment 13 Benjamin Gilbert 2026-02-06 12:11:11 UTC
It was included in https://bodhi.fedoraproject.org/updates/FEDORA-2026-b9910b0f84 but has been removed.

Comment 14 Joachim Backes 2026-02-06 12:58:38 UTC
Please see BZ 2437300

Comment 15 Joachim Backes 2026-02-07 11:57:14 UTC
could solve all my problems by "sudo dnf install *sane*"  and a   following system restart of my PC.

Thanks to all!

Kind regrads

Joachim Backes

Comment 16 Petr Pisar 2026-02-18 09:54:07 UTC
From the changelog:

2.44.5
===

- Make the testsuite work with glycin
- glycin: Add support for xpm and xbm


It seems that 2.44.5 changed an implementation of XPM loader and the new implementation does not implement load_xpm_data() callback as used in gdk_pixbuf_new_from_xpm_data():

GdkPixbuf *
gdk_pixbuf_new_from_xpm_data (const char **data)
{
        [...]
        if (xpm_module->load_xpm_data == NULL) {
                g_warning ("gdk-pixbuf XPM module lacks XPM data capability");
                pixbuf = NULL;

Comment 17 Petr Pisar 2026-03-30 10:55:52 UTC
Any progress? This new "gdk-pixbuf XPM module lacks XPM data capability" error breaks perl-Gtk3 self-tests.

Comment 18 Joachim Backes 2026-03-30 12:35:55 UTC
No progress!

Comment 19 Milan Crha 2026-04-22 09:42:53 UTC
Some progress had been done meanwhile, try gdk-pixbuf2-2.44.6-1.fc45 , which was built a day after the last above comment here. ;) The f44 switched to gdk-pixbuf 2.44.4, the same as the f43 is going to use it:

https://bodhi.fedoraproject.org/updates/FEDORA-2026-58dce16a4c

Comment 20 Milan Crha 2026-04-22 09:58:24 UTC
Some more background can be found at bug #2452248 . I'm closing this, but feel free to reopen in case you'd face the problem with the recent versions. Thanks in advance.

Comment 21 Zdenek Dohnal 2026-04-22 14:46:01 UTC
*** Bug 2460500 has been marked as a duplicate of this bug. ***

Comment 22 Zdenek Dohnal 2026-04-22 14:48:00 UTC
*** Bug 2460123 has been marked as a duplicate of this bug. ***

Comment 23 Zdenek Dohnal 2026-04-22 14:48:43 UTC
*** Bug 2460118 has been marked as a duplicate of this bug. ***

Comment 24 Zdenek Dohnal 2026-04-23 06:12:51 UTC
Hi Milan,

I see crashes in xsane due gdk-pixbuf2 change down to Fedora 43 - I don't see any update linked to this ticket, do you plan to fix it in the stable versions?

Comment 25 Milan Crha 2026-04-23 07:47:33 UTC
f44 is supposed to be covered with the 2.44.4 version (2.44.6 update was unpushed, due to bug #2452248).

f43 is currently https://bodhi.fedoraproject.org/updates/FEDORA-2026-58dce16a4c , which references bug #2459590 and two others. This one was moved from f43 to rawhide, thus it's not added there. There are plenty duplicates in gdk-pixbuf2 for this, making it a little mess, not talking about bugs in the other projects, due to this XPM problem.


Note You need to log in before you can comment on or make changes to this bug.