I'm am writing a window manager which uses XpmCreateImageFromData(3)
to read a .xpm file containing the theme of the decoration of the
windows.  The program segfaults when calling this function.  I use this
function rather than XpmCreatePixmapFromData(3) in order for me to get
a pixel color from the .xpm with XGetPixel(3).

This is the code of the window manager:
        https://github.com/phillbush/shod/blob/master/shod.c

This is the .xpm I am reading:
        https://github.com/phillbush/shod/blob/master/theme.xpm

This is what I get running the program under gdb.

        GNU gdb 6.3
        Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions.
        Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
        This GDB was configured as "amd64-unknown-openbsd6.8"...
        (gdb) run
        Starting program: /home/phil/proj/shod/shod
        Error while reading shared library symbols:
Dwarf Error: wrong version in compilation unit header (is 4, should be 2) [in module /usr/libexec/ld.so]
        Error while reading shared library symbols:
Dwarf Error: wrong version in compilation unit header (is 4, should be 2) [in module /usr/libexec/ld.so]
        Error while reading shared library symbols:
Dwarf Error: wrong version in compilation unit header (is 4, should be 2) [in module /usr/libexec/ld.so]
        Error while reading shared library symbols:
Dwarf Error: wrong version in compilation unit header (is 4, should be 2) [in module /usr/libexec/ld.so]
        Error while reading shared library symbols:
Dwarf Error: wrong version in compilation unit header (is 4, should be 2) [in module /usr/libexec/ld.so]

        Program received signal SIGSEGV, Segmentation fault.
        0x00007f7fffff2600 in ?? ()
        (gdb) bt
        #0  0x00007f7fffff2600 in ?? ()
        #1  0x00000960a406b734 in SetColor () from /usr/X11R6/lib/libXpm.so.9.0
#2 0x00000960a4067ce6 in CreateColors () from /usr/X11R6/lib/libXpm.so.9.0 #3 0x00000960a4069916 in xpmParseDataAndCreate () from /usr/X11R6/lib/libXpm.so.9.0 #4 0x00000960a4065437 in XpmCreateImageFromData () from /usr/X11R6/lib/libXpm.so.9.0
        #5  0x0000095e5e85f5db in settheme () at shod.c:473
        #6  0x0000095e5e85bb58 in main () at shod.c:3465

I'm running OpenBSD Xenocara.
This is what I get running `X -version`:

        X.Org X Server 1.20.8
        X Protocol Version 11, Revision 0
        Build Operating System: OpenBSD 6.8 amd64
Current Operating System: OpenBSD thinkbsd.my.domain 6.8 GENERIC.MP#5 amd64
        Build Date: 24 November 2020  06:57:35AM

        Current version of pixman: 0.38.4
                Before reporting problems, check http://wiki.x.org
                to make sure that you have the latest version.

_______________________________________________
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: https://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Reply via email to