Bug 256467 - Okular crashes when printing a PS file to PDF
Summary: Okular crashes when printing a PS file to PDF
Status: RESOLVED UPSTREAM
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: 0.10.4
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-09 20:27 UTC by nickjon
Modified: 2010-11-10 15:30 UTC (History)
0 users

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 nickjon 2010-11-09 20:27:04 UTC
Application: okular (0.10.4)
KDE Platform Version: 4.4.4 (KDE 4.4.4) "release 3"
Qt Version: 4.6.3
Operating System: Linux 2.6.34.7-0.5-desktop x86_64
Distribution: "openSUSE 11.3 (x86_64)"

-- Information about the crash:
Open a PS file printed from Acrobat.  Disable DRM in Okular.  Open PS file, try to save as PDF or print to PDF.  It is not possible. 

The crash can be reproduced every time.

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

Thread 4 (Thread 0x7fc43cf36710 (LWP 868)):
#0  0x00007fc44d88139c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fc4507f02bb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc4507ecaf4 in QSemaphore::acquire(int) () from /usr/lib64/libQtCore.so.4
#3  0x00007fc43fd0127b in GSRendererThread::run (this=0x86a460) at /usr/src/debug/kdegraphics-4.4.4/okular/generators/spectre/rendererthread.cpp:50
#4  0x00007fc4507efbf5 in ?? () from /usr/lib64/libQtCore.so.4
#5  0x00007fc44d87ca4f in start_thread () from /lib64/libpthread.so.0
#6  0x00007fc44f56e82d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fc43763c710 (LWP 869)):
#0  0x00007fc44d88139c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fc4507f02bb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc45019dd64 in QFileInfoGatherer::run (this=0xaec2c8) at dialogs/qfileinfogatherer.cpp:203
#3  0x00007fc4507efbf5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007fc44d87ca4f in start_thread () from /lib64/libpthread.so.0
#5  0x00007fc44f56e82d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fc436e3b710 (LWP 870)):
#0  0x00007fc44f5656b3 in poll () from /lib64/libc.so.6
#1  0x00007fc44b84bfd4 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fc44b84c510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fc4508ff6d6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007fc4508d6292 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007fc4508d6495 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007fc4507ed2cf in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007fc4508b8458 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007fc4507efbf5 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007fc44d87ca4f in start_thread () from /lib64/libpthread.so.0
#10 0x00007fc44f56e82d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fc45216d760 (LWP 867)):
[KCrash Handler]
#5  spectre_gs_process (gs=0x0, filename=0x7fc4380017e0 "/Network/people/diradmin/Desktop/computer_disposal.ps", x=0, y=0, begin=312096, end=312706) at spectre-gs.c:91
#6  0x00007fc43fae4dab in spectre_exporter_pdf_end (exporter=<value optimized out>) at spectre-exporter-pdf.c:116
#7  0x00007fc43fcffc97 in GSGenerator::print (this=0x9edfa0, printer=...) at /usr/src/debug/kdegraphics-4.4.4/okular/generators/spectre/generator_ghostview.cpp:137
#8  0x00007fc4441759ee in Okular::Part::doPrint (this=0x7cf8f0, printer=...) at /usr/src/debug/kdegraphics-4.4.4/okular/part.cpp:2000
#9  0x00007fc44418187b in Okular::Part::slotPrint (this=0x7cf8f0) at /usr/src/debug/kdegraphics-4.4.4/okular/part.cpp:1952
#10 0x00007fc444181d3f in Okular::Part::qt_metacall (this=0x7cf8f0, _c=QMetaObject::InvokeMetaMethod, _id=52, _a=0x7fff402c1ea0) at /usr/src/debug/kdegraphics-4.4.4/build/okular/part.moc:234
#11 0x00007fc4508eaa1f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#12 0x00007fc44fcc2d12 in QAction::triggered (this=<value optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#13 0x00007fc44fcc2f0a in QAction::activate (this=0x8089c0, event=<value optimized out>) at kernel/qaction.cpp:1255
#14 0x00007fc44fcc3087 in QAction::event (this=<value optimized out>, e=<value optimized out>) at kernel/qaction.cpp:1181
#15 0x00007fc45159480d in KAction::event(QEvent*) () from /usr/lib64/libkdeui.so.5
#16 0x00007fc44fcc84d4 in QApplicationPrivate::notify_helper (this=0x631790, receiver=0x8089c0, e=0x7fff402c2530) at kernel/qapplication.cpp:4302
#17 0x00007fc44fcd0aca in QApplication::notify (this=<value optimized out>, receiver=0x8089c0, e=0x7fff402c2530) at kernel/qapplication.cpp:4185
#18 0x00007fc45142fc06 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#19 0x00007fc4508d6e4c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#20 0x00007fc44fcf9f00 in sendEvent (this=<value optimized out>, e=0x7fff402c2b30) at ../../src/corelib/kernel/qcoreapplication.h:215
#21 QShortcutMap::dispatchEvent (this=<value optimized out>, e=0x7fff402c2b30) at kernel/qshortcutmap.cpp:879
#22 0x00007fc44fcfb3f8 in QShortcutMap::tryShortcutEvent (this=0x6318b8, o=<value optimized out>, e=0x7fff402c2b30) at kernel/qshortcutmap.cpp:364
#23 0x00007fc44fcd2715 in QApplication::notify (this=0x7fff402c3ae0, receiver=0x84fa70, e=0x7fff402c2b30) at kernel/qapplication.cpp:3748
#24 0x00007fc45142fc06 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#25 0x00007fc4508d6e4c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#26 0x00007fc44fd65eea in QKeyMapper::sendKeyEvent (keyWidget=0x84fa70, grab=<value optimized out>, type=QEvent::KeyPress, code=80, modifiers=<value optimized out>, text=..., autorepeat=false, 
    count=1, nativeScanCode=33, nativeVirtualKey=112, nativeModifiers=20) at kernel/qkeymapper_x11.cpp:1875
#27 0x00007fc44fd6636f in QKeyMapperPrivate::translateKeyEvent (this=<value optimized out>, keyWidget=0x84fa70, event=<value optimized out>, grab=false) at kernel/qkeymapper_x11.cpp:1845
#28 0x00007fc44fd42bd4 in QApplication::x11ProcessEvent (this=0x7fff402c3ae0, event=0x7fff402c3710) at kernel/qapplication_x11.cpp:3406
#29 0x00007fc44fd69492 in x11EventSourceDispatch (s=0x635510, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#30 0x00007fc44b84ba93 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#31 0x00007fc44b84c270 in ?? () from /usr/lib64/libglib-2.0.so.0
#32 0x00007fc44b84c510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#33 0x00007fc4508ff67f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#34 0x00007fc44fd6914e in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#35 0x00007fc4508d6292 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#36 0x00007fc4508d6495 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#37 0x00007fc4508da88b in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#38 0x00000000004088a9 in main (argc=6, argv=0x7fff402c40c8) at /usr/src/debug/kdegraphics-4.4.4/okular/shell/main.cpp:82

Reported using DrKonqi
Comment 1 Albert Astals Cid 2010-11-09 21:35:46 UTC
Does it happen with any ps file?
Comment 2 Albert Astals Cid 2010-11-09 21:44:58 UTC
Wops, changing status back
Comment 3 nickjon 2010-11-09 22:18:34 UTC
Well, I googled and grabbed some test files.
CRASH -   http://www.ccrnp.ncifcrf.gov/~toms/ftp/printerarea.ps
SUCCESS - http://www.msri.org/people/staff/linda/test/test.ps

The successful one is extremely simple, and probably not a good test.  I think the printerarea.ps is a better test file to use.

Found at an old 2006 site, PS files probably do not conform.
CRASH -   http://www.adobetutorialz.com/content_images/AdobeTechnologies/PostScript/3dcolor.ps
CRASH - http://www.adobetutorialz.com/content_images/AdobeTechnologies/PostScript/error1.ps

Also, the last one, error1.ps, imports as a blank page, but that's another issue.

Thanks
Comment 4 Pino Toscano 2010-11-09 23:26:46 UTC
Which is the version of your libspectre?
Comment 5 Albert Astals Cid 2010-11-10 00:04:40 UTC
spectre bug https://bugs.freedesktop.org/show_bug.cgi?id=31512
Comment 6 nickjon 2010-11-10 15:30:18 UTC
libspectre1 is version 0.2.4-3.1 64bit