[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#972715: atril: segfault on opening an epub file



Dear Maintainer,
I could reproduce this issue and attached patch avoids the crash.
This makes it possible to view at least some pages.
But there is still another issue with referencing the pages
containing a space in their names, which got encoded in
content.opf to %20, and atril encodes again to %2520.
I guess upstream needs to have a look at this epub.

Kind regards,
Bernhard
Description: Avoid crash on certain epub files

Author: Bernhard Übelacker <bernhardu@mailbox.org>
Bug-Debian: https://bugs.debian.org/972715
Forwarded: no
Last-Update: 2020-11-01

Index: atril-1.24.0/backend/epub/epub-document.c
===================================================================
--- atril-1.24.0.orig/backend/epub/epub-document.c
+++ atril-1.24.0/backend/epub/epub-document.c
@@ -1280,7 +1280,7 @@ setup_document_index(EpubDocument *epub_
     		xml_parse_children_of_node(navLabel,(xmlChar*)"text",NULL,NULL);
             linknode *newnode = g_new0(linknode,1);
     		newnode->linktext = NULL;
-    		while (newnode->linktext == NULL) {
+    		while (xmlretval && newnode->linktext == NULL) {
         		newnode->linktext = (gchar*)xml_get_data_from_node(xmlretval,XML_KEYWORD,NULL);
     			xmlretval = xmlretval->next;
     		}
@@ -1599,7 +1599,7 @@ page_set_function(linknode *Link, GList
 	contentListNode *pagedata;
 
 	guint flag=0;
-	while (!flag) {
+	while (listiter && !flag) {
 		pagedata = listiter->data;
 		if (link_present_on_page(Link->pagelink, pagedata->value)) {
 			flag=1;

# Bullseye/testing amd64 qemu VM 2020-11-01


apt update
apt dist-upgrade


apt install systemd-coredump mc htop psmisc net-tools fakeroot quilt lightdm xserver-xorg mate rr gdb atril-dbgsym libglib2.0-0-dbgsym libatrilview3-dbgsym libatrildocument3-dbgsym
apt build-dep atril


reboot

# for current rr
dpkg --purge rr
apt install sshfs
echo 1 > /proc/sys/kernel/perf_event_paranoid
mkdir -p /home/bernhard/data/entwicklung/2020/rr
sshfs -o allow_other,uid=1000,gid=1000 bernhard@192.168.178.25:/home/bernhard/data/entwicklung/2020/rr /home/bernhard/data/entwicklung/2020/rr




mkdir /home/benutzer/source/atril/orig -p
cd    /home/benutzer/source/atril/orig
apt source atril
cd


wget "https://arkhamarchivist.com/ebook/The%20Complete%20Works%20of%20HP%20Lovecraft.epub"; -O Lovecraft.epub


export DISPLAY=:0
LANG=C atril /tmp/Lovecraft.epub



benutzer@debian:~$ export DISPLAY=:0
benutzer@debian:~$ LANG=C atril /tmp/Lovecraft.epub
Speicherzugriffsfehler (Speicherabzug geschrieben)


root@debian:~# journalctl -e
Nov 01 00:26:12 debian kernel: EvJobScheduler[8349]: segfault at 18 ip 00007fad28609570 sp 00007fad20bfb8f8 error 4 in libepubdocument.so[7fad28608000+7000]
Nov 01 00:26:12 debian kernel: Code: 48 85 f6 74 0d 4c 89 e7 e8 bd ed ff ff e9 10 ff ff ff ba 05 00 00 00 48 8d 35 84 5d 00 00 e9 38 ff ff ff 0f 1f 80 00 00 00 00 <48> 8b 77 18 48 8b 3d a5 9a 00>
Nov 01 00:26:12 debian systemd[1]: Created slice system-systemd\x2dcoredump.slice.
Nov 01 00:26:12 debian systemd[1]: Started Process Core Dump (PID 8350/UID 0).
Nov 01 00:26:13 debian systemd[1]: systemd-coredump@0-8350-0.service: Succeeded.


root@debian:~# coredumpctl list
TIME                            PID   UID   GID SIG COREFILE  EXE
Sun 2020-11-01 00:26:13 CET    8336  1000  1000  11 present   /usr/bin/atril




root@debian:~# cd /home/benutzer/source/atril/orig/atril-1.24.0/backend/epub
root@debian:/home/benutzer/source/atril/orig/atril-1.24.0/backend/epub# coredumpctl gdb 8336
           PID: 8336 (atril)
           UID: 1000 (benutzer)
           GID: 1000 (benutzer)
        Signal: 11 (SEGV)
     Timestamp: Sun 2020-11-01 00:26:12 CET (1min 37s ago)
  Command Line: atril /tmp/Lovecraft.epub
    Executable: /usr/bin/atril
 Control Group: /user.slice/user-1000.slice/session-5.scope
          Unit: session-5.scope
         Slice: user-1000.slice
       Session: 5
     Owner UID: 1000 (benutzer)
       Boot ID: 6f6865f89dce40bd9780531de2826637
    Machine ID: 33f18f39d2a9438eb75b0ed52848afcd
      Hostname: debian
       Storage: /var/lib/systemd/coredump/core.atril.1000.6f6865f89dce40bd9780531de2826637.8336.1604186772000000.zst
       Message: Process 8336 (atril) of user 1000 dumped core.
                
                Stack trace of thread 8349:
                #0  0x00007fad28609570 n/a (libepubdocument.so + 0x3570)
                #1  0x00007fad2860a4d5 n/a (libepubdocument.so + 0x44d5)
                #2  0x00007fad3410e602 ev_document_load (libatrildocument.so.3 + 0x14602)
                #3  0x00007fad3411031b ev_document_factory_get_document (libatrildocument.so.3 + 0x1631b)
                #4  0x00007fad340c223c n/a (libatrilview.so.3 + 0x1f23c)
                #5  0x00007fad340c3242 n/a (libatrilview.so.3 + 0x20242)
                #6  0x00007fad3329ddbd n/a (libglib-2.0.so.0 + 0x7adbd)
                #7  0x00007fad330c5ea7 start_thread (libpthread.so.0 + 0x8ea7)
                #8  0x00007fad32ff5d4f __clone (libc.so.6 + 0xfdd4f)
                
                Stack trace of thread 8337:
                #0  0x00007fad32feb35f __GI___poll (libc.so.6 + 0xf335f)
                #1  0x00007fad33274dde n/a (libglib-2.0.so.0 + 0x51dde)
                #2  0x00007fad33274eff g_main_context_iteration (libglib-2.0.so.0 + 0x51eff)
                #3  0x00007fad33274f51 n/a (libglib-2.0.so.0 + 0x51f51)
                #4  0x00007fad3329ddbd n/a (libglib-2.0.so.0 + 0x7adbd)
                #5  0x00007fad330c5ea7 start_thread (libpthread.so.0 + 0x8ea7)
                #6  0x00007fad32ff5d4f __clone (libc.so.6 + 0xfdd4f)
                
                Stack trace of thread 8345:
                #0  0x00007fad330cc7b2 futex_wait_cancelable (libpthread.so.0 + 0xf7b2)
                #1  0x00007fad2c25078c _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE (libstdc++.so.6 + 0xc978c)
                #2  0x00007fad2e1ca291 _ZN7bmalloc9Scavenger13threadRunLoopEv (libjavascriptcoregtk-4.0.so.18 + 0x13cc291)
                #3  0x00007fad2e1ca599 _ZN7bmalloc9Scavenger16threadEntryPointEPS0_ (libjavascriptcoregtk-4.0.so.18 + 0x13cc599)
                #4  0x00007fad2c255c10 n/a (libstdc++.so.6 + 0xcec10)
                #5  0x00007fad330c5ea7 start_thread (libpthread.so.0 + 0x8ea7)
                #6  0x00007fad32ff5d4f __clone (libc.so.6 + 0xfdd4f)
                
                Stack trace of thread 8348:
                #0  0x00007fad32feb35f __GI___poll (libc.so.6 + 0xf335f)
                #1  0x00007fad33274dde n/a (libglib-2.0.so.0 + 0x51dde)
                #2  0x00007fad3327513b g_main_loop_run (libglib-2.0.so.0 + 0x5213b)
                #3  0x00007fad2e1ba4c8 _ZN3WTF7RunLoop3runEv (libjavascriptcoregtk-4.0.so.18 + 0x13bc4c8)
                #4  0x00007fad2e16e499 _ZN3WTF6Thread10entryPointEPNS0_16NewThreadContextE (libjavascriptcoregtk-4.0.so.18 + 0x1370499)
                #5  0x00007fad2e1bc679 n/a (libjavascriptcoregtk-4.0.so.18 + 0x13be679)
                #6  0x00007fad330c5ea7 start_thread (libpthread.so.0 + 0x8ea7)
                #7  0x00007fad32ff5d4f __clone (libc.so.6 + 0xfdd4f)
                
                Stack trace of thread 8347:
                #0  0x00007fad32feb35f __GI___poll (libc.so.6 + 0xf335f)
                #1  0x00007fad33274dde n/a (libglib-2.0.so.0 + 0x51dde)
                #2  0x00007fad3327513b g_main_loop_run (libglib-2.0.so.0 + 0x5213b)
                #3  0x00007fad2e1ba4c8 _ZN3WTF7RunLoop3runEv (libjavascriptcoregtk-4.0.so.18 + 0x13bc4c8)
                #4  0x00007fad2e16e499 _ZN3WTF6Thread10entryPointEPNS0_16NewThreadContextE (libjavascriptcoregtk-4.0.so.18 + 0x1370499)
                #5  0x00007fad2e1bc679 n/a (libjavascriptcoregtk-4.0.so.18 + 0x13be679)
                #6  0x00007fad330c5ea7 start_thread (libpthread.so.0 + 0x8ea7)
                #7  0x00007fad32ff5d4f __clone (libc.so.6 + 0xfdd4f)
                
                Stack trace of thread 8339:
                #0  0x00007fad32ff0919 syscall (libc.so.6 + 0xf8919)
                #1  0x00007fad332c5fb2 g_cond_wait_until (libglib-2.0.so.0 + 0xa2fb2)
                #2  0x00007fad33244591 n/a (libglib-2.0.so.0 + 0x21591)
                #3  0x00007fad3329e7fa n/a (libglib-2.0.so.0 + 0x7b7fa)
                #4  0x00007fad3329ddbd n/a (libglib-2.0.so.0 + 0x7adbd)
                #5  0x00007fad330c5ea7 start_thread (libpthread.so.0 + 0x8ea7)
                #6  0x00007fad32ff5d4f __clone (libc.so.6 + 0xfdd4f)
                
                Stack trace of thread 8338:
                #0  0x00007fad32feb35f __GI___poll (libc.so.6 + 0xf335f)
                #1  0x00007fad33274dde n/a (libglib-2.0.so.0 + 0x51dde)
                #2  0x00007fad3327513b g_main_loop_run (libglib-2.0.so.0 + 0x5213b)
                #3  0x00007fad334c9746 n/a (libgio-2.0.so.0 + 0x11b746)
                #4  0x00007fad3329ddbd n/a (libglib-2.0.so.0 + 0x7adbd)
                #5  0x00007fad330c5ea7 start_thread (libpthread.so.0 + 0x8ea7)
                #6  0x00007fad32ff5d4f __clone (libc.so.6 + 0xfdd4f)
                
                Stack trace of thread 8336:
                #0  0x00007fad32feb35f __GI___poll (libc.so.6 + 0xf335f)
                #1  0x00007fad33274dde n/a (libglib-2.0.so.0 + 0x51dde)
                #2  0x00007fad33274eff g_main_context_iteration (libglib-2.0.so.0 + 0x51eff)
                #3  0x00007fad3348d425 g_application_run (libgio-2.0.so.0 + 0xdf425)
                #4  0x0000557cd83886a2 n/a (atril + 0x216a2)
                #5  0x00007fad32f1ecca __libc_start_main (libc.so.6 + 0x26cca)
                #6  0x0000557cd838877a n/a (atril + 0x2177a)
                
                Stack trace of thread 8346:
                #0  0x00007fad330ccad8 futex_abstimed_wait_cancelable (libpthread.so.0 + 0xfad8)
                #1  0x00007fad2e1bce5b _ZN3WTF15ThreadCondition9timedWaitERNS_5MutexENS_8WallTimeE (libjavascriptcoregtk-4.0.so.18 + 0x13bee5b)
                #2  0x00007fad2e16a15b _ZN3WTF10ParkingLot21parkConditionallyImplEPKvRKNS_12ScopedLambdaIFbvEEERKNS3_IFvvEEERKNS_24TimeWithDynamicClockTypeE (libjavascriptcoregtk-4.0.so.18 + 0x136c15b)
                #3  0x00007fad2e16d77a _ZN3WTF5sleepENS_7SecondsE (libjavascriptcoregtk-4.0.so.18 + 0x136f77a)
                #4  0x00007fad3048201a n/a (libwebkit2gtk-4.0.so.37 + 0xb7601a)
                #5  0x00007fad30482739 n/a (libwebkit2gtk-4.0.so.37 + 0xb76739)
                #6  0x00007fad2e16e499 _ZN3WTF6Thread10entryPointEPNS0_16NewThreadContextE (libjavascriptcoregtk-4.0.so.18 + 0x1370499)
                #7  0x00007fad2e1bc679 n/a (libjavascriptcoregtk-4.0.so.18 + 0x13be679)
                #8  0x00007fad330c5ea7 start_thread (libpthread.so.0 + 0x8ea7)
                #9  0x00007fad32ff5d4f __clone (libc.so.6 + 0xfdd4f)
                
                Stack trace of thread 8344:
                #0  0x00007fad32feb35f __GI___poll (libc.so.6 + 0xf335f)
                #1  0x00007fad33274dde n/a (libglib-2.0.so.0 + 0x51dde)
                #2  0x00007fad33274eff g_main_context_iteration (libglib-2.0.so.0 + 0x51eff)
                #3  0x00007fad286ab38d n/a (libdconfsettings.so + 0xa38d)
                #4  0x00007fad3329ddbd n/a (libglib-2.0.so.0 + 0x7adbd)
                #5  0x00007fad330c5ea7 start_thread (libpthread.so.0 + 0x8ea7)
                #6  0x00007fad32ff5d4f __clone (libc.so.6 + 0xfdd4f)

GNU gdb (Debian 9.2-1) 9.2
Copyright (C) 2020 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/atril...
(No debugging symbols found in /usr/bin/atril)
[New LWP 8349]
[New LWP 8337]
[New LWP 8345]
[New LWP 8348]
[New LWP 8347]
[New LWP 8339]
[New LWP 8338]
[New LWP 8336]
[New LWP 8346]
[New LWP 8344]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `atril /tmp/Lovecraft.epub'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fad28609570 in ?? () from /usr/lib/x86_64-linux-gnu/atril/3/backends/libepubdocument.so
[Current thread is 1 (Thread 0x7fad20bfc700 (LWP 8349))]
(gdb) set width 0
(gdb) set pagination off
(gdb) display/i $pc
1: x/i $pc
=> 0x7fad28609570:      mov    0x18(%rdi),%rsi
(gdb) bt
#0  0x00007fad28609570 in  () at /usr/lib/x86_64-linux-gnu/atril/3/backends/libepubdocument.so
#1  0x00007fad2860a4d5 in  () at /usr/lib/x86_64-linux-gnu/atril/3/backends/libepubdocument.so
#2  0x00007fad3410e602 in ev_document_load () at /lib/x86_64-linux-gnu/libatrildocument.so.3
#3  0x00007fad3411031b in ev_document_factory_get_document () at /lib/x86_64-linux-gnu/libatrildocument.so.3
#4  0x00007fad340c223c in  () at /lib/x86_64-linux-gnu/libatrilview.so.3
#5  0x00007fad340c3242 in  () at /lib/x86_64-linux-gnu/libatrilview.so.3
#6  0x00007fad3329ddbd in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007fad330c5ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#8  0x00007fad32ff5d4f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)


Core was generated by `atril /tmp/Lovecraft.epub'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  xml_get_data_from_node (node=0x0, attributename=<optimized out>, rettype=<optimized out>) at epub-document.c:610
610            datastring= xmlNodeListGetString(xmldocument,node->xmlChildrenNode, 1);
[Current thread is 1 (Thread 0x7fad20bfc700 (LWP 8349))]
(gdb) set width 0
(gdb) set pagination off
(gdb) directory /home/benutzer/source/atril/orig/atril-1.24.0/backend/epub
Source directories searched: /home/benutzer/source/atril/orig/atril-1.24.0/backend/epub:$cdir:$cwd
(gdb) display/i $pc
1: x/i $pc
=> 0x7fad28609570 <xml_get_data_from_node>:     mov    0x18(%rdi),%rsi
(gdb) bt
#0  xml_get_data_from_node (node=0x0, attributename=<optimized out>, rettype=<optimized out>) at epub-document.c:610
#1  0x00007fad2860a4d5 in xml_get_data_from_node (attributename=0x0, rettype=XML_KEYWORD, node=<optimized out>) at epub-document.c:1284
#2  setup_document_index (containeruri=0x7facc0011d10 "file:///tmp/atril-8336/Lovecraft.epubKWIBT0/OEBPS/content.opf", epub_document=0x7facc000f0e0 [EpubDocument]) at epub-document.c:1284
#3  epub_document_load (document=<optimized out>, uri=<optimized out>, error=0x7fad20bfba50) at epub-document.c:1744
#4  0x00007fad3410e602 in ev_document_load (document=document@entry=0x7facc000f0e0 [EpubDocument], uri=uri@entry=0x557cd8b2a9a0 "file:///tmp/Lovecraft.epub", error=error@entry=0x7fad20bfbac0) at ev-document.c:230
#5  0x00007fad3411031b in ev_document_factory_get_document (uri=<optimized out>, error=error@entry=0x7fad20bfbb10) at ev-document-factory.c:277
#6  0x00007fad340c223c in ev_job_load_run (job=0x557cd8b36370 [EvJobLoad]) at ev-jobs.c:1111
#7  0x00007fad340c3242 in ev_job_thread (job=0x557cd8b36370 [EvJobLoad]) at ev-job-scheduler.c:184
#8  ev_job_thread_proxy (data=<optimized out>) at ev-job-scheduler.c:217
#9  0x00007fad3329ddbd in g_thread_proxy (data=0x557cd88ecd80) at ../../../glib/gthread.c:820
#10 0x00007fad330c5ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007fad32ff5d4f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)




benutzer@debian:~/source/atril/orig/atril-1.24.0/backend/epub$ LANG=C /home/bernhard/data/entwicklung/2020/rr/2020-10-30/obj_x86_64/bin/rr atril /tmp/Lovecraft.epub
rr: Saving execution to trace directory `/home/benutzer/.local/share/rr/atril-1'.
Speicherzugriffsfehler


/home/bernhard/data/entwicklung/2020/rr/2020-10-30/obj_x86_64/bin/rr replay /home/benutzer/.local/share/rr/atril-1
set width 0
set pagination off
directory /home/benutzer/source/atril/orig/atril-1.24.0/backend/epub
display/i $pc
cont
bt
display/x $rdi
reverse-stepi
reverse-stepi
reverse-stepi
reverse-stepi
reverse-stepi
reverse-stepi
print *xmlretval
undisp 2
display xmlretval
reverse-next
reverse-next
reverse-next
reverse-next
print *xmlretval
reverse-next
reverse-next
reverse-next
reverse-next
print *xmlretval
reverse-next
reverse-next
reverse-next
reverse-next
print *xmlretval
reverse-next

benutzer@debian:~/source/atril/orig/atril-1.24.0/backend/epub$ /home/bernhard/data/entwicklung/2020/rr/2020-10-30/obj_x86_64/bin/rr replay /home/benutzer/.local/share/rr/atril-1
GNU gdb (Debian 9.2-1) 9.2
Copyright (C) 2020 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/atril...
Reading symbols from /usr/lib/debug/.build-id/7f/5bbdc1b4028bf7495cd9ab43e22bf0e7faf84a.debug...
Really redefine built-in command "restart"? (y or n) [answered Y; input not from terminal]
Remote debugging using 127.0.0.1:15344
Reading symbols from /lib64/ld-linux-x86-64.so.2...
Reading symbols from /usr/lib/debug/.build-id/73/b5f3f35d011747d94a91cce4412ca4545451e2.debug...
0x00007f7392b46090 in _start () from /lib64/ld-linux-x86-64.so.2
(rr) set width 0
(rr) set pagination off
(rr) directory /home/benutzer/source/atril/orig/atril-1.24.0/backend/epub
Source directories searched: /home/benutzer/source/atril/orig/atril-1.24.0/backend/epub:$cdir:$cwd
(rr) display/i $pc
1: x/i $pc
=> 0x7f7392b46090 <_start>:     mov    %rsp,%rdi
(rr) cont
Continuing.
[New Thread 14596.14609]
[New Thread 14596.14597]
[New Thread 14596.14598]
[New Thread 14596.14599]
[New Thread 14596.14604]
[New Thread 14596.14605]
[New Thread 14596.14606]
[New Thread 14596.14607]
[New Thread 14596.14608]

Thread 2 received signal SIGSEGV, Segmentation fault.
[Switching to Thread 14596.14609]
xml_get_data_from_node (node=0x0, attributename=<optimized out>, rettype=<optimized out>) at epub-document.c:610
610            datastring= xmlNodeListGetString(xmldocument,node->xmlChildrenNode, 1);
1: x/i $pc
=> 0x7f7384872570 <xml_get_data_from_node>:     mov    0x18(%rdi),%rsi
(rr) bt
#0  xml_get_data_from_node (node=0x0, attributename=<optimized out>, rettype=<optimized out>) at epub-document.c:610
#1  0x00007f73848734d5 in xml_get_data_from_node (attributename=0x0, rettype=XML_KEYWORD, node=<optimized out>) at epub-document.c:1284
#2  setup_document_index (containeruri=0x7f732403fad0 "file:///tmp/atril-14596/Lovecraft.epubSHRYS0/OEBPS/content.opf", epub_document=0x7f732400f8e0 [EpubDocument]) at epub-document.c:1284
#3  epub_document_load (document=<optimized out>, uri=<optimized out>, error=0x7f7375ffba50) at epub-document.c:1744
#4  0x00007f7392ae2602 in ev_document_load (document=document@entry=0x7f732400f8e0 [EpubDocument], uri=uri@entry=0x559ef6a725d0 "file:///tmp/Lovecraft.epub", error=error@entry=0x7f7375ffbac0) at ev-document.c:230
#5  0x00007f7392ae431b in ev_document_factory_get_document (uri=<optimized out>, error=error@entry=0x7f7375ffbb10) at ev-document-factory.c:277
#6  0x00007f7392a9623c in ev_job_load_run (job=0x559ef6af2f70 [EvJobLoad]) at ev-jobs.c:1111
#7  0x00007f7392a97242 in ev_job_thread (job=0x559ef6af2f70 [EvJobLoad]) at ev-job-scheduler.c:184
#8  ev_job_thread_proxy (data=<optimized out>) at ev-job-scheduler.c:217
#9  0x00007f7391c71dbd in g_thread_proxy (data=0x559ef68b0d80) at ../../../glib/gthread.c:820
#10 0x00007f7391a99ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007f73919c9d4f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(rr) display/x $rdi
2: /x $rdi = 0x0
(rr) reverse-stepi

Thread 2 received signal SIGSEGV, Segmentation fault.
xml_get_data_from_node (node=0x0, attributename=<optimized out>, rettype=<optimized out>) at epub-document.c:610
610            datastring= xmlNodeListGetString(xmldocument,node->xmlChildrenNode, 1);
1: x/i $pc
=> 0x7f7384872570 <xml_get_data_from_node>:     mov    0x18(%rdi),%rsi
2: /x $rdi = 0x0
(rr) reverse-stepi
xml_get_data_from_node (attributename=0x0, rettype=XML_KEYWORD, node=0x0) at epub-document.c:1284
1284                            newnode->linktext = (gchar*)xml_get_data_from_node(xmlretval,XML_KEYWORD,NULL);
1: x/i $pc
=> 0x7f73848734d0 <epub_document_load+1568>:    callq  0x7f7384872570 <xml_get_data_from_node>
2: /x $rdi = 0x0
(rr) reverse-stepi
0x00007f73848734ee in setup_document_index (containeruri=0x7f732403fad0 "file:///tmp/atril-14596/Lovecraft.epubSHRYS0/OEBPS/content.opf", epub_document=0x7f732400f8e0 [EpubDocument]) at epub-document.c:1283
1283                    while (newnode->linktext == NULL) {
1: x/i $pc
=> 0x7f73848734ee <epub_document_load+1598>:    je     0x7f73848734d0 <epub_document_load+1568>
2: /x $rdi = 0x0
(rr) reverse-stepi
1283                    while (newnode->linktext == NULL) {
1: x/i $pc
=> 0x7f73848734eb <epub_document_load+1595>:    test   %rax,%rax
2: /x $rdi = 0x0
(rr) reverse-stepi
0x00007f73848734e4      1285                            xmlretval = xmlretval->next;
1: x/i $pc
=> 0x7f73848734e4 <epub_document_load+1588>:    mov    %rdi,0x8b25(%rip)        # 0x7f738487c010 <xmlretval>
2: /x $rdi = 0x0
(rr) reverse-stepi
1285                            xmlretval = xmlretval->next;
1: x/i $pc
=> 0x7f73848734e0 <epub_document_load+1584>:    mov    0x30(%rdx),%rdi
2: /x $rdi = 0x7f732400c000
(rr) print *xmlretval
$1 = {_private = 0x0, type = XML_TEXT_NODE, name = 0x7f7392a16dea <xmlStringText> "text", children = 0x0, last = 0x0, parent = 0x7f732403da60, next = 0x0, prev = 0x7f732403dba0, doc = 0x7f732400c000, ns = 0x0, content = 0x7f732403e3f0 "\n", ' ' <repeats 12 times>, properties = 0x0, nsDef = 0x0, psvi = 0x0, line = 19, extra = 0}
(rr) undisp 2
(rr) display xmlretval
3: xmlretval = (xmlNodePtr) 0x7f732403dc40
(rr) reverse-next
612         return datastring;
1: x/i $pc
=> 0x7f73848734d5 <epub_document_load+1573>:    mov    0x8b34(%rip),%rdx        # 0x7f738487c010 <xmlretval>
3: xmlretval = (xmlNodePtr) 0x7f732403dc40
(rr) reverse-next
1284                            newnode->linktext = (gchar*)xml_get_data_from_node(xmlretval,XML_KEYWORD,NULL);
1: x/i $pc
=> 0x7f73848734d0 <epub_document_load+1568>:    callq  0x7f7384872570 <xml_get_data_from_node>
3: xmlretval = (xmlNodePtr) 0x7f732403dc40
(rr) reverse-next
1283                    while (newnode->linktext == NULL) {
1: x/i $pc
=> 0x7f73848734eb <epub_document_load+1595>:    test   %rax,%rax
3: xmlretval = (xmlNodePtr) 0x7f732403dc40
(rr) reverse-next
1285                            xmlretval = xmlretval->next;
1: x/i $pc
=> 0x7f73848734e0 <epub_document_load+1584>:    mov    0x30(%rdx),%rdi
3: xmlretval = (xmlNodePtr) 0x7f732403dba0
(rr) print *xmlretval
$2 = {_private = 0x0, type = XML_ELEMENT_NODE, name = 0x7f732403dc20 "text", children = 0x0, last = 0x0, parent = 0x7f732403da60, next = 0x7f732403dc40, prev = 0x7f732403db00, doc = 0x7f732400c000, ns = 0x7f7324043150, content = 0x0, properties = 0x0, nsDef = 0x0, psvi = 0x0, line = 18, extra = 0}
(rr) reverse-next
612         return datastring;
1: x/i $pc
=> 0x7f73848734d5 <epub_document_load+1573>:    mov    0x8b34(%rip),%rdx        # 0x7f738487c010 <xmlretval>
3: xmlretval = (xmlNodePtr) 0x7f732403dba0
(rr) reverse-next
1284                            newnode->linktext = (gchar*)xml_get_data_from_node(xmlretval,XML_KEYWORD,NULL);
1: x/i $pc
=> 0x7f73848734d0 <epub_document_load+1568>:    callq  0x7f7384872570 <xml_get_data_from_node>
3: xmlretval = (xmlNodePtr) 0x7f732403dba0
(rr) reverse-next
1283                    while (newnode->linktext == NULL) {
1: x/i $pc
=> 0x7f73848734eb <epub_document_load+1595>:    test   %rax,%rax
3: xmlretval = (xmlNodePtr) 0x7f732403dba0
(rr) reverse-next
1285                            xmlretval = xmlretval->next;
1: x/i $pc
=> 0x7f73848734e0 <epub_document_load+1584>:    mov    0x30(%rdx),%rdi
3: xmlretval = (xmlNodePtr) 0x7f732403db00
(rr) print *xmlretval
$3 = {_private = 0x0, type = XML_TEXT_NODE, name = 0x7f7392a16dea <xmlStringText> "text", children = 0x0, last = 0x0, parent = 0x7f732403da60, next = 0x7f732403dba0, prev = 0x0, doc = 0x7f732400c000, ns = 0x0, content = 0x7f732403db80 "\n", ' ' <repeats 16 times>, properties = 0x0, nsDef = 0x0, psvi = 0x0, line = 18, extra = 0}
(rr) reverse-next
612         return datastring;
1: x/i $pc
=> 0x7f73848734d5 <epub_document_load+1573>:    mov    0x8b34(%rip),%rdx        # 0x7f738487c010 <xmlretval>
3: xmlretval = (xmlNodePtr) 0x7f732403db00
(rr) reverse-next
1284                            newnode->linktext = (gchar*)xml_get_data_from_node(xmlretval,XML_KEYWORD,NULL);
1: x/i $pc
=> 0x7f73848734d0 <epub_document_load+1568>:    callq  0x7f7384872570 <xml_get_data_from_node>
3: xmlretval = (xmlNodePtr) 0x7f732403db00
(rr) reverse-next
1283                    while (newnode->linktext == NULL) {
1: x/i $pc
=> 0x7f73848734c6 <epub_document_load+1558>:    nopw   %cs:0x0(%rax,%rax,1)
3: xmlretval = (xmlNodePtr) 0x7f732403db00
(rr) reverse-next
1281                linknode *newnode = g_new0(linknode,1);
1: x/i $pc
=> 0x7f73848734aa <epub_document_load+1530>:    mov    $0x20,%edi
3: xmlretval = (xmlNodePtr) 0x7f732403db00
(rr) print *xmlretval
$4 = {_private = 0x0, type = XML_TEXT_NODE, name = 0x7f7392a16dea <xmlStringText> "text", children = 0x0, last = 0x0, parent = 0x7f732403da60, next = 0x7f732403dba0, prev = 0x0, doc = 0x7f732400c000, ns = 0x0, content = 0x7f732403db80 "\n", ' ' <repeats 16 times>, properties = 0x0, nsDef = 0x0, psvi = 0x0, line = 18, extra = 0}
(rr) reverse-next
1280                    xml_parse_children_of_node(navLabel,(xmlChar*)"text",NULL,NULL);
1: x/i $pc
=> 0x7f73848734a1 <epub_document_load+1521>:    mov    0x18(%rax),%rdi
3: xmlretval = (xmlNodePtr) 0x0
(rr)




cd /home/benutzer/source/atril
cp orig try1 -a
cd try1/atril-1.24.0
mc -e backend/epub/epub-document.c:1283
dpkg-source --commit
quilt refresh
dpkg-buildpackage -uc

cd /home/benutzer/source/atril/try1
dpkg -i atril_1.24.0-1_amd64.deb atril-common_1.24.0-1_all.deb atril-dbgsym_1.24.0-1_amd64.deb libatrildocument3_1.24.0-1_amd64.deb libatrildocument3-dbgsym_1.24.0-1_amd64.deb libatrilview3_1.24.0-1_amd64.deb libatrilview3-dbgsym_1.24.0-1_amd64.deb




file:///tmp/atril-75716/Lovecraft.epubZVI0S0/OEBPS/Text/Table%2520of%2520Contents.xhtml
file:///tmp/atril-75716/Lovecraft.epubZVI0S0/OEBPS/Text/Table%20of%20Contents.xhtml

Reply to: