Bug 338061 - Okular modify a PDF content when highlight
Summary: Okular modify a PDF content when highlight
Status: CONFIRMED
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: 0.19.3
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2014-08-05 19:31 UTC by Brallan Aguilar
Modified: 2017-12-03 15:25 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
File where the crash were produced (42 bytes, text/plain)
2014-08-06 00:08 UTC, Brallan Aguilar
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Brallan Aguilar 2014-08-05 19:31:07 UTC
Application: okular (0.19.3)
KDE Platform Version: 4.13.3
Qt Version: 4.8.6
Operating System: Linux 3.15.7-200.fc20.i686 i686
Distribution: "Fedora release 20 (Heisenbug)"

-- Information about the crash:
- What I was doing when the application crashed: 
1. Open a PDF eBook
2. Highlight a pair of lines (accessed pressing F6)
3. Occured and odd behaviour: All content in the page where I highlight simply dissapeared and the blue color of the highlight (because I'm using the 'Inverse colors' from 'Accessibilty') is the only showed (excluding their text). The content in other pages was also modified (only pictures can be viewed, no text)
4. Delete the highlight
5. Crash occur

When I reopen the eBook, I see the same as before deleting the highlight.

The crash can be reproduced every time.

-- Backtrace:
Application: Okular (okular), signal: Aborted
Using host libthread_db library "/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0xb77537c0 (LWP 2743))]

Thread 2 (Thread 0xb55dfb40 (LWP 2771)):
[KCrash Handler]
#7  0xb7791b1c in __kernel_vsyscall ()
#8  0x49eeab96 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#9  0x49eec3d3 in __GI_abort () at abort.c:89
#10 0x49ee3c27 in __assert_fail_base (fmt=0x4a033eb8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x4860f713 "pageobj != __null", file=file@entry=0x4860f6ba "Annot.cc", line=line@entry=1808, function=function@entry=0x48613554 <Annot::getRotation() const::__PRETTY_FUNCTION__> "int Annot::getRotation() const") at assert.c:92
#11 0x49ee3cd7 in __GI___assert_fail (assertion=0x4860f713 "pageobj != __null", file=0x4860f6ba "Annot.cc", line=1808, function=0x48613554 <Annot::getRotation() const::__PRETTY_FUNCTION__> "int Annot::getRotation() const") at assert.c:101
#12 0x48506a83 in Annot::getRotation (this=0xa142600) at Annot.cc:1808
#13 0x48507410 in AnnotTextMarkup::draw (this=0xa142600, gfx=0xb3e46fa0, printing=false) at Annot.cc:3823
#14 0x48591165 in Page::displaySlice (this=0x9e70a68, out=out@entry=0xb3e00610, hDPI=hDPI@entry=169.52433046515054, vDPI=vDPI@entry=169.40000000000001, rotate=rotate@entry=0, useMediaBox=useMediaBox@entry=false, crop=crop@entry=true, sliceX=sliceX@entry=-1, sliceY=sliceY@entry=-1, sliceW=sliceW@entry=-1, sliceH=sliceH@entry=-1, printing=printing@entry=false, abortCheckCbk=abortCheckCbk@entry=0x0, abortCheckCbkData=abortCheckCbkData@entry=0x0, annotDisplayDecideCbk=annotDisplayDecideCbk@entry=0x0, annotDisplayDecideCbkData=annotDisplayDecideCbkData@entry=0x0, copyXRef=copyXRef@entry=true) at Page.cc:605
#15 0x4859944f in PDFDoc::displayPageSlice (this=0x9e288a0, out=out@entry=0xb3e00610, page=21, hDPI=hDPI@entry=169.52433046515054, vDPI=vDPI@entry=169.40000000000001, rotate=rotate@entry=0, useMediaBox=useMediaBox@entry=false, crop=crop@entry=true, printing=printing@entry=false, sliceX=sliceX@entry=-1, sliceY=sliceY@entry=-1, sliceW=sliceW@entry=-1, sliceH=sliceH@entry=-1, abortCheckCbk=abortCheckCbk@entry=0x0, abortCheckCbkData=abortCheckCbkData@entry=0x0, annotDisplayDecideCbk=annotDisplayDecideCbk@entry=0x0, annotDisplayDecideCbkData=annotDisplayDecideCbkData@entry=0x0, copyXRef=copyXRef@entry=true) at PDFDoc.cc:498
#16 0xb56ae2d3 in Poppler::Page::renderToImage (this=0xb3e4cd00, xres=169.52433046515054, yres=169.40000000000001, x=-1, y=-1, w=-1, h=-1, rotate=Poppler::Page::Rotate0) at poppler-page.cc:317
#17 0xb573470a in PDFGenerator::image (this=0x9df2b50, request=0x9cec690) at /usr/src/debug/okular-4.13.3/generators/poppler/generator_pdf.cpp:934
#18 0xb668a1f5 in Okular::PixmapGenerationThread::run (this=0xa284d08) at /usr/src/debug/okular-4.13.3/core/generator_p.cpp:64
#19 0x4e7f2bdb in QThreadPrivate::start (arg=0xa284d08) at thread/qthread_unix.cpp:349
#20 0x4a089d8a in start_thread (arg=0xb55dfb40) at pthread_create.c:309
#21 0x49fb3a0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 1 (Thread 0xb77537c0 (LWP 2743)):
#0  0xb7791b1c in __kernel_vsyscall ()
#1  0x4a0906ab in read () at ../sysdeps/unix/syscall-template.S:81
#2  0x4a2aa106 in read (__nbytes=16, __buf=0xbfae5bcc, __fd=<optimized out>) at /usr/include/bits/unistd.h:44
#3  g_wakeup_acknowledge (wakeup=0x99a0898) at gwakeup.c:212
#4  0x4a26534b in g_main_context_check (context=context@entry=0x99c8448, max_priority=2147483647, fds=fds@entry=0x99c5dc8, n_fds=n_fds@entry=6) at gmain.c:3514
#5  0x4a265822 in g_main_context_iterate (context=context@entry=0x99c8448, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3710
#6  0x4a2659e9 in g_main_context_iteration (context=0x99c8448, may_block=1) at gmain.c:3774
#7  0x4e941dcf in QEventDispatcherGlib::processEvents (this=this@entry=0x99a6e48, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#8  0x4ec8d25c in QGuiEventDispatcherGlib::processEvents (this=0x99a6e48, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#9  0x4e90eac0 in QEventLoop::processEvents (this=this@entry=0xbfae5dc4, flags=...) at kernel/qeventloop.cpp:149
#10 0x4e90ee51 in QEventLoop::exec (this=this@entry=0xbfae5dc4, flags=...) at kernel/qeventloop.cpp:204
#11 0x4e914c7b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#12 0x4ebd4e95 in QApplication::exec () at kernel/qapplication.cpp:3823
#13 0x0804f876 in main (argc=6, argv=0xbfae5ff4) at /usr/src/debug/okular-4.13.3/shell/main.cpp:174

Possible duplicates by query: bug 336885, bug 335915.

Reported using DrKonqi
Comment 1 Albert Astals Cid 2014-08-05 19:55:24 UTC
Whihc poppler version do you have?

Can you attach the pdf file?
Comment 2 Brallan Aguilar 2014-08-05 23:50:41 UTC
(In reply to Albert Astals Cid from comment #1)
> Whihc poppler version do you have?
> 
> Can you attach the pdf file?

Poppler version: 0.24.3
Comment 3 Brallan Aguilar 2014-08-06 00:08:25 UTC
Created attachment 88132 [details]
File where the crash were produced

I perform the highlight at final of page 21
When I can deactivate the link to the file (to avoid Copyright problems)?
Comment 4 Albert Astals Cid 2014-08-06 19:10:11 UTC
I got the file, you can remove it from box.com now
Comment 5 Albert Astals Cid 2014-08-06 19:14:05 UTC
Page 21 as in the one that has "Relativity 1" as title or page 21 as the one that starts with text "already discovered that although the clocks in S are syn" ?
Comment 6 Brallan Aguilar 2014-08-06 20:51:10 UTC
(In reply to Albert Astals Cid from comment #5)
> Page 21 as in the one that has "Relativity 1" as title or page 21 as the one
> that starts with text "already discovered that although the clocks in S are
> syn" ?

It has Relativity I
Comment 7 Albert Astals Cid 2014-08-06 20:56:07 UTC
Yeah, can reproduce
Comment 8 null 2017-11-26 22:40:51 UTC
Albert/Brellan: Could you retest with the document in question (it is not publicly available anymore) whether it still crashes a Qt5 based Okular? In general the instructions given do not lead to a crash for me.
Comment 9 Brallan Aguilar 2017-11-27 04:45:17 UTC
(In reply to Henrik Fehlauer from comment #8)
> Albert/Brellan: Could you retest with the document in question (it is not
> publicly available anymore) whether it still crashes a Qt5 based Okular? In
> general the instructions given do not lead to a crash for me.

Hello. The odd behavior occurs but not the crash. Here is the file https://goo.gl/hxHTkF
Comment 10 null 2017-11-27 17:04:16 UTC
Thanks, Brallan (and sorry for misspelling your name). Can confirm that even with Poppler 0.61 the rendering gets in a bad state as soon as you add any annotation, and upon saving we get "Lost annotation on document save, something went wrong", but no crash on exit.

Extracting a single page with pdfseparate, pdftk and qpdf does not trigger the bug (tested with page 21, i.e. page 3 as written on the page). This means that as a workaround you can "repair" the PDF with "qpdf in.pdf out.pdf".

Albert: I think this problem might be in Poppler, as with Okular's MuPDF backend highlighting works fine.

Bug 334343 sounds similar.
Comment 11 Albert Astals Cid 2017-12-02 10:11:35 UTC
Yes, it is most probable poppler, but someone has to actually have time to make sure of it
Comment 12 Brallan Aguilar 2017-12-03 15:25:51 UTC
(In reply to Henrik Fehlauer from comment #10)
> Thanks, Brallan (and sorry for misspelling your name). Can confirm that even
> with Poppler 0.61 the rendering gets in a bad state as soon as you add any
> annotation, and upon saving we get "Lost annotation on document save,
> something went wrong", but no crash on exit.
> 
> Extracting a single page with pdfseparate, pdftk and qpdf does not trigger
> the bug (tested with page 21, i.e. page 3 as written on the page). This
> means that as a workaround you can "repair" the PDF with "qpdf in.pdf
> out.pdf".
> 
> Albert: I think this problem might be in Poppler, as with Okular's MuPDF
> backend highlighting works fine.
> 
> Bug 334343 sounds similar.

I am using Poppler 0.61.1