[Pkg-lxde-maintainers] Bug#914150: pcmanfm: SIGSEGV, Segmentation fault on opening folder

Bernhard Übelacker bernhardu at mailbox.org
Sun Mar 17 17:39:10 GMT 2019


Hello Andriy Grytsenko,
tried to reproduce but could not find the file "meteoCNS" anywhere on the net.

Instead found following file that triggers the same crash stacktrace:

    openclipart-svg: /usr/share/openclipart/svg/recreation/religion/christianity/coat_of_arms_of_anglica_01.svg

Navigating pcmanfm to a directory containing that file I get this stack:

    (gdb) bt
    #0  0x00007f03218f42c0 in ?? () from /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
    #1  0x00007f03254c212d in ?? () from /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
    #2  0x00007f03254c2bd8 in gdk_pixbuf_loader_write () from /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
    #3  0x00007f03254c0668 in gdk_pixbuf_get_file_info () from /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
    #4  0x00007f0325b86a06 in ?? () from /usr/lib/x86_64-linux-gnu/libfm-gtk.so.4
    #5  0x00007f0325326a0c in ?? () from /usr/lib/x86_64-linux-gnu/libfm.so.4
    #6  0x00007f0325327628 in ?? () from /usr/lib/x86_64-linux-gnu/libfm.so.4
    #7  0x00007f032503c425 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
    #8  0x00007f0324e27fa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
    #9  0x00007f0324d5882f in clone () from /lib/x86_64-linux-gnu/libc.so.6

And with debug symbols installed:

    (gdb) bt
    #0  gdk_pixbuf__svg_image_load_increment (data=<optimized out>, buf=0x7f030c8a347c "<?xml version=\"1\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\" \"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\">\r\n<svg viewBox=\"50 -1 500 594\" width=\"100%\">\n  <metadata>"..., size=4096, error=0x0) at io-svg.c:134
    #1  0x00007f03254c212d in gdk_pixbuf_loader_load_module (loader=loader at entry=0x7f031423b520, image_type=image_type at entry=0x0, error=error at entry=0x0) at ../gdk-pixbuf/gdk-pixbuf-loader.c:426
    #2  0x00007f03254c2bd8 in gdk_pixbuf_loader_eat_header_write (error=0x0, count=4096, buf=0x7f0321053a30 "<?xml version=\"1\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\" \"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\">\r\n<svg viewBox=\"50 -1 500 594\" width=\"100%\">\n  <metadata>"..., loader=0x7f031423b520) at ../gdk-pixbuf/gdk-pixbuf-loader.c:489
    #3  gdk_pixbuf_loader_write (loader=loader at entry=0x7f031423b520, buf=buf at entry=0x7f0321053a30 "<?xml version=\"1\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\" \"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\">\r\n<svg viewBox=\"50 -1 500 594\" width=\"100%\">\n  <metadata>"..., count=4096, error=error at entry=0x0) at ../gdk-pixbuf/gdk-pixbuf-loader.c:535
    #4  0x00007f03254c0668 in gdk_pixbuf_get_file_info (filename=filename at entry=0x7f030c6dde90 "/tmp/svg/coat_of_arms_of_anglica_01.svg", width=width at entry=0x7f0321054a70, height=height at entry=0x7f0321054a74) at ../gdk-pixbuf/gdk-pixbuf-io.c:1934
    #5  0x00007f0325b86a06 in read_image_from_file (filename=0x7f030c6dde90 "/tmp/svg/coat_of_arms_of_anglica_01.svg") at gtk/fm-thumbnail.c:142
    #6  0x00007f0325326a0c in generate_thumbnails_with_builtin (task=task at entry=0x563818d3cdc0) at base/fm-thumbnail-loader.c:979
    #7  0x00007f0325327628 in generate_thumbnails (task=0x563818d3cdc0) at base/fm-thumbnail-loader.c:812
    #8  load_thumbnail_thread (user_data=<optimized out>) at base/fm-thumbnail-loader.c:488
    #9  0x00007f032503c425 in g_thread_proxy (data=0x56381882c5e0) at ../../../glib/gthread.c:784
    #10 0x00007f0324e27fa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
    #11 0x00007f0324d5882f in clone () from /lib/x86_64-linux-gnu/libc.so.6


That exact line got touched by upstream in commit [1]
pointing to upstream bug report [2]:

    133             if (!rsvg_handle_write (context->handle, buf, size, error)) {
    134                     g_clear_pointer(error, g_error_free);
    135                     rsvg_propagate_error (error, _("Error writing"), ERROR_WRITING);


I think the error reported by Nicola in message #18 and #36
is a distinct error and the one reported by jfp in message #5
seems to be solved by the upload of libfm in message #31.

Therefore I would propose to
- reassign this bug 914150 to libfm/1.3.0-1
- clone it and reassign the clone to librsvg2-common/2.44.10-1
- and close this bug 914150

What do you think?


Kind regards,
Bernhard

[1] https://gitlab.gnome.org/GNOME/librsvg/commit/f5608502581207921b3b9e8adc53be7430945ade
[2] https://gitlab.gnome.org/GNOME/librsvg/issues/405
-------------- next part --------------
(gdb) thread apply all bt full

Thread 30 (Thread 0x7f681634a700 (LWP 24728)):
#0  0x00007f6816c292c0 in  () at /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
#1  0x00007f682029812d in  () at /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
#2  0x00007f6820298bd8 in gdk_pixbuf_loader_write () at /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
#3  0x00007f6820296668 in gdk_pixbuf_get_file_info () at /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
#4  0x00007f682095da06 in read_image_from_file(filename=0x7f680c001570 "/mnt/dati_linux/cns-doc/REGATE/RegateDOC/meteoCNS") at gtk/fm-thumbnail.c:142
        w = 1
        h = 1
#5  0x00007f68200fca0c in generate_thumbnails_with_builtin(task=task at entry=0x55dc91ffd780) at base/fm-thumbnail-loader.c:979
        gf = 0x55dc91e2ee60
        file_name = 0x7f680c001570 "/mnt/dati_linux/cns-doc/REGATE/RegateDOC/meteoCNS"
        normal_pix = 0x0
        large_pix = 0x0
        cancellable = <optimized out>
        ori_pix = <optimized out>
        rotate_degrees = <optimized out>
        mime_type = <optimized out>
#6  0x00007f68200fd628 in generate_thumbnails (task=0x55dc91ffd780) at base/fm-thumbnail-loader.c:812
        uri = 0x7f680c0014c0 "file:///mnt/dati_linux/cns-doc/REGATE/RegateDOC/meteoCNS"
        md5 = <optimized out>
        reql = <optimized out>
        task = 0x55dc91ffd780
        sum = 0x55dc91f67720
        normal_path = 0x55dc91f8ec70 "/home/nicola/.thumbnails/normal/076f62295880dddfc836c56553b20ba6.png"
        normal_basename = 0x55dc91f8ec90 "076f62295880dddfc836c56553b20ba6.png"
        large_path = 0x55dc9203b480 "/home/nicola/.thumbnails/large/", '0' <repeats 32 times>, ".png"
        large_basename = 0x55dc9203b49f '0' <repeats 32 times>, ".png"
#7  0x00007f68200fd628 in load_thumbnail_thread (user_data=<optimized out>) at base/fm-thumbnail-loader.c:488
        uri = 0x7f680c0014c0 "file:///mnt/dati_linux/cns-doc/REGATE/RegateDOC/meteoCNS"
        md5 = <optimized out>
        reql = <optimized out>
        task = 0x55dc91ffd780
        sum = 0x55dc91f67720
        normal_path = 0x55dc91f8ec70 "/home/nicola/.thumbnails/normal/076f62295880dddfc836c56553b20ba6.png"
        normal_basename = 0x55dc91f8ec90 "076f62295880dddfc836c56553b20ba6.png"
        large_path = 0x55dc9203b480 "/home/nicola/.thumbnails/large/", '0' <repeats 32 times>, ".png"
        large_basename = 0x55dc9203b49f '0' <repeats 32 times>, ".png"
#8  0x00007f681fe11325 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007f681fbfcfa3 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007f681fb2d7ef in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 22 (Thread 0x7f6815b49700 (LWP 24720)):
#0  0x00007f681fb28269 in syscall () at /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f681fe32f1a in g_cond_wait_until () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f681fdbb051 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f681fe11e02 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f681fe11325 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f681fbfcfa3 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f681fb2d7ef in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 4 (Thread 0x7f68177fe700 (LWP 23618)):
#0  0x00007f681fb28269 in syscall () at /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f681fe32f1a in g_cond_wait_until () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f681fdbb051 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f681fdbb611 in g_async_queue_timeout_pop () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f681fe11d61 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f681fe11325 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f681fbfcfa3 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#7  0x00007f681fb2d7ef in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7f6817fff700 (LWP 23617)):
#0  0x00007f681fb22b39 in poll () at /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f681fde9016 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f681fde93a2 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6820015d26 in  () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f681fe11325 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f681fbfcfa3 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f681fb2d7ef in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 2 (Thread 0x7f681cd6d700 (LWP 23616)):
#0  0x00007f681fb22b39 in poll () at /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f681fde9016 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f681fde913c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f681fde9181 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f681fe11325 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f681fbfcfa3 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f681fb2d7ef in clone () at /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7f681d24ea80 (LWP 23615)):
#0  0x00007f68206e9660 in  () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#1  0x00007f68206e9df5 in  () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#2  0x00007f68205f51eb in  () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#3  0x00007f681fecac7d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x00007f681feddb64 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x00007f681fee6983 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6  0x00007f681fee790f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7  0x00007f682070bcac in  () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#8  0x00007f68205f3ae0 in gtk_main_do_event () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#9  0x00007f682044d80f in  () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#10 0x00007f682044d7b5 in  () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#11 0x00007f682044d7b5 in  () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#12 0x00007f682044a0cd in  () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#13 0x00007f682044a9e3 in gdk_window_process_all_updates () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#14 0x00007f6820579c11 in  () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#15 0x00007f6820429804 in  () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#16 0x00007f681fde8cb8 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f681fde90a8 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007f681fde93a2 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007f68205f28e7 in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#20 0x000055dc8fcbd516 in main (argc=<optimized out>, argv=<optimized out>) at pcmanfm.c:282
        config = 0x55dc91d3c100
        err = 0x0
        inst = {prog_name = 0x55dc8fcd8264 "pcmanfm", cb = 0x55dc8fcbdbd0 <single_inst_cb>, opt_entries = 0x55dc8fce60b0 <opt_entries+144>, screen_num = 0, io_channel = 0x55dc91cbcee0, sock = 7, io_watch = 6}
        l = <optimized out>


############



# dpkg -S /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
libgdk-pixbuf2.0-0:amd64: /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0

# dpkg -S /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
librsvg2-common:amd64: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so

-> no new packages got into buster since last year



# dpkg -S /usr/lib/x86_64-linux-gnu/libfm-gtk.so.4
libfm-gtk4:amd64: /usr/lib/x86_64-linux-gnu/libfm-gtk.so.4

# dpkg -S /usr/lib/x86_64-linux-gnu/libfm.so.4
libfm4:amd64: /usr/lib/x86_64-linux-gnu/libfm.so.4


############


# Buster amd64 qemu VM 2019-03-17

apt update
apt dist-upgrade

apt install dpkg-dev devscripts systemd-coredump htop gdb xserver-xorg lightdm openbox pcmanfm pcmanfm-dbg libgdk-pixbuf2.0-0-dbgsym librsvg2-common-dbgsym libfm-dbg libfm-gtk-dbg openclipart-svg libglib2.0-0-dbgsym


# dpkg -l | grep -i libgdk-pixbuf2.0-0
ii  libgdk-pixbuf2.0-0:amd64        2.38.0+dfsg-7               amd64        GDK Pixbuf library
ii  libgdk-pixbuf2.0-0-dbgsym:amd64 2.38.0+dfsg-7               amd64        debug symbols for libgdk-pixbuf2.0-0
# dpkg -l | grep librsvg2-common
ii  librsvg2-common:amd64           2.44.10-1                   amd64        SAX-based renderer library for SVG files (extra runtime)
ii  librsvg2-common-dbgsym:amd64    2.44.10-1                   amd64        debug symbols for librsvg2-common





mkdir /tmp/source/librsvg2-common/orig -p
cd    /tmp/source/librsvg2-common/orig
apt source librsvg2-common
cd

mkdir /tmp/source/libgdk-pixbuf2.0-0/orig -p
cd    /tmp/source/libgdk-pixbuf2.0-0/orig
apt source libgdk-pixbuf2.0-0
cd



systemctl start lightdm

# gdb -q --pid $(pidof pcmanfm)


mkdir /tmp/svg
dpkg -S .svg | awk '{ print $2 }' | xargs cp --target-directory=/tmp/svg/ -a --backup=numbered


#############


benutzer at debian:~$ export DISPLAY=:0
benutzer at debian:~$ /usr/bin/pcmanfm /tmp/svg
** Message: 17:52:12.041: x-terminal-emulator has very limited support, consider choose another terminal

(pcmanfm:10147): Gdk-WARNING **: 17:52:12.073: gdk_window_set_icon_list: icons too large
Speicherzugriffsfehler (Speicherabzug geschrieben)


#############


dmesg:
[11810.543206] loader[10151]: segfault at 0 ip 00007f03218f42c0 sp 00007f0321053980 error 4 in libpixbufloader-svg.so[7f03218f4000+1000]
[11810.543215] Code: d9 4c 89 ee e8 c1 fd ff ff 89 c5 85 c0 74 1b bd 01 00 00 00 48 83 c4 08 89 e8 5b 5d 41 5c 41 5d c3 66 0f 1f 84 00 00 00 00 00 <48> 8b 3b 48 c7 03 00 00 00 00 48 85 ff 74 05 e8 0c fe ff ff 48 89


#############


root at debian:~# coredumpctl list
TIME                            PID   UID   GID SIG COREFILE  EXE
Sun 2019-03-17 17:52:21 CET   10147  1000  1000  11 present   /usr/bin/pcmanfm
root at debian:~# coredumpctl gdb 10147
           PID: 10147 (pcmanfm)
           UID: 1000 (benutzer)
           GID: 1000 (benutzer)
        Signal: 11 (SEGV)
     Timestamp: Sun 2019-03-17 17:52:20 CET (3min 12s ago)
  Command Line: /usr/bin/pcmanfm /tmp/svg
    Executable: /usr/bin/pcmanfm
 Control Group: /user.slice/user-1000.slice/session-6.scope
          Unit: session-6.scope
         Slice: user-1000.slice
       Session: 6
     Owner UID: 1000 (benutzer)
       Boot ID: beb8c56635164cbb97f2d1400b903f06
    Machine ID: 32f43b50ac8c4b21941bc0b02f8e7811
      Hostname: debian
       Storage: /var/lib/systemd/coredump/core.pcmanfm.1000.beb8c56635164cbb97f2d1400b903f06.10147.1552841540000000.lz4
       Message: Process 10147 (pcmanfm) of user 1000 dumped core.
                
                Stack trace of thread 10151:
                #0  0x00007f03218f42c0 gdk_pixbuf__svg_image_load_increment (libpixbufloader-svg.so)
                #1  0x00007f03254c212d gdk_pixbuf_loader_load_module (libgdk_pixbuf-2.0.so.0)
                #2  0x00007f03254c2bd8 gdk_pixbuf_loader_eat_header_write (libgdk_pixbuf-2.0.so.0)
                #3  0x00007f03254c0668 gdk_pixbuf_get_file_info (libgdk_pixbuf-2.0.so.0)
                #4  0x00007f0325b86a06 read_image_from_file (libfm-gtk.so.4)
                #5  0x00007f0325326a0c generate_thumbnails_with_builtin (libfm.so.4)
                #6  0x00007f0325327628 generate_thumbnails (libfm.so.4)
                #7  0x00007f032503c425 n/a (libglib-2.0.so.0)
                #8  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #9  0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10157:
                #0  0x00007f0324e2e00c futex_wait_cancelable (libpthread.so.0)
                #1  0x00007f0320417e62 n/a (librsvg-2.so.2)
                #2  0x00007f0320412114 n/a (librsvg-2.so.2)
                #3  0x00007f0320412996 n/a (librsvg-2.so.2)
                #4  0x00007f032041399c n/a (librsvg-2.so.2)
                #5  0x00007f032050d29a n/a (librsvg-2.so.2)
                #6  0x00007f03204133cb n/a (librsvg-2.so.2)
                #7  0x00007f032050311b n/a (librsvg-2.so.2)
                #8  0x00007f03204d49b6 n/a (librsvg-2.so.2)
                #9  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #10 0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10147:
                #0  0x00007f0324d4db69 __GI___poll (libc.so.6)
                #1  0x00007f0324c41cf7 n/a (libxcb.so.1)
                #2  0x00007f0324c4363f n/a (libxcb.so.1)
                #3  0x00007f0324c437b1 xcb_wait_for_reply64 (libxcb.so.1)
                #4  0x00007f0325be2f18 _XReply (libX11.so.6)
                #5  0x00007f0325bd921e XQueryPointer (libX11.so.6)
                #6  0x00007f03256a2e33 n/a (libgdk-x11-2.0.so.0)
                #7  0x00007f032565424e n/a (libgdk-x11-2.0.so.0)
                #8  0x00007f0325654f69 gdk_display_get_window_at_pointer (libgdk-x11-2.0.so.0)
                #9  0x00007f03258f3b9b gtk_tooltip_trigger_tooltip_query (libgtk-x11-2.0.so.0)
                #10 0x00007f032503305d g_slist_foreach (libglib-2.0.so.0)
                #11 0x00007f0325931379 n/a (libgtk-x11-2.0.so.0)
                #12 0x00007f0325652804 n/a (libgdk-x11-2.0.so.0)
                #13 0x00007f0325013dd8 g_main_context_dispatch (libglib-2.0.so.0)
                #14 0x00007f03250141c8 n/a (libglib-2.0.so.0)
                #15 0x00007f03250144c2 g_main_loop_run (libglib-2.0.so.0)
                #16 0x00007f032581b8e7 gtk_main (libgtk-x11-2.0.so.0)
                #17 0x0000563817fd3516 main (pcmanfm)
                #18 0x00007f0324c8309b __libc_start_main (libc.so.6)
                #19 0x0000563817fd358a _start (pcmanfm)
                
                Stack trace of thread 10152:
                #0  0x00007f0324e2e00c futex_wait_cancelable (libpthread.so.0)
                #1  0x00007f0320417e62 n/a (librsvg-2.so.2)
                #2  0x00007f0320412114 n/a (librsvg-2.so.2)
                #3  0x00007f0320412996 n/a (librsvg-2.so.2)
                #4  0x00007f032041399c n/a (librsvg-2.so.2)
                #5  0x00007f032050d29a n/a (librsvg-2.so.2)
                #6  0x00007f03204133cb n/a (librsvg-2.so.2)
                #7  0x00007f032050311b n/a (librsvg-2.so.2)
                #8  0x00007f03204d49b6 n/a (librsvg-2.so.2)
                #9  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #10 0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10163:
                #0  0x00007f0324e2e00c futex_wait_cancelable (libpthread.so.0)
                #1  0x00007f0320417e62 n/a (librsvg-2.so.2)
                #2  0x00007f0320412114 n/a (librsvg-2.so.2)
                #3  0x00007f0320412996 n/a (librsvg-2.so.2)
                #4  0x00007f032041399c n/a (librsvg-2.so.2)
                #5  0x00007f032050d29a n/a (librsvg-2.so.2)
                #6  0x00007f03204133cb n/a (librsvg-2.so.2)
                #7  0x00007f032050311b n/a (librsvg-2.so.2)
                #8  0x00007f03204d49b6 n/a (librsvg-2.so.2)
                #9  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #10 0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10149:
                #0  0x00007f0324d532a9 syscall (libc.so.6)
                #1  0x00007f032505e0ba g_cond_wait_until (libglib-2.0.so.0)
                #2  0x00007f0324fe6091 n/a (libglib-2.0.so.0)
                #3  0x00007f0324fe6651 g_async_queue_timeout_pop (libglib-2.0.so.0)
                #4  0x00007f032503ce61 n/a (libglib-2.0.so.0)
                #5  0x00007f032503c425 n/a (libglib-2.0.so.0)
                #6  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #7  0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10155:
                #0  0x00007f0324e2e00c futex_wait_cancelable (libpthread.so.0)
                #1  0x00007f0320417e62 n/a (librsvg-2.so.2)
                #2  0x00007f0320412114 n/a (librsvg-2.so.2)
                #3  0x00007f0320412996 n/a (librsvg-2.so.2)
                #4  0x00007f032041399c n/a (librsvg-2.so.2)
                #5  0x00007f032050d29a n/a (librsvg-2.so.2)
                #6  0x00007f03204133cb n/a (librsvg-2.so.2)
                #7  0x00007f032050311b n/a (librsvg-2.so.2)
                #8  0x00007f03204d49b6 n/a (librsvg-2.so.2)
                #9  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #10 0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10153:
                #0  0x00007f0324e2e00c futex_wait_cancelable (libpthread.so.0)
                #1  0x00007f0320417e62 n/a (librsvg-2.so.2)
                #2  0x00007f0320412114 n/a (librsvg-2.so.2)
                #3  0x00007f0320412996 n/a (librsvg-2.so.2)
                #4  0x00007f032041399c n/a (librsvg-2.so.2)
                #5  0x00007f032050d29a n/a (librsvg-2.so.2)
                #6  0x00007f03204133cb n/a (librsvg-2.so.2)
                #7  0x00007f032050311b n/a (librsvg-2.so.2)
                #8  0x00007f03204d49b6 n/a (librsvg-2.so.2)
                #9  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #10 0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10154:
                #0  0x00007f0324e2e00c futex_wait_cancelable (libpthread.so.0)
                #1  0x00007f0320417e62 n/a (librsvg-2.so.2)
                #2  0x00007f0320412114 n/a (librsvg-2.so.2)
                #3  0x00007f0320412996 n/a (librsvg-2.so.2)
                #4  0x00007f032041399c n/a (librsvg-2.so.2)
                #5  0x00007f032050d29a n/a (librsvg-2.so.2)
                #6  0x00007f03204133cb n/a (librsvg-2.so.2)
                #7  0x00007f032050311b n/a (librsvg-2.so.2)
                #8  0x00007f03204d49b6 n/a (librsvg-2.so.2)
                #9  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #10 0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10148:
                #0  0x00007f0324d4db69 __GI___poll (libc.so.6)
                #1  0x00007f0325014136 n/a (libglib-2.0.so.0)
                #2  0x00007f032501425c g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007f03250142a1 n/a (libglib-2.0.so.0)
                #4  0x00007f032503c425 n/a (libglib-2.0.so.0)
                #5  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #6  0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10158:
                #0  0x00007f0324e2e00c futex_wait_cancelable (libpthread.so.0)
                #1  0x00007f0320417e62 n/a (librsvg-2.so.2)
                #2  0x00007f0320412114 n/a (librsvg-2.so.2)
                #3  0x00007f0320412996 n/a (librsvg-2.so.2)
                #4  0x00007f032041399c n/a (librsvg-2.so.2)
                #5  0x00007f032050d29a n/a (librsvg-2.so.2)
                #6  0x00007f03204133cb n/a (librsvg-2.so.2)
                #7  0x00007f032050311b n/a (librsvg-2.so.2)
                #8  0x00007f03204d49b6 n/a (librsvg-2.so.2)
                #9  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #10 0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10159:
                #0  0x00007f0324e2e00c futex_wait_cancelable (libpthread.so.0)
                #1  0x00007f0320417e62 n/a (librsvg-2.so.2)
                #2  0x00007f0320412114 n/a (librsvg-2.so.2)
                #3  0x00007f0320412996 n/a (librsvg-2.so.2)
                #4  0x00007f032041399c n/a (librsvg-2.so.2)
                #5  0x00007f032050d29a n/a (librsvg-2.so.2)
                #6  0x00007f03204133cb n/a (librsvg-2.so.2)
                #7  0x00007f032050311b n/a (librsvg-2.so.2)
                #8  0x00007f03204d49b6 n/a (librsvg-2.so.2)
                #9  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #10 0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10162:
                #0  0x00007f0324e2e00c futex_wait_cancelable (libpthread.so.0)
                #1  0x00007f0320417e62 n/a (librsvg-2.so.2)
                #2  0x00007f0320412114 n/a (librsvg-2.so.2)
                #3  0x00007f0320412996 n/a (librsvg-2.so.2)
                #4  0x00007f032041399c n/a (librsvg-2.so.2)
                #5  0x00007f032050d29a n/a (librsvg-2.so.2)
                #6  0x00007f03204133cb n/a (librsvg-2.so.2)
                #7  0x00007f032050311b n/a (librsvg-2.so.2)
                #8  0x00007f03204d49b6 n/a (librsvg-2.so.2)
                #9  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #10 0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10161:
                #0  0x00007f0324e2e00c futex_wait_cancelable (libpthread.so.0)
                #1  0x00007f0320417e62 n/a (librsvg-2.so.2)
                #2  0x00007f0320412114 n/a (librsvg-2.so.2)
                #3  0x00007f0320412996 n/a (librsvg-2.so.2)
                #4  0x00007f032041399c n/a (librsvg-2.so.2)
                #5  0x00007f032050d29a n/a (librsvg-2.so.2)
                #6  0x00007f03204133cb n/a (librsvg-2.so.2)
                #7  0x00007f032050311b n/a (librsvg-2.so.2)
                #8  0x00007f03204d49b6 n/a (librsvg-2.so.2)
                #9  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #10 0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10156:
                #0  0x00007f0324e2e00c futex_wait_cancelable (libpthread.so.0)
                #1  0x00007f0320417e62 n/a (librsvg-2.so.2)
                #2  0x00007f0320412114 n/a (librsvg-2.so.2)
                #3  0x00007f0320412996 n/a (librsvg-2.so.2)
                #4  0x00007f032041399c n/a (librsvg-2.so.2)
                #5  0x00007f032050d29a n/a (librsvg-2.so.2)
                #6  0x00007f03204133cb n/a (librsvg-2.so.2)
                #7  0x00007f032050311b n/a (librsvg-2.so.2)
                #8  0x00007f03204d49b6 n/a (librsvg-2.so.2)
                #9  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #10 0x00007f0324d5882f __clone (libc.so.6)
                
                Stack trace of thread 10160:
                #0  0x00007f0324e2e00c futex_wait_cancelable (libpthread.so.0)
                #1  0x00007f0320417e62 n/a (librsvg-2.so.2)
                #2  0x00007f0320412114 n/a (librsvg-2.so.2)
                #3  0x00007f0320412996 n/a (librsvg-2.so.2)
                #4  0x00007f032041399c n/a (librsvg-2.so.2)
                #5  0x00007f032050d29a n/a (librsvg-2.so.2)
                #6  0x00007f03204133cb n/a (librsvg-2.so.2)
                #7  0x00007f032050311b n/a (librsvg-2.so.2)
                #8  0x00007f03204d49b6 n/a (librsvg-2.so.2)
                #9  0x00007f0324e27fa3 start_thread (libpthread.so.0)
                #10 0x00007f0324d5882f __clone (libc.so.6)

GNU gdb (Debian 8.2.1-2) 8.2.1
Copyright (C) 2018 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-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://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 /usr/bin/pcmanfm...(no debugging symbols found)...done.
[New LWP 10151]
[New LWP 10157]
[New LWP 10147]
[New LWP 10152]
[New LWP 10163]
[New LWP 10149]
[New LWP 10155]
[New LWP 10153]
[New LWP 10154]
[New LWP 10148]
[New LWP 10158]
[New LWP 10159]
[New LWP 10162]
[New LWP 10161]
[New LWP 10156]
[New LWP 10160]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/pcmanfm /tmp/svg'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f03218f42c0 in ?? () from /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
[Current thread is 1 (Thread 0x7f0321056700 (LWP 10151))]

(gdb) set width 0
(gdb) set pagination off
(gdb) bt
#0  0x00007f03218f42c0 in ?? () from /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
#1  0x00007f03254c212d in ?? () from /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
#2  0x00007f03254c2bd8 in gdk_pixbuf_loader_write () from /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
#3  0x00007f03254c0668 in gdk_pixbuf_get_file_info () from /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
#4  0x00007f0325b86a06 in ?? () from /usr/lib/x86_64-linux-gnu/libfm-gtk.so.4
#5  0x00007f0325326a0c in ?? () from /usr/lib/x86_64-linux-gnu/libfm.so.4
#6  0x00007f0325327628 in ?? () from /usr/lib/x86_64-linux-gnu/libfm.so.4
#7  0x00007f032503c425 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007f0324e27fa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#9  0x00007f0324d5882f in clone () from /lib/x86_64-linux-gnu/libc.so.6



(gdb) set width 0
(gdb) set pagination off
(gdb) directory /tmp/source/librsvg2-common/orig/librsvg-2.44.10/gdk-pixbuf-loader
Source directories searched: /tmp/source/librsvg2-common/orig/librsvg-2.44.10/gdk-pixbuf-loader:$cdir:$cwd
(gdb) directory /tmp/source/libgdk-pixbuf2.0-0/orig/gdk-pixbuf-2.38.0+dfsg
Source directories searched: /tmp/source/libgdk-pixbuf2.0-0/orig/gdk-pixbuf-2.38.0+dfsg:/tmp/source/librsvg2-common/orig/librsvg-2.44.10/gdk-pixbuf-loader:$cdir:$cwd
    (gdb) bt
    #0  gdk_pixbuf__svg_image_load_increment (data=<optimized out>, buf=0x7f030c8a347c "<?xml version=\"1\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\" \"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\">\r\n<svg viewBox=\"50 -1 500 594\" width=\"100%\">\n  <metadata>"..., size=4096, error=0x0) at io-svg.c:134
    #1  0x00007f03254c212d in gdk_pixbuf_loader_load_module (loader=loader at entry=0x7f031423b520, image_type=image_type at entry=0x0, error=error at entry=0x0) at ../gdk-pixbuf/gdk-pixbuf-loader.c:426
    #2  0x00007f03254c2bd8 in gdk_pixbuf_loader_eat_header_write (error=0x0, count=4096, buf=0x7f0321053a30 "<?xml version=\"1\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\" \"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\">\r\n<svg viewBox=\"50 -1 500 594\" width=\"100%\">\n  <metadata>"..., loader=0x7f031423b520) at ../gdk-pixbuf/gdk-pixbuf-loader.c:489
    #3  gdk_pixbuf_loader_write (loader=loader at entry=0x7f031423b520, buf=buf at entry=0x7f0321053a30 "<?xml version=\"1\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\" \"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\">\r\n<svg viewBox=\"50 -1 500 594\" width=\"100%\">\n  <metadata>"..., count=4096, error=error at entry=0x0) at ../gdk-pixbuf/gdk-pixbuf-loader.c:535
    #4  0x00007f03254c0668 in gdk_pixbuf_get_file_info (filename=filename at entry=0x7f030c6dde90 "/tmp/svg/coat_of_arms_of_anglica_01.svg", width=width at entry=0x7f0321054a70, height=height at entry=0x7f0321054a74) at ../gdk-pixbuf/gdk-pixbuf-io.c:1934
    #5  0x00007f0325b86a06 in read_image_from_file (filename=0x7f030c6dde90 "/tmp/svg/coat_of_arms_of_anglica_01.svg") at gtk/fm-thumbnail.c:142
    #6  0x00007f0325326a0c in generate_thumbnails_with_builtin (task=task at entry=0x563818d3cdc0) at base/fm-thumbnail-loader.c:979
    #7  0x00007f0325327628 in generate_thumbnails (task=0x563818d3cdc0) at base/fm-thumbnail-loader.c:812
    #8  load_thumbnail_thread (user_data=<optimized out>) at base/fm-thumbnail-loader.c:488
    #9  0x00007f032503c425 in g_thread_proxy (data=0x56381882c5e0) at ../../../glib/gthread.c:784
    #10 0x00007f0324e27fa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
    #11 0x00007f0324d5882f in clone () from /lib/x86_64-linux-gnu/libc.so.6

(gdb) disassemble /m $pc-0x30,$pc+0x10
Dump of assembler code from 0x7f03218f4290 to 0x7f03218f42d0:
133             if (!rsvg_handle_write (context->handle, buf, size, error)) {
   0x00007f03218f4291 <gdk_pixbuf__svg_image_load_increment+49>:        mov    %r12d,%edx
   0x00007f03218f4294 <gdk_pixbuf__svg_image_load_increment+52>:        mov    %rbx,%rcx
   0x00007f03218f4297 <gdk_pixbuf__svg_image_load_increment+55>:        mov    %r13,%rsi
   0x00007f03218f429a <gdk_pixbuf__svg_image_load_increment+58>:        callq  0x7f03218f4060 <rsvg_handle_write at plt>
   0x00007f03218f429f <gdk_pixbuf__svg_image_load_increment+63>:        mov    %eax,%ebp
   0x00007f03218f42a1 <gdk_pixbuf__svg_image_load_increment+65>:        test   %eax,%eax
   0x00007f03218f42a3 <gdk_pixbuf__svg_image_load_increment+67>:        je     0x7f03218f42c0 <gdk_pixbuf__svg_image_load_increment+96>
   0x00007f03218f42a5 <gdk_pixbuf__svg_image_load_increment+69>:        mov    $0x1,%ebp
   0x00007f03218f42aa <gdk_pixbuf__svg_image_load_increment+74>:        add    $0x8,%rsp
   0x00007f03218f42ae <gdk_pixbuf__svg_image_load_increment+78>:        mov    %ebp,%eax
   0x00007f03218f42b0 <gdk_pixbuf__svg_image_load_increment+80>:        pop    %rbx
   0x00007f03218f42b1 <gdk_pixbuf__svg_image_load_increment+81>:        pop    %rbp
   0x00007f03218f42b2 <gdk_pixbuf__svg_image_load_increment+82>:        pop    %r12
   0x00007f03218f42b4 <gdk_pixbuf__svg_image_load_increment+84>:        pop    %r13
   0x00007f03218f42b6 <gdk_pixbuf__svg_image_load_increment+86>:        retq   
   0x00007f03218f42b7 <gdk_pixbuf__svg_image_load_increment+87>:        nopw   0x0(%rax,%rax,1)

134                     g_clear_pointer(error, g_error_free);
=> 0x00007f03218f42c0 <gdk_pixbuf__svg_image_load_increment+96>:        mov    (%rbx),%rdi
   0x00007f03218f42c3 <gdk_pixbuf__svg_image_load_increment+99>:        movq   $0x0,(%rbx)
   0x00007f03218f42ca <gdk_pixbuf__svg_image_load_increment+106>:       test   %rdi,%rdi
   0x00007f03218f42cd <gdk_pixbuf__svg_image_load_increment+109>:       je     0x7f03218f42d4 <gdk_pixbuf__svg_image_load_increment+116>
   0x00007f03218f42cf <gdk_pixbuf__svg_image_load_increment+111>:       callq  0x7f03218f40e0 <g_error_free at plt>

(gdb) print/x $rbx
$1 = 0x0
(gdb) print error
$2 = (GError **) 0x0
(gdb) print g_error_free
$3 = {void (GError *)} 0x7f0324ffe740 <g_error_free>


(gdb) list gdk_pixbuf__svg_image_load_increment
105     static gboolean
106     gdk_pixbuf__svg_image_load_increment (gpointer data,
107                                           const guchar *buf, guint size,
108                                           GError **error)
109     {
110             SvgContext *context = (SvgContext *)data;
111
112             if (error)
113                     *error = NULL;
114
115             if (context->first_write == TRUE) {
116                     context->first_write = FALSE;
117
118                     context->handle = rsvg_handle_new ();
119
120                     if (!context->handle) {
121                             rsvg_propagate_error (error, _("Error displaying image"), ERROR_DISPLAYING_IMAGE);
122                             return FALSE;
123                     }
124
125                     rsvg_handle_set_size_callback (context->handle, context->size_func, context->user_data, NULL);
126             }
127
128             if (!context->handle) {
129                     rsvg_propagate_error (error, _("Error displaying image"), ERROR_DISPLAYING_IMAGE);
130                     return FALSE;
131             }
132
133             if (!rsvg_handle_write (context->handle, buf, size, error)) {
134                     g_clear_pointer(error, g_error_free);                                                      <<<<<<<<<<<<<<<<<<< 
135                     rsvg_propagate_error (error, _("Error writing"), ERROR_WRITING);
136                     return FALSE;
137             }
138
139             return TRUE;
140     }



set width 0
set pagination off
directory /tmp/source/librsvg2-common/orig/librsvg-2.44.10/gdk-pixbuf-loader
directory /tmp/source/libgdk-pixbuf2.0-0/orig/gdk-pixbuf-2.38.0+dfsg


############




Upstream bug:
https://gitlab.gnome.org/GNOME/librsvg/issues/405

Upstream fix:
https://gitlab.gnome.org/GNOME/librsvg/commit/f5608502581207921b3b9e8adc53be7430945ade


More information about the Pkg-lxde-maintainers mailing list