Bug 241087 - Okular crashes when sending two documents to a network printer right after another
Summary: Okular crashes when sending two documents to a network printer right after an...
Status: RESOLVED NOT A BUG
Alias: None
Product: okular
Classification: Applications
Component: PDF backend (show other bugs)
Version: 0.9.2
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-08 11:03 UTC by cmertes
Modified: 2014-05-08 09:44 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description cmertes 2010-06-08 11:03:56 UTC
Application that crashed: okular
Version of the application: 0.9.2
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.2
Operating System: Linux 2.6.31-22-generic-pae i686
Distribution: Linux Mint 8 Helena - Main Edition

What I was doing when the application crashed:
I had two open documents, printed the first one which worked just fine, then sent the next one to the printer which lead to the segfault. Reopening the same document and printing it again with the exact same order of steps went just fine.

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

Thread 4 (Thread 0xb183db70 (LWP 792)):
#0  0xb7711430 in __kernel_vsyscall ()
#1  0xb5a50e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb60a59ad in __pthread_cond_wait (cond=0x9664340, mutex=0x9664328) at forward.c:139
#3  0xb6bf1e67 in QWaitConditionPrivate::wait (this=0x9663f18, mutex=0x9663f14, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x9663f18, mutex=0x9663f14, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb6851dea in QFileInfoGatherer::run (this=0x9663f0c) at dialogs/qfileinfogatherer.cpp:207
#6  0xb6bf0e32 in QThreadPrivate::start (arg=0x9663f0c) at thread/qthread_unix.cpp:188
#7  0xb5a4c80e in start_thread (arg=0xb183db70) at pthread_create.c:300
#8  0xb6098a0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0xb0c80b70 (LWP 793)):
#0  0xb5b1ae06 in *__GI_clock_gettime (clock_id=-1246629900, tp=0xb0c7ffe8) at ../sysdeps/unix/clock_gettime.c:100
#1  0xb6d0dbf3 in QTimerInfoList::getTime (this=0x966b6f4, t=...) at kernel/qeventdispatcher_unix.cpp:339
#2  0xb6d0dde1 in QTimerInfoList::updateCurrentTime (this=0x966b6f4) at kernel/qeventdispatcher_unix.cpp:297
#3  0xb6d0e88c in QTimerInfoList::timerWait (this=0x966b6f4, tm=...) at kernel/qeventdispatcher_unix.cpp:420
#4  0xb6d0c210 in timerSourcePrepare (source=0x966b6c0, timeout=0xb0c800dc) at kernel/qeventdispatcher_glib.cpp:141
#5  0xb5a9bf90 in IA__g_main_context_prepare (context=0x966b940, priority=0xb0c8015c) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2280
#6  0xb5a9c351 in g_main_context_iterate (context=0x966b940, block=<value optimized out>, dispatch=1, self=0x967ae28) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2571
#7  0xb5a9c863 in IA__g_main_context_iteration (context=0x966b940, may_block=1) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2654
#8  0xb6d0c067 in QEventDispatcherGlib::processEvents (this=0x95a1a20, flags=...) at kernel/qeventdispatcher_glib.cpp:329
#9  0xb6cdfc79 in QEventLoop::processEvents (this=0xb0c802a4, flags=) at kernel/qeventloop.cpp:149
#10 0xb6ce00ca in QEventLoop::exec (this=0xb0c802a4, flags=...) at kernel/qeventloop.cpp:201
#11 0xb6bedb73 in QThread::exec (this=0x96648d8) at thread/qthread.cpp:487
#12 0xb6cc26ab in QInotifyFileSystemWatcherEngine::run (this=0x96648d8) at io/qfilesystemwatcher_inotify.cpp:214
#13 0xb6bf0e32 in QThreadPrivate::start (arg=0x96648d8) at thread/qthread_unix.cpp:188
#14 0xb5a4c80e in start_thread (arg=0xb0c80b70) at pthread_create.c:300
#15 0xb6098a0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xaea04b70 (LWP 795)):
#0  0xb7711430 in __kernel_vsyscall ()
#1  0xb5a50e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb60a59ad in __pthread_cond_wait (cond=0x9671f98, mutex=0x9671f80) at forward.c:139
#3  0xb6bf1e67 in QWaitConditionPrivate::wait (this=0x9671558, mutex=0x9671554, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x9671558, mutex=0x9671554, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb5df6922 in QHostInfoAgent::run (this=0x9671548) at kernel/qhostinfo.cpp:260
#6  0xb6bf0e32 in QThreadPrivate::start (arg=0x9671548) at thread/qthread_unix.cpp:188
#7  0xb5a4c80e in start_thread (arg=0xaea04b70) at pthread_create.c:300
#8  0xb6098a0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb56cb700 (LWP 27155)):
[KCrash Handler]
#6  IA__FcFontSetSort (config=0x9062ee8, sets=0xbf8167e0, nsets=2, p=0x980d728, trim=0, csp=0x0, result=0xbf816858) at fcmatch.c:673
#7  0xb593189b in IA__FcFontSort (config=0xbf8167e0, p=0x980d728, trim=0, csp=0x0, result=0xbf816858) at fcmatch.c:835
#8  0xb195c340 in GlobalParams::getDisplayFont(GfxFont*) () from /usr/lib/libpoppler.so.5
#9  0xb197f592 in PreScanOutputDev::beginStringOp(GfxState*) () from /usr/lib/libpoppler.so.5
#10 0xb1936f5c in Gfx::opShowSpaceText(Object*, int) () from /usr/lib/libpoppler.so.5
#11 0xb192a606 in Gfx::execOp(Object*, Object*, int) () from /usr/lib/libpoppler.so.5
#12 0xb192ac29 in Gfx::go(int) () from /usr/lib/libpoppler.so.5
#13 0xb192dc89 in Gfx::display(Object*, int) () from /usr/lib/libpoppler.so.5
#14 0xb19789f0 in Page::displaySlice(OutputDev*, double, double, int, int, int, int, int, int, int, int, Catalog*, int (*)(void*), void*, int (*)(Annot*, void*), void*) ()
   from /usr/lib/libpoppler.so.5
#15 0xb1994423 in PSOutputDev::checkPageSlice(Page*, double, double, int, int, int, int, int, int, int, int, Catalog*, int (*)(void*), void*) () from /usr/lib/libpoppler.so.5
#16 0xb197891d in Page::displaySlice(OutputDev*, double, double, int, int, int, int, int, int, int, int, Catalog*, int (*)(void*), void*, int (*)(Annot*, void*), void*) ()
   from /usr/lib/libpoppler.so.5
#17 0xb1978be1 in Page::display(OutputDev*, double, double, int, int, int, int, Catalog*, int (*)(void*), void*, int (*)(Annot*, void*), void*) () from /usr/lib/libpoppler.so.5
#18 0xb197c5e6 in PDFDoc::displayPage(OutputDev*, int, double, double, int, int, int, int, int (*)(void*), void*, int (*)(Annot*, void*), void*) () from /usr/lib/libpoppler.so.5
#19 0xb1ab1260 in Poppler::PSConverter::convert() () from /usr/lib/libpoppler-qt4.so.3
#20 0xb343496c in ?? () from /usr/lib/kde4/okularGenerator_poppler.so
#21 0xb33a8137 in Okular::Document::print(QPrinter&) () from /usr/lib/libokularcore.so.1
#22 0xb347df2a in ?? () from /usr/lib/kde4/okularpart.so
#23 0xb347e224 in ?? () from /usr/lib/kde4/okularpart.so
#24 0xb348a857 in ?? () from /usr/lib/kde4/okularpart.so
#25 0xb6cf7263 in QMetaObject::activate (sender=0x92a11b0, from_signal_index=5, to_signal_index=6, argv=0xbf817358) at kernel/qobject.cpp:3113
#26 0xb6cf76d8 in QMetaObject::activate (sender=0x92a11b0, m=0xb6b86e48, from_local_signal_index=1, to_local_signal_index=2, argv=0xbf817358) at kernel/qobject.cpp:3207
#27 0xb631e9b1 in QAction::triggered (this=0x92a11b0, _t1=false) at .moc/release-shared/moc_qaction.cpp:236
#28 0xb631ff32 in QAction::activate (this=0x92a11b0, event=QAction::Trigger) at kernel/qaction.cpp:1160
#29 0xb676d9cc in QMenuPrivate::activateCausedStack (this=0x91a9468, causedStack=..., action=0x92a11b0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:967
#30 0xb677403b in QMenuPrivate::activateAction (this=0x91a9468, action=0x92a11b0, action_e=QAction::Trigger, self=<value optimized out>) at widgets/qmenu.cpp:1060
#31 0xb6774bf7 in QMenu::mouseReleaseEvent (this=0x91a9418, e=0xbf817ab0) at widgets/qmenu.cpp:2254
#32 0xb734c1c5 in KMenu::mouseReleaseEvent (this=0x91a9418, e=0xbf817ab0) at ../../kdeui/widgets/kmenu.cpp:456
#33 0xb637a012 in QWidget::event (this=0x91a9418, event=0xbf817ab0) at kernel/qwidget.cpp:7549
#34 0xb6776e34 in QMenu::event (this=0x91a9418, e=0xbf817ab0) at widgets/qmenu.cpp:2353
#35 0xb6324f54 in QApplicationPrivate::notify_helper (this=0x905f420, receiver=0x91a9418, e=0xbf817ab0) at kernel/qapplication.cpp:4056
#36 0xb632d033 in QApplication::notify (this=0xbf8194f8, receiver=0x91a9418, e=0xbf817ab0) at kernel/qapplication.cpp:3758
#37 0xb7261bfa in KApplication::notify (this=0xbf8194f8, receiver=0x91a9418, event=0xbf817ab0) at ../../kdeui/kernel/kapplication.cpp:302
#38 0xb6ce16cb in QCoreApplication::notifyInternal (this=0xbf8194f8, receiver=0x91a9418, event=0xbf817ab0) at kernel/qcoreapplication.cpp:610
#39 0xb632bf6e in QCoreApplication::sendSpontaneousEvent (receiver=0x91a9418, event=0xbf817ab0, alienWidget=0x0, nativeWidget=0x91a9418, buttonDown=0xb6b9faa0, lastMouseReceiver=...)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#40 QApplicationPrivate::sendMouseEvent (receiver=0x91a9418, event=0xbf817ab0, alienWidget=0x0, nativeWidget=0x91a9418, buttonDown=0xb6b9faa0, lastMouseReceiver=...) at kernel/qapplication.cpp:2924
#41 0xb639ac87 in QETWidget::translateMouseEvent (this=0x91a9418, event=0xbf8190fc) at kernel/qapplication_x11.cpp:4343
#42 0xb6399c4b in QApplication::x11ProcessEvent (this=0xbf8194f8, event=0xbf8190fc) at kernel/qapplication_x11.cpp:3428
#43 0xb63c6502 in x11EventSourceDispatch (s=0x9062600, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#44 0xb5a98e88 in g_main_dispatch (context=0x9060f08) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:1960
#45 IA__g_main_context_dispatch (context=0x9060f08) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2513
#46 0xb5a9c730 in g_main_context_iterate (context=0x9060f08, block=<value optimized out>, dispatch=1, self=0x905ee20) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2591
#47 0xb5a9c863 in IA__g_main_context_iteration (context=0x9060f08, may_block=1) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2654
#48 0xb6d0c02c in QEventDispatcherGlib::processEvents (this=0x905f3e0, flags=...) at kernel/qeventdispatcher_glib.cpp:327
#49 0xb63c5be5 in QGuiEventDispatcherGlib::processEvents (this=0x905f3e0, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#50 0xb6cdfc79 in QEventLoop::processEvents (this=0xbf8193f4, flags=) at kernel/qeventloop.cpp:149
#51 0xb6ce00ca in QEventLoop::exec (this=0xbf8193f4, flags=...) at kernel/qeventloop.cpp:201
#52 0xb6ce253f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#53 0xb6324dd7 in QApplication::exec () at kernel/qapplication.cpp:3525
#54 0x0804eec9 in _start ()

Reported using DrKonqi
Comment 1 Pino Toscano 2010-08-08 17:18:21 UTC
Which version of the poppler library do you have installed?
Comment 2 cmertes 2010-08-08 22:00:04 UTC
The question is which version *did* I have – it's been a while. I think I used Ubuntu Karmic at the time which would make it poppler 0.12.0 according to <http://packages.ubuntu.com/karmic/poppler-utils>.
Comment 3 Albert Astals Cid 2010-08-09 02:07:16 UTC
I don't this is a poppler problem, basically i think we miss pdfdoc mutex acquiring on printing and thus printing two documents from the same poppler instance at once just makes things go mad, of course this could and ideally should be fixed by making poppler able to print two different documents at the same time without going crazy.

This is just a guess but GlobalParams being on the stack trace and GlobalParams being "global" per app instead of per document makes me think of it as the probable cause for this crash.
Comment 4 Christoph Feck 2013-09-12 21:44:24 UTC
This crash report is at least 3 years old and there were no further comments or status updates since then.

Therefore we believe that this crash is already fixed in recent KDE 4 versions or the backtrace is no longer applicable to the current KDE 4 sources.

If the crash still happens with a recent KDE version (4.10.5 or 4.11), please add an updated backtrace or provide steps to reproduce. For more information, see http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports

(To prevent automatic closing of this bug in the future, please set the bug status to ASSIGNED or CONFIRMED)
Comment 5 Albert Astals Cid 2014-05-08 09:44:04 UTC
No answer in more than 6 months