Bug#924029: evince: Crashes when opening a PDF

Bernhard Übelacker bernhardu at mailbox.org
Sat Mar 23 00:29:07 GMT 2019


Forgot to attach the file with some more information.
-------------- next part --------------

# Buster amd64 qemu VM 2019-03-22

apt update
apt dist-upgrade


apt install dpkg-dev devscripts systemd-coredump xserver-xorg dbus-x11 lightdm openbox evince gdb evince-dbgsym libglib2.0-0-dbgsym libevview3-3-dbgsym libevdocument3-4-dbgsym libpoppler-glib8-dbgsym libstdc++6-8-dbg mc
apt build-dep evince
apt build-dep poppler


systemctl start lightdm




mkdir /tmp/source/poppler/orig -p
cd    /tmp/source/poppler/orig
apt source poppler
cd


mkdir /tmp/source/libevdocument3-4/orig -p
cd    /tmp/source/libevdocument3-4/orig
apt source libevdocument3-4
cd






wget http://sprott.physics.wisc.edu/pubs/paper277.pdf
wget http://sprott.physics.wisc.edu/pubs/paper281.pdf

export DISPLAY=:0
evince paper277.pdf





set width 0
set pagination off
directory /tmp/source/poppler/orig/poppler-0.71.0
directory /tmp/source/libevdocument3-4/orig/evince-3.30.2/backend/pdf
bt
bt full


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


benutzer at debian:~$ export DISPLAY=:0
benutzer at debian:~$ evince paper277.pdf

(evince:21641): Gtk-CRITICAL **: 00:07:34.377: Unable to create user data directory '/home/benutzer/.local/share' for storing the recently used files list: Keine Berechtigung
! SyncTeX Error : No file?
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid
Abgebrochen (Speicherabzug geschrieben)



[  173.334447] audit: type=1400 audit(1553296009.059:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/evince" pid=18284 comm="apparmor_parser"
[  173.334669] audit: type=1400 audit(1553296009.059:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/evince//sanitized_helper" pid=18284 comm="apparmor_parser"
[  173.335496] audit: type=1400 audit(1553296009.059:9): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/evince-previewer" pid=18284 comm="apparmor_parser"
[  173.335633] audit: type=1400 audit(1553296009.059:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/evince-previewer//sanitized_helper" pid=18284 comm="apparmor_parser"
[  173.336071] audit: type=1400 audit(1553296009.059:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/evince-thumbnailer" pid=18284 comm="apparmor_parser"
[  218.650963] audit: type=1400 audit(1553296054.375:12): apparmor="DENIED" operation="mkdir" profile="/usr/bin/evince" name="/home/benutzer/.local/" pid=21641 comm="evince" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000



root at debian:~# coredumpctl list
TIME                            PID   UID   GID SIG COREFILE  EXE
Sat 2019-03-23 00:07:34 CET   21641  1000  1000   6 present   /usr/bin/evince



root at debian:~# coredumpctl gdb 21641
           PID: 21641 (evince)
           UID: 1000 (benutzer)
           GID: 1000 (benutzer)
        Signal: 6 (ABRT)
     Timestamp: Sat 2019-03-23 00:07:34 CET (2min 6s ago)
  Command Line: evince paper277.pdf
    Executable: /usr/bin/evince
 Control Group: /user.slice/user-1000.slice/session-3.scope
          Unit: session-3.scope
         Slice: user-1000.slice
       Session: 3
     Owner UID: 1000 (benutzer)
       Boot ID: 2c6b8ca8c015414689a41c9b96c3ade4
    Machine ID: 32f43b50ac8c4b21941bc0b02f8e7811
      Hostname: debian
       Storage: /var/lib/systemd/coredump/core.evince.1000.2c6b8ca8c015414689a41c9b96c3ade4.21641.1553296054000000.lz4
       Message: Process 21641 (evince) of user 1000 dumped core.
                
                Stack trace of thread 21655:
                #0  0x00007f0a09adf8bb raise (libc.so.6)
                #1  0x00007f0a09aca535 abort (libc.so.6)
                #2  0x00007f0a042ea983 n/a (libstdc++.so.6)
                #3  0x00007f0a042f08e6 n/a (libstdc++.so.6)
                #4  0x00007f0a042f0921 _ZSt9terminatev (libstdc++.so.6)
                #5  0x00007f0a042f0b54 __cxa_throw (libstdc++.so.6)
                #6  0x00007f0a042ec7d3 n/a (libstdc++.so.6)
                #7  0x00007f0a0493b82c poppler_date_parse (libpoppler-glib.so.8)
                #8  0x00007f0a04995307 n/a (libpdfdocument.so)
                #9  0x00007f0a0abba4fa n/a (libevview3.so.3)
                #10 0x00007f0a0abbc4c2 n/a (libevview3.so.3)
                #11 0x00007f0a09e83425 n/a (libglib-2.0.so.0)
                #12 0x00007f0a09c70fa3 start_thread (libpthread.so.0)
                #13 0x00007f0a09ba182f __clone (libc.so.6)
                
                Stack trace of thread 21641:
                #0  0x00007f0a09b96b69 __poll (libc.so.6)
                #1  0x00007f0a09e5b136 n/a (libglib-2.0.so.0)
                #2  0x00007f0a09e5b25c g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007f0a0a07599d g_application_run (libgio-2.0.so.0)
                #4  0x00005652f6ff76e8 n/a (evince)
                #5  0x00007f0a09acc09b __libc_start_main (libc.so.6)
                #6  0x00005652f6ff77ba n/a (evince)
                
                Stack trace of thread 21654:
                #0  0x00007f0a09b96b69 __poll (libc.so.6)
                #1  0x00007f0a09e5b136 n/a (libglib-2.0.so.0)
                #2  0x00007f0a09e5b25c g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007f0a05a3affd n/a (libdconfsettings.so)
                #4  0x00007f0a09e83425 n/a (libglib-2.0.so.0)
                #5  0x00007f0a09c70fa3 start_thread (libpthread.so.0)
                #6  0x00007f0a09ba182f __clone (libc.so.6)
                
                Stack trace of thread 21646:
                #0  0x00007f0a09b96b69 __poll (libc.so.6)
                #1  0x00007f0a09e5b136 n/a (libglib-2.0.so.0)
                #2  0x00007f0a09e5b25c g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007f0a09e5b2a1 n/a (libglib-2.0.so.0)
                #4  0x00007f0a09e83425 n/a (libglib-2.0.so.0)
                #5  0x00007f0a09c70fa3 start_thread (libpthread.so.0)
                #6  0x00007f0a09ba182f __clone (libc.so.6)
                
                Stack trace of thread 21648:
                #0  0x00007f0a09b96b69 __poll (libc.so.6)
                #1  0x00007f0a09e5b136 n/a (libglib-2.0.so.0)
                #2  0x00007f0a09e5b4c2 g_main_loop_run (libglib-2.0.so.0)
                #3  0x00007f0a0a0aef66 n/a (libgio-2.0.so.0)
                #4  0x00007f0a09e83425 n/a (libglib-2.0.so.0)
                #5  0x00007f0a09c70fa3 start_thread (libpthread.so.0)
                #6  0x00007f0a09ba182f __clone (libc.so.6)
                
                Stack trace of thread 21649:
                #0  0x00007f0a09b9c2a9 syscall (libc.so.6)
                #1  0x00007f0a09ea50ba g_cond_wait_until (libglib-2.0.so.0)
                #2  0x00007f0a09e2d091 n/a (libglib-2.0.so.0)
                #3  0x00007f0a09e83f02 n/a (libglib-2.0.so.0)
                #4  0x00007f0a09e83425 n/a (libglib-2.0.so.0)
                #5  0x00007f0a09c70fa3 start_thread (libpthread.so.0)
                #6  0x00007f0a09ba182f __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/evince...(no debugging symbols found)...done.
[New LWP 21655]
[New LWP 21641]
[New LWP 21654]
[New LWP 21646]
[New LWP 21648]
[New LWP 21649]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `evince paper277.pdf'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
[Current thread is 1 (Thread 0x7f0a051a0700 (LWP 21655))]
(gdb) set width 0
(gdb) set pagination off
(gdb) bt
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f0a09aca535 in __GI_abort () at abort.c:79
#2  0x00007f0a042ea983 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007f0a042f08e6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007f0a042f0921 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007f0a042f0b54 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007f0a042ec7d3 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007f0a0493b82c in poppler_date_parse () from /usr/lib/x86_64-linux-gnu/libpoppler-glib.so.8
#8  0x00007f0a04995307 in ?? () from /usr/lib/x86_64-linux-gnu/evince/4/backends/libpdfdocument.so
#9  0x00007f0a0abba4fa in ?? () from /usr/lib/x86_64-linux-gnu/libevview3.so.3
#10 0x00007f0a0abbc4c2 in ?? () from /usr/lib/x86_64-linux-gnu/libevview3.so.3
#11 0x00007f0a09e83425 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007f0a09c70fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#13 0x00007f0a09ba182f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95





root at debian:~# dpkg -S /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
libglib2.0-0:amd64: /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
root at debian:~# dpkg -S /usr/lib/x86_64-linux-gnu/libevview3.so.3
libevview3-3:amd64: /usr/lib/x86_64-linux-gnu/libevview3.so.3
root at debian:~# dpkg -S /usr/lib/x86_64-linux-gnu/evince/4/backends/libpdfdocument.so
libevdocument3-4:amd64: /usr/lib/x86_64-linux-gnu/evince/4/backends/libpdfdocument.so
root at debian:~# dpkg -S /usr/lib/x86_64-linux-gnu/libpoppler-glib.so.8
libpoppler-glib8:amd64: /usr/lib/x86_64-linux-gnu/libpoppler-glib.so.8
root at debian:~# dpkg -S /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libstdc++6:amd64: /usr/lib/x86_64-linux-gnu/libstdc++.so.6





Core was generated by `evince paper277.pdf'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
[Current thread is 1 (Thread 0x7f0a051a0700 (LWP 21655))]
(gdb) set width 0
(gdb) set pagination off
(gdb) directory /tmp/source/poppler/orig/poppler-0.71.0
Source directories searched: /tmp/source/poppler/orig/poppler-0.71.0:$cdir:$cwd
(gdb) directory /tmp/source/libevdocument3-4/orig/evince-3.30.2/backend/pdf
Source directories searched: /tmp/source/libevdocument3-4/orig/evince-3.30.2/backend/pdf:/tmp/source/poppler/orig/poppler-0.71.0:$cdir:$cwd
(gdb) bt
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f0a09aca535 in __GI_abort () at abort.c:79
#2  0x00007f0a042ea983 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:95
#3  0x00007f0a042f08e6 in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
#4  0x00007f0a042f0921 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
#5  0x00007f0a042f0b54 in __cxxabiv1::__cxa_throw (obj=obj at entry=0x7f09f40bde40, tinfo=0x7f0a043d4958 <typeinfo for std::logic_error>, dest=0x7f0a04305520 <std::logic_error::~logic_error()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:95
#6  0x00007f0a042ec7d3 in std::__throw_logic_error (__s=__s at entry=0x7f0a0495f198 "basic_string::_M_construct null not valid") from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007f0a0493b82c in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (__end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>, __beg=0x0, this=0x7f0a0519f9f0) at /usr/include/c++/8/bits/basic_string.tcc:206
#8  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*> (__end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>, __beg=0x0, this=0x7f0a0519f9f0) at /usr/include/c++/8/bits/basic_string.h:236
#9  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (__end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>, __beg=0x0, this=0x7f0a0519f9f0) at /usr/include/c++/8/bits/basic_string.h:255
#10 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string (__a=..., __s=0x0, this=0x7f0a0519f9f0) at /usr/include/c++/8/bits/basic_string.h:516
#11 GooString::GooString (sA=0x0, this=0x7f0a0519f9f0) at ./goo/GooString.h:63
#12 poppler_date_parse (date=date at entry=0x0, timet=timet at entry=0x7f0a0519faa0) at ./glib/poppler-date.cc:42
#13 0x00007f0a04995307 in ev_annot_from_poppler_annot (page=0x5652f7cd0330, poppler_annot=0x5652f78b1340) at ev-poppler.cc:3285
#14 pdf_document_annotations_get_annotations (document_annotations=<optimized out>, page=0x5652f7cd0330) at ev-poppler.cc:3395
#15 0x00007f0a0abba4fa in ev_job_annots_run (job=0x5652f7b53de0) at ev-jobs.c:544
#16 0x00007f0a0abbc4c2 in ev_job_thread (job=0x5652f7b53de0) at ev-job-scheduler.c:184
#17 ev_job_thread_proxy (data=<optimized out>) at ev-job-scheduler.c:217
#18 0x00007f0a09e83425 in g_thread_proxy (data=0x7f09f0002320) at ../../../glib/gthread.c:784
#19 0x00007f0a09c70fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#20 0x00007f0a09ba182f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) bt full
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 128849018883, 139681011987312, 64424509441, 139681011987440, 3, 0, 0, 7453294905665025139, 8245935278391255913, 139681011989504, 139681011989312, 139681011989624, 0, 139681011989640, 0}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007f0a09aca535 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0xb, sa_sigaction = 0xb}, sa_mask = {__val = {0, 3432, 139681090372256, 139681090389763, 139681089071567, 41, 139680997551944, 139681011988768, 139680725894192, 94914340226880, 0, 139681003574716, 139681107047068, 139680725889976, 139681107067272, 139681090390080}}, sa_flags = 70188048, sa_restorer = 0x7f09f40c8430}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007f0a042ea983 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:95
        terminating = true
        t = <optimized out>
#3  0x00007f0a042f08e6 in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
No locals.
#4  0x00007f0a042f0921 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
No locals.
#5  0x00007f0a042f0b54 in __cxxabiv1::__cxa_throw (obj=obj at entry=0x7f09f40bde40, tinfo=0x7f0a043d4958 <typeinfo for std::logic_error>, dest=0x7f0a04305520 <std::logic_error::~logic_error()>) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:95
        globals = <optimized out>
        header = 0x7f09f40bddc0
#6  0x00007f0a042ec7d3 in std::__throw_logic_error (__s=__s at entry=0x7f0a0495f198 "basic_string::_M_construct null not valid") from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No locals.
#7  0x00007f0a0493b82c in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (__end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>, __beg=0x0, this=0x7f0a0519f9f0) at /usr/include/c++/8/bits/basic_string.tcc:206
        __dnew = 94914340226880
        __dnew = <optimized out>
#8  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*> (__end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>, __beg=0x0, this=0x7f0a0519f9f0) at /usr/include/c++/8/bits/basic_string.h:236
No locals.
#9  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (__end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>, __beg=0x0, this=0x7f0a0519f9f0) at /usr/include/c++/8/bits/basic_string.h:255
No locals.
#10 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string (__a=..., __s=0x0, this=0x7f0a0519f9f0) at /usr/include/c++/8/bits/basic_string.h:516
No locals.
#11 GooString::GooString (sA=0x0, this=0x7f0a0519f9f0) at ./goo/GooString.h:63
No locals.
#12 poppler_date_parse (date=date at entry=0x0, timet=timet at entry=0x7f0a0519faa0) at ./glib/poppler-date.cc:42
        t = <optimized out>
        dateString = {<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >> = "\000g\326\367RV\000\000\000\262P\230%\201\301߀\"\r\364\t\177\000\000\000\262P\230%\201\301߀\"\r\364\t\177\000\000@\023\213\367RV\000\000\320\002\315\367RV\000\000@\207\210\367RV\000\000\000\000\000\000\000\000\000\000\aS\231\004\n\177\000\000\000\000\000\000\000\000\000\000@\237\265\367RV\000\000\220\362\005\364\t\177\000\000\000\000\000\000\000\000\000\000\060\003\315\367RV\000\000`S\213\367RV\000\000\340\026\237\367RV\000\000`I\a\364\t\177\000\000\340=\265\367RV\000\000\000\000\000\000\000\300\210@\360\317\005\364\t\177\000\000\001\000\000\000\000\000\000\000 f\r\364\t\177\000\000\240b\277\n\n\177\000\000\000@\001\000\000\000\000\000"..., <No data fields>}
#13 0x00007f0a04995307 in ev_annot_from_poppler_annot (page=0x5652f7cd0330, poppler_annot=0x5652f78b1340) at ev-poppler.cc:3285
        contents = <optimized out>
        color = {pixel = 4094518816, red = 32521, green = 0, blue = 25248}
        utime = 139680725454832
        modified = 0x0
        name = <optimized out>
        ev_annot = 0x7f09f40d2280
        unimplemented_annot = 0x0
        reported_annot = 0
        ev_annot = <optimized out>
        unimplemented_annot = <optimized out>
        reported_annot = <optimized out>
        poppler_text = <optimized out>
        ev_annot_text = <optimized out>
        poppler_annot_attachment = <optimized out>
        poppler_attachment = <optimized out>
        data = <optimized out>
        size = <optimized out>
        error = <optimized out>
        ev_attachment = <optimized out>
        action = <optimized out>
        enum_value = <optimized out>
        enum_value = <optimized out>
        utime = <optimized out>
        modified = <optimized out>
        contents = <optimized out>
        name = <optimized out>
        color = <optimized out>
        markup = <optimized out>
        label = <optimized out>
        opacity = <optimized out>
        poppler_rect = <optimized out>
        ev_rect = <optimized out>
        is_open = <optimized out>
        height = <optimized out>
#14 pdf_document_annotations_get_annotations (document_annotations=<optimized out>, page=0x5652f7cd0330) at ev-poppler.cc:3395
        mapping = 0x5652f7cd02d0
        annot_mapping = <optimized out>
        ev_annot = <optimized out>
        retval = 0x0
        pdf_document = 0x5652f79f16e0
        poppler_page = <optimized out>
        mapping_list = <optimized out>
        annots = 0x5652f78b5360
        list = 0x5652f7888740
        height = 792
        i = <optimized out>
#15 0x00007f0a0abba4fa in ev_job_annots_run (job=0x5652f7b53de0) at ev-jobs.c:544
        mapping_list = <optimized out>
        page = 0x5652f7cd0330
        job_annots = 0x5652f7b53de0
        i = 0
#16 0x00007f0a0abbc4c2 in ev_job_thread (job=0x5652f7b53de0) at ev-job-scheduler.c:184
        result = <optimized out>
        result = <optimized out>
#17 ev_job_thread_proxy (data=<optimized out>) at ev-job-scheduler.c:217
        job = 0x5652f7d79450
#18 0x00007f0a09e83425 in g_thread_proxy (data=0x7f09f0002320) at ../../../glib/gthread.c:784
        thread = 0x7f09f0002320
        __FUNCTION__ = "g_thread_proxy"
        _g_boolean_var_ = <optimized out>
#19 0x00007f0a09c70fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139681011992320, 6601487814051195393, 140721859622526, 140721859622527, 139681011992320, 0, -6518617399466956287, -6518641882241340927}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#20 0x00007f0a09ba182f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.





(gdb) up
#11 GooString::GooString (sA=0x0, this=0x7f0a0519f9f0) at ./goo/GooString.h:63
63        explicit GooString(const char *sA) : std::string(sA) {}

(gdb) print sA
$1 = 0x0





(gdb) up
#12 poppler_date_parse (date=date at entry=0x0, timet=timet at entry=0x7f0a0519faa0) at ./glib/poppler-date.cc:42
42        GooString dateString(date);

(gdb) list poppler-date.cc:42
37      gboolean
38      poppler_date_parse (const gchar *date,
39                          time_t      *timet)
40      {
41        time_t t;
42        GooString dateString(date);                         <<<<<<<<<<<<
43        t = dateStringToTime(&dateString);
44        if (t == (time_t)-1)
45          return FALSE;
46

(gdb) print date
$2 = (const gchar *) 0x0







(gdb) up
#13 0x00007f0a04995307 in ev_annot_from_poppler_annot (page=0x5652f7cd0330, poppler_annot=0x5652f78b1340) at ev-poppler.cc:3285
3285                    if (poppler_date_parse (modified, &utime)) {

(gdb) list ev-poppler.cc:3143,3286
3143    static EvAnnotation *
3144    ev_annot_from_poppler_annot (PopplerAnnot *poppler_annot,
3145                                 EvPage       *page)
3146    {
...
3265            if (ev_annot) {
3266                    time_t   utime;
3267                    gchar   *modified;
3268                    gchar   *contents;
3269                    gchar   *name;
3270                    GdkColor color;
3271
3272                    contents = poppler_annot_get_contents (poppler_annot);
3273                    if (contents) {
3274                            ev_annotation_set_contents (ev_annot, contents);
3275                            g_free (contents);
3276                    }
3277
3278                    name = poppler_annot_get_name (poppler_annot);
3279                    if (name) {
3280                            ev_annotation_set_name (ev_annot, name);
3281                            g_free (name);
3282                    }
3283
3284                    modified = poppler_annot_get_modified (poppler_annot);
3285                    if (poppler_date_parse (modified, &utime)) {                         <<<<<<<<<<<<<<<<<
3286                            ev_annotation_set_modified_from_time (ev_annot, utime);

(gdb) print modified
$5 = (gchar *) 0x0

(gdb) print poppler_annot
$3 = (PopplerAnnot *) 0x5652f78b1340
(gdb) print *poppler_annot
$4 = {parent_instance = {g_type_instance = {g_class = 0x7f09f40c83a0}, ref_count = 1, qdata = 0x0}, annot = 0x7f09f40c7b80}

(gdb) print poppler_annot->annot
$6 = (Annot *) 0x7f09f40c7b80
(gdb) print *poppler_annot->annot
$7 = <incomplete type>













export DISPLAY=:0
gdb -q --args evince paper277.pdf

set width 0
set pagination off
directory /tmp/source/poppler/orig/poppler-0.71.0
directory /tmp/source/libevdocument3-4/orig/evince-3.30.2/backend/pdf
b ev-poppler.cc:3284
y
run




benutzer at debian:~$ gdb -q --args evince paper277.pdf
Reading symbols from evince...Reading symbols from /usr/lib/debug/.build-id/eb/8cf8eae712b645777edb3c92680c1744db59db.debug...done.
done.
(gdb) b ev-poppler.cc:3284
No source file named ev-poppler.cc.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (ev-poppler.cc:3284) pending.
(gdb) run
Starting program: /usr/bin/evince paper277.pdf
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7f1fc0d15700 (LWP 22292)]
[Detaching after fork from child process 22293]
[New Thread 0x7f1fbbfff700 (LWP 22294)]
[New Thread 0x7f1fbb7fe700 (LWP 22295)]
[New Thread 0x7f1fbaffd700 (LWP 22300)]
[New Thread 0x7f1fba7fc700 (LWP 22301)]
! SyncTeX Error : No file?
[Switching to Thread 0x7f1fba7fc700 (LWP 22301)]

Thread 6 "EvJobScheduler" hit Breakpoint 1, ev_annot_from_poppler_annot (page=0x55ce65621330, poppler_annot=0x55ce65204700) at ev-poppler.cc:3284
3284    ev-poppler.cc: Datei oder Verzeichnis nicht gefunden.
(gdb) set width 0
(gdb) set pagination off
(gdb) directory /tmp/source/poppler/orig/poppler-0.71.0
Source directories searched: /tmp/source/poppler/orig/poppler-0.71.0:$cdir:$cwd
(gdb) directory /tmp/source/libevdocument3-4/orig/evince-3.30.2/backend/pdf
Source directories searched: /tmp/source/libevdocument3-4/orig/evince-3.30.2/backend/pdf:/tmp/source/poppler/orig/poppler-0.71.0:$cdir:$cwd
(gdb) down
Bottom (innermost) frame selected; you cannot go down.
(gdb) up
#1  pdf_document_annotations_get_annotations (document_annotations=<optimized out>, page=0x55ce65621330) at ev-poppler.cc:3395
3395                    ev_annot = ev_annot_from_poppler_annot (mapping->annot, page);
(gdb) step
poppler_annot_get_modified (poppler_annot=poppler_annot at entry=0x55ce65204700) at ./glib/poppler-annot.cc:864
864       g_return_val_if_fail (POPPLER_IS_ANNOT (poppler_annot), NULL);
(gdb) next
866       text = poppler_annot->annot->getModified ();
(gdb) print poppler_annot->annot
$1 = (Annot *) 0x7f1fa40c8040
(gdb) print *poppler_annot->annot
$2 = <incomplete type>
(gdb) step
Annot::getModified (this=0x7f1fa40c8040) at ./glib/poppler-annot.cc:866
866       text = poppler_annot->annot->getModified ();
(gdb) print *poppler_annot->annot
No symbol "poppler_annot" in current context.
(gdb) step
std::unique_ptr<GooString, std::default_delete<GooString> >::get (this=0x7f1fa40c8078) at ./glib/poppler-annot.cc:866
866       text = poppler_annot->annot->getModified ();
(gdb) step
std::__uniq_ptr_impl<GooString, std::default_delete<GooString> >::_M_ptr (this=0x7f1fa40c8078) at /usr/include/c++/8/bits/unique_ptr.h:342
342           get() const noexcept
(gdb) print this
$3 = (const std::__uniq_ptr_impl<GooString, std::default_delete<GooString> > * const) 0x7f1fa40c8078
(gdb) print *this
$4 = {_M_t = std::tuple containing = {[1] = 0x0, [2] = {<std::default_delete<GooString>> = {<No data fields>}, <No data fields>}}}
(gdb) next
[Thread 0x7f1fbb7fe700 (LWP 22295) exited]
poppler_annot_get_modified (poppler_annot=poppler_annot at entry=0x55ce65204700) at ./glib/poppler-annot.cc:868
868       return text ? _poppler_goo_string_to_utf8 (text) : nullptr;
(gdb) print text
$5 = (const GooString *) 0x0
(gdb) bt
#0  poppler_annot_get_modified (poppler_annot=poppler_annot at entry=0x55ce65204700) at ./glib/poppler-annot.cc:868
#1  0x00007f1fc02c92f7 in ev_annot_from_poppler_annot (page=0x55ce65621330, poppler_annot=0x55ce65204700) at ev-poppler.cc:3284
#2  pdf_document_annotations_get_annotations (document_annotations=<optimized out>, page=0x55ce65621330) at ev-poppler.cc:3395
#3  0x00007f1fc45974fa in ev_job_annots_run (job=0x55ce65483540) at ev-jobs.c:544
#4  0x00007f1fc45994c2 in ev_job_thread (job=0x55ce65483540) at ev-job-scheduler.c:184
#5  ev_job_thread_proxy (data=<optimized out>) at ev-job-scheduler.c:217
#6  0x00007f1fc3860425 in g_thread_proxy (data=0x55ce654cb450) at ../../../glib/gthread.c:784
#7  0x00007f1fc364dfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#8  0x00007f1fc357e82f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) finish
Run till exit from #0  poppler_annot_get_modified (poppler_annot=poppler_annot at entry=0x55ce65204700) at ./glib/poppler-annot.cc:868
0x00007f1fc02c92f7 in ev_annot_from_poppler_annot (page=0x55ce65621330, poppler_annot=0x55ce65204700) at ev-poppler.cc:3284
3284                    modified = poppler_annot_get_modified (poppler_annot);
Value returned is $6 = (gchar *) 0x0
(gdb) next
3285                    if (poppler_date_parse (modified, &utime)) {
(gdb) next
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid

Thread 6 "EvJobScheduler" received signal SIGABRT, Aborted.
__GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
(gdb) kill
Kill the program being debugged? (y or n) y
[Inferior 1 (process 22288) killed]
(gdb) q






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




cd /tmp/source/libevdocument3-4
cp orig try1 -a
cd try1/evince-3.30.2
git init
git add .
git commit -m "Initial commit"
# change files
git add backend/pdf/ev-poppler.cc
git config user.name "..."
git config user.email "..."
git commit
git format-patch -o .. -1

dpkg-buildpackage -b

dpkg -i /tmp/source/libevdocument3-4/try1/{{evince,evince-dbgsym,libevdocument3-4,libevdocument3-4-dbgsym,libevview3-3,libevview3-3-dbgsym}_3.30.2-3_amd64.deb,evince-common_3.30.2-3_all.deb}




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



cd /tmp/source/poppler
cp orig try1 -a
cd try1/poppler-0.71.0
wget "https://gitlab.freedesktop.org/poppler/poppler/commit/8f158da92c53ae16a368f844965f57ba8ffed77d.patch" -O ../8f158da92c53ae16a368f844965f57ba8ffed77d.patch
patch -p1 < ../8f158da92c53ae16a368f844965f57ba8ffed77d.patch
dpkg-buildpackage -b

dpkg -i /tmp/source/poppler/try1/{gir1.2-poppler-0.18,libpoppler-dev,libpoppler-glib-dev,libpoppler-glib8,libpoppler-glib8-dbgsym,libpoppler82}_0.71.0-3_amd64.deb


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



https://gitlab.freedesktop.org/poppler/poppler/issues/670

https://gitlab.freedesktop.org/poppler/poppler/commit/8f158da92c53ae16a368f844965f57ba8ffed77d



More information about the Pkg-freedesktop-maintainers mailing list