User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2 Build Identifier: Crashes printing hand-crafted Postscript envelope file to PDF format Worked before most recent update Reproducible: Always Steps to Reproduce: 1. open PS file 2.select File/Print: Printer Name: Print to File(PDF) 3.select Properties:Page Actual Results: Crash Reporting Assistant crashes with Unhandled Bugzilla Error when trying to log in to report error(!!?). Expected Results: Previous versions created a PDF which could be printed on another computer. --------------------entire PS input: %!PS <</PageSize [677 302] /ManualFeed true>>setpagedevice /Helvetica 11 selectfont 40 260 moveto (My Name)show 40 247 moveto (My Address)show 40 234 moveto (My City, State, Postcode)show /Helvetica 13 selectfont 240 160 moveto (CORSAIR MEMORY)show 240 140 moveto (DEPT CM 12-904)show 240 120 moveto (PO BOX 540027)show 240 100 moveto (EL PASO TX 88554-0027)show showpage --------Head of backtrace: ---------------------------------------------------- Application: okular (0.13.2) KDE Platform Version: 4.7.2 (4.7.2) "release 5" Qt Version: 4.7.4 Operating System: Linux 3.1.9-1.4-desktop x86_64 Distribution: "openSUSE 12.1 (x86_64)" -- Information about the crash: <In detail, tell us what you were doing when the application crashed.> Printing to PDF file The crash can be reproduced every time. -- Backtrace: Application: Okular (okular), signal: Segmentation fault [Current thread is 1 (Thread 0x7f038e616760 (LWP 30606))] Thread 4 (Thread 0x7f0377fea700 (LWP 30607)): #0 0x00007f03897ace6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f038c11c4bb in wait (time=18446744073709551615, this=0x9ff710) at thread/qwaitcondition_unix.cpp:88 #2 QWaitCondition::wait (this=<optimized out>, mutex=0xa06ae0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160 #3 0x00007f038c118ef5 in QSemaphore::acquire (this=0xa25ec0, n=1) at thread/qsemaphore.cpp:144 #4 0x00007f037b2bfb6f in GSRendererThread::run (this=0xa25eb0) at /usr/src/debug/okular-4.7.2/generators/spectre/rendererthread.cpp:50 #5 0x00007f038c11c025 in QThreadPrivate::start (arg=0xa25eb0) at thread/qthread_unix.cpp:331 #6 0x00007f03897a8f05 in start_thread () from /lib64/libpthread.so.0 #7 0x00007f038b86963d in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7f037701f700 (LWP 30610)): #0 0x00007f03897ace6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f038c11c4bb in wait (time=18446744073709551615, this=0xaec390) at thread/qwaitcondition_unix.cpp:88 #2 QWaitCondition::wait (this=<optimized out>, mutex=0xaebd68, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160 #3 0x00007f038d0cb554 in QFileInfoGatherer::run (this=0xaebd58) at dialogs/qfileinfogatherer.cpp:214 #4 0x00007f038c11c025 in QThreadPrivate::start (arg=0xaebd58) at thread/qthread_unix.cpp:331 #5 0x00007f03897a8f05 in start_thread () from /lib64/libpthread.so.0 #6 0x00007f038b86963d in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7f037681e700 (LWP 30611)): #0 0x00007fff699a498f in clock_gettime () #1 0x00007f038611ce91 in clock_gettime () from /lib64/librt.so.1 #2 0x00007f038c16c114 in do_gettime (frac=0x7f037681db78, sec=0x7f037681db70) at tools/qelapsedtimer_unix.cpp:123 #3 qt_gettime () at tools/qelapsedtimer_unix.cpp:140 #4 0x00007f038c22dd2d in QTimerInfoList::updateCurrentTime (this=0x7f036c0020d0) at kernel/qeventdispatcher_unix.cpp:339 #5 0x00007f038c22e063 in QTimerInfoList::timerWait (this=0x7f036c0020d0, tm=...) at kernel/qeventdispatcher_unix.cpp:442 #6 0x00007f038c22cacc in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7f037681dc5c) at kernel/qeventdispatcher_glib.cpp:136 #7 0x00007f038c22cb75 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169 #8 0x00007f0388347b22 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0 #9 0x00007f038834892d in ?? () from /usr/lib64/libglib-2.0.so.0
Your backtrace is incomplete, where is the Thread 1 information?
Reproduced this bug. The thread 1 information is attached. Sorry for the absence of debug symbols. It seems that crash happens in libspectre, not okular. Thread 1 (Thread 0x7f755c6d2760 (LWP 7517)): [KCrash Handler] #6 0x00007f754129ccda in spectre_exporter_pdf_do_page () from /usr/lib/libspectre.so.1 #7 0x00007f75414b6f3f in GSGenerator::print(QPrinter&) () from /usr/lib/kde4/okularGenerator_ghostview.so #8 0x00007f754574b271 in Okular::Part::doPrint(QPrinter&) () from /usr/lib/kde4/okularpart.so #9 0x00007f7545756deb in Okular::Part::slotPrint() () from /usr/lib/kde4/okularpart.so #10 0x00007f754575781a in Okular::Part::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/kde4/okularpart.so #11 0x00007f7559502bb1 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #12 0x00007f755a18b352 in QAction::triggered(bool) () from /usr/lib/libQtGui.so.4 #13 0x00007f755a18b53f in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQtGui.so.4 #14 0x00007f755a5b8099 in ?? () from /usr/lib/libQtGui.so.4 #15 0x00007f755a5be1f2 in ?? () from /usr/lib/libQtGui.so.4 #16 0x00007f755af8dd40 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5 #17 0x00007f755a1e1d74 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4 #18 0x00007f755a5bf78b in QMenu::event(QEvent*) () from /usr/lib/libQtGui.so.4 #19 0x00007f755a1917e4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #20 0x00007f755a196e83 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #21 0x00007f755aeccd66 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #22 0x00007f75594eedbc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #23 0x00007f755a1927b2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4 #24 0x00007f755a20e634 in ?? () from /usr/lib/libQtGui.so.4 #25 0x00007f755a20cd8a in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4 #26 0x00007f755a234612 in ?? () from /usr/lib/libQtGui.so.4 #27 0x00007f755494283d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #28 0x00007f7554943038 in g_main_context_iterate.isra.21 () from /usr/lib/libglib-2.0.so.0 #29 0x00007f7554943209 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #30 0x00007f755951dd4f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #31 0x00007f755a2342ae in ?? () from /usr/lib/libQtGui.so.4 #32 0x00007f75594ed8f2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #33 0x00007f75594edb47 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #34 0x00007f75594f2965 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #35 0x0000000000408006 in main ()
Oh wait, the ps file was embedded in the comment instead of attached, hilarious :D
Yep, it's an upstream bug.
Actually there's a fix for that since years, spectre maintainer hasn't done a release containing it though https://bugs.freedesktop.org/show_bug.cgi?id=31512