Bug 246269 - Okular crashes when printing is attempted with a specific PDF file
Summary: Okular crashes when printing is attempted with a specific PDF file
Status: RESOLVED UPSTREAM
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: 0.10.2
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-30 14:37 UTC by matous.ringel
Modified: 2010-07-30 20:33 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
An example PDF file producing the crash (133.30 KB, application/pdf)
2010-07-30 14:40 UTC, matous.ringel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description matous.ringel 2010-07-30 14:37:23 UTC
Application: okular (0.10.2)
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-23-generic x86_64
Distribution: Ubuntu 10.04 LTS

-- Information about the crash:
When a PDF file created by PrinceXML, which displays without any problems, is attempted to be printed, Okular crashes before printing anything. 

The crash can be reproduced every time.

 -- Backtrace:
Application: Okular (okular), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fd3a4a8e760 (LWP 17754))]

Thread 4 (Thread 0x7fd395e69710 (LWP 17756)):
#0  0x00007fd3a0224a2d in __pthread_mutex_unlock_usercnt (mutex=0x270bdc8) at pthread_mutex_unlock.c:52
#1  __pthread_mutex_unlock (mutex=0x270bdc8) at pthread_mutex_unlock.c:290
#2  0x00007fd39e443ea5 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#3  0x00007fd39e444318 in ?? () from /lib/libglib-2.0.so.0
#4  0x00007fd39e4448fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x00007fd3a3140566 in QEventDispatcherGlib::processEvents (this=0x2641f40, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#6  0x00007fd3a3115992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#7  0x00007fd3a3115d6c in QEventLoop::exec (this=0x7fd395e68db0, flags=) at kernel/qeventloop.cpp:201
#8  0x00007fd3a301fd59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#9  0x00007fd3a30f6178 in QInotifyFileSystemWatcherEngine::run (this=0x270b3b0) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007fd3a3022775 in QThreadPrivate::start (arg=0x270b3b0) at thread/qthread_unix.cpp:248
#11 0x00007fd3a02209ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#12 0x00007fd3a1d616fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fd38b757710 (LWP 18087)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fd3a302372b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x28100e8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x28100e8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fd3a29d6026 in QFileInfoGatherer::run (this=<value optimized out>) at dialogs/qfileinfogatherer.cpp:203
#4  0x00007fd3a3022775 in QThreadPrivate::start (arg=0x28100d8) at thread/qthread_unix.cpp:248
#5  0x00007fd3a02209ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007fd3a1d616fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fd38bf58710 (LWP 18088)):
#0  0x00007fd39e443fee in g_main_context_prepare () from /lib/libglib-2.0.so.0
#1  0x00007fd39e444318 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fd39e4448fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007fd3a3140566 in QEventDispatcherGlib::processEvents (this=0x277b950, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#4  0x00007fd3a3115992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007fd3a3115d6c in QEventLoop::exec (this=0x7fd38bf57db0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007fd3a301fd59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007fd3a30f6178 in QInotifyFileSystemWatcherEngine::run (this=0x2810e80) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fd3a3022775 in QThreadPrivate::start (arg=0x2810e80) at thread/qthread_unix.cpp:248
#9  0x00007fd3a02209ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007fd3a1d616fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fd3a4a8e760 (LWP 17754)):
[KCrash Handler]
#5  0x00007fd39641841a in FoFiType1C::convertToType0 (this=0x2a89830, psName=<value optimized out>, outputFunc=0x2a896c0, outputStream=0x7fffe17115b0) at FoFiType1C.cc:773
#6  0x00007fd3963ec827 in PSOutputDev::setupEmbeddedCIDType0Font (this=0x2a95b10, font=<value optimized out>, id=<value optimized out>, psName=0x2a896c0) at PSOutputDev.cc:2413
#7  0x00007fd3963f4aa4 in PSOutputDev::setupFont (this=0x2a95b10, font=0x2a779c0, parentResDict=0x25ab4d0) at PSOutputDev.cc:1719
#8  0x00007fd3963f4bc7 in PSOutputDev::setupFonts (this=0x2a95b10, resDict=0x25ab4d0) at PSOutputDev.cc:1614
#9  0x00007fd3963f3588 in PSOutputDev::setupResources (this=0x3, resDict=0x1) at PSOutputDev.cc:1499
#10 0x00007fd3963f4ec0 in PSOutputDev::writeDocSetup (this=0x2a95b10, catalog=0x2ce9b90, firstPage=<value optimized out>, lastPage=<value optimized out>, duplexA=<value optimized out>)
    at PSOutputDev.cc:1419
#11 0x00007fd3963f52f6 in PSOutputDev::init (this=0x2a95b10, outputFuncA=<value optimized out>, outputStreamA=<value optimized out>, fileTypeA=<value optimized out>, pstitle=0x2a6b648 "pokus.pdf", 
    xrefA=<value optimized out>, catalog=0x2ce9b90, firstPage=1, lastPage=3, modeA=psModePS, imgLLXA=0, imgLLYA=0, imgURXA=595, imgURYA=842, manualCtrlA=0, paperWidthA=595, paperHeightA=842, 
    duplexA=0) at PSOutputDev.cc:1191
#12 0x00007fd3963f560b in PSOutputDev (this=0x3, outputFuncA=0x1, outputStreamA=0x1, psTitle=<value optimized out>, xrefA=<value optimized out>, catalog=<value optimized out>, firstPage=1, 
    lastPage=3, modeA=psModePS, paperWidthA=595, paperHeightA=842, duplexA=0, imgLLXA=0, imgLLYA=0, imgURXA=595, imgURYA=842, forceRasterizeA=0, manualCtrlA=0) at PSOutputDev.cc:1071
#13 0x00007fd396721ef0 in Poppler::PSConverter::convert (this=<value optimized out>) at poppler-ps-converter.cc:210
#14 0x00007fd396954425 in PDFGenerator::print (this=0x26a8230, printer=...) at ../../../../okular/generators/poppler/generator_pdf.cpp:928
#15 0x00007fd399cbe7de in Okular::Part::doPrint (this=0x22fdd70, printer=...) at ../../okular/part.cpp:2000
#16 0x00007fd399cbeb2b in Okular::Part::slotPrint (this=0x22fdd70) at ../../okular/part.cpp:1952
#17 0x00007fd399cc87cf in Okular::Part::qt_metacall (this=0x22fdd70, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffe1711990) at ./part.moc:234
#18 0x00007fd3a3129e3f in QMetaObject::activate (sender=0x25eb0c0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x2a8caf4) at kernel/qobject.cpp:3293
#19 0x00007fd3a24ca032 in QAction::triggered (this=0x3, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#20 0x00007fd3a24cc0ab in QAction::activate (this=0x25eb0c0, event=<value optimized out>) at kernel/qaction.cpp:1255
#21 0x00007fd3a290b39d in QMenuPrivate::activateCausedStack (this=<value optimized out>, causedStack=..., action=0x25eb0c0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1011
#22 0x00007fd3a2910dda in QMenuPrivate::activateAction (this=0x26265c0, action=0x25eb0c0, action_e=QAction::Trigger, self=<value optimized out>) at widgets/qmenu.cpp:1103
#23 0x00007fd3a3e54cee in KMenu::mouseReleaseEvent (this=0x2631300, e=0x1) at ../../kdeui/widgets/kmenu.cpp:471
#24 0x00007fd3a2526582 in QWidget::event (this=0x2631300, event=0x7fffe17125e0) at kernel/qwidget.cpp:7998
#25 0x00007fd3a2912f9b in QMenu::event (this=0x2631300, e=0x7fffe17125e0) at widgets/qmenu.cpp:2414
#26 0x00007fd3a24d022c in QApplicationPrivate::notify_helper (this=0x2217910, receiver=0x2631300, e=0x7fffe17125e0) at kernel/qapplication.cpp:4300
#27 0x00007fd3a24d6ecb in QApplication::notify (this=0x7fffe17132e0, receiver=0x2631300, e=0x7fffe17125e0) at kernel/qapplication.cpp:3865
#28 0x00007fd3a3d78526 in KApplication::notify (this=0x7fffe17132e0, receiver=0x2631300, event=0x7fffe17125e0) at ../../kdeui/kernel/kapplication.cpp:302
#29 0x00007fd3a311706c in QCoreApplication::notifyInternal (this=0x7fffe17132e0, receiver=0x2631300, event=0x7fffe17125e0) at kernel/qcoreapplication.cpp:704
#30 0x00007fd3a24d60ae in QCoreApplication::sendEvent (receiver=0x2631300, event=0x7fffe17125e0, alienWidget=0x0, nativeWidget=0x2631300, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#31 QApplicationPrivate::sendMouseEvent (receiver=0x2631300, event=0x7fffe17125e0, alienWidget=0x0, nativeWidget=0x2631300, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, 
    spontaneous=true) at kernel/qapplication.cpp:2965
#32 0x00007fd3a25563dd in QETWidget::translateMouseEvent (this=0x2631300, event=<value optimized out>) at kernel/qapplication_x11.cpp:4302
#33 0x00007fd3a25548ac in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffe1712f00) at kernel/qapplication_x11.cpp:3501
#34 0x00007fd3a2580882 in x11EventSourceDispatch (s=0x221b650, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#35 0x00007fd39e4408c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#36 0x00007fd39e444748 in ?? () from /lib/libglib-2.0.so.0
#37 0x00007fd39e4448fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#38 0x00007fd3a3140513 in QEventDispatcherGlib::processEvents (this=0x2200380, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#39 0x00007fd3a258046e in QGuiEventDispatcherGlib::processEvents (this=0x3, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#40 0x00007fd3a3115992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#41 0x00007fd3a3115d6c in QEventLoop::exec (this=0x7fffe1713230, flags=) at kernel/qeventloop.cpp:201
#42 0x00007fd3a3119aab in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#43 0x000000000040889c in main (argc=<value optimized out>, argv=<value optimized out>) at ../../../okular/shell/main.cpp:82

Reported using DrKonqi
Comment 1 matous.ringel 2010-07-30 14:40:15 UTC
Created attachment 49677 [details]
An example PDF file producing the crash
Comment 2 Albert Astals Cid 2010-07-30 14:54:51 UTC
Which poppler version do you use?
Comment 3 matous.ringel 2010-07-30 15:02:14 UTC
libpoppler version: 0.12.4-0ubuntu5

Maybe I should add that Evince prints the file nicely and it uses the same version of libpoppler.
Comment 4 Albert Astals Cid 2010-07-30 20:33:25 UTC
The bug is in poppler. It won't crash anymore in poppler 0.14.2 (i just fixed that) but the output will still be wrong (garbled text), please got to https://bugs.freedesktop.org/ and report a bug against poppler referencing this bug. You will be informed there when the output is correct.

Thanks for reporting the bug.