Bug 296587 - Okular crashed on print preview of document with Chinese characters and forms
Summary: Okular crashed on print preview of document with Chinese characters and forms
Status: RESOLVED WORKSFORME
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-22 21:57 UTC by Daniel Perelman
Modified: 2012-11-05 18:51 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 Daniel Perelman 2012-03-22 21:57:24 UTC
Application: okular (0.13.3)
KDE Platform Version: 4.7.4 (4.7.4)
Qt Version: 4.7.4
Operating System: Linux 3.0.0-16-generic x86_64
Distribution: Ubuntu 11.10

-- Information about the crash:
- What I was doing when the application crashed:

I had filled out this PDF form ( http://www.visaexpress.net/china/china-visa-application-form.pdf ), saved a copy, opened the copy, and selected print preview. The print preview window appeared with 4 blank pages (loading the print preview, I assume). I scrolled down while waiting for the print preview content to load, but after a few seconds Okular crashed instead. Performing the same actions caused the same behavior a second time.

The crash can be reproduced every time.

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

Thread 3 (Thread 0x7f8aff56b700 (LWP 24939)):
#0  0x00007f8b0d276034 in pthread_mutex_lock () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f8b0cda2044 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f8b0cda2792 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8b076c9516 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f8b0cdc72b6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f8b0d273efc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f8b0fec159d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f8afff6f700 (LWP 24944)):
[KCrash Handler]
#6  0x00007f8b0c69561d in FT_Outline_Decompose () from /usr/lib/x86_64-linux-gnu/libfreetype.so.6
#7  0x00007f8aee910669 in get_char_outline (a_server=<optimized out>, a_path=0x7f8afff6d580) at ./psi/fapi_ft.c:1373
#8  0x00007f8aee90e878 in outline_char (i_ctx_p=0x7f8af84e7118, I=0x7f8af852d4e0, penum_s=0xa860d58, path=0x7f8ae5cc8928, close_path=1, import_shift_v=-24) at ./psi/zfapi.c:1636
#9  0x00007f8aee90eb36 in fapi_finish_render_aux (i_ctx_p=0x7f8af84e7118, I=0x7f8af852d4e0, pbfont=<optimized out>) at ./psi/zfapi.c:1891
#10 0x00007f8aee90f4b7 in fapi_finish_render (i_ctx_p=<optimized out>) at ./psi/zfapi.c:1983
#11 0x00007f8aee90da4f in FAPI_do_char (i_ctx_p=<optimized out>, pbfont=0x7f8ae5daf568, dev=<optimized out>, font_file_path=0x0, bBuildGlyph=<optimized out>, charstring=0x0) at ./psi/zfapi.c:2766
#12 0x00007f8aee90e4ae in FAPI_char (i_ctx_p=0x7f8af84e7118, bBuildGlyph=0, charstring=0x0) at ./psi/zfapi.c:2790
#13 0x00007f8aee865364 in interp (pi_ctx_p=0x7f8af8593718, pref=<optimized out>, perror_object=0x7f8af8593700) at ./psi/interp.c:1276
#14 0x00007f8aee866133 in gs_call_interp (perror_object=0x7f8af8593700, pexit_code=0x7f8afff6ea2c, user_errors=0, pref=<optimized out>, pi_ctx_p=0x7f8af8593718) at ./psi/interp.c:490
#15 gs_interpret (pi_ctx_p=0x7f8af8593718, pref=<optimized out>, user_errors=0, pexit_code=0x7f8afff6ea2c, perror_object=0x7f8af8593700) at ./psi/interp.c:448
#16 0x00007f8aee85b907 in gs_main_interpret (perror_object=<optimized out>, pexit_code=<optimized out>, user_errors=<optimized out>, pref=0x7f8afff6e9f0, minst=<optimized out>) at ./psi/imain.c:239
#17 gs_main_run_string_continue (minst=<optimized out>, str=<optimized out>, length=<optimized out>, user_errors=<optimized out>, pexit_code=<optimized out>, perror_object=<optimized out>) at ./psi/imain.c:580
#18 0x00007f8aef2e7b72 in spectre_gs_process (gs=<optimized out>, filename=<optimized out>, x=<optimized out>, y=<optimized out>, begin=<optimized out>, end=13985360) at spectre-gs.c:127
#19 0x00007f8aef2e7f3e in spectre_gs_send_page (gs=0x2a13370, doc=0x7f8af8504610, page_index=<optimized out>, x=<optimized out>, y=<optimized out>) at spectre-gs.c:273
#20 0x00007f8aef2e89f6 in spectre_device_render (device=0x2a0d6e0, page=0, rc=<optimized out>, x=0, y=0, width=-128708704, height=<optimized out>, page_data=0x7f8afff6ee00, row_length=0x7f8afff6ee0c) at spectre-device.c:288
#21 0x00007f8aef2e8e0a in spectre_page_render (page=0x2a039b0, rc=0x2a0e900, page_data=0x7f8afff6ee00, row_length=0x7f8afff6ee0c) at spectre-page.c:164
#22 0x00007f8aef50469e in GSRendererThread::run (this=0x28600e0) at ../../../generators/spectre/rendererthread.cpp:71
#23 0x00007f8b10784d05 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#24 0x00007f8b0d273efc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#25 0x00007f8b0fec159d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#26 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f8b12c93780 (LWP 24936)):
#0  0x00007f8b0feb5473 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f8b0a5d14f2 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f8b0a5d1a3f in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f8b0a5d1ac4 in xcb_writev () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#4  0x00007f8b0ee03597 in _XSend () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#5  0x00007f8b0ee03acb in _XReply () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#6  0x00007f8b0ee00bed in XTranslateCoordinates () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#7  0x00007f8b11301929 in QWidgetPrivate::mapFromGlobal(QPoint const&) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#8  0x00007f8b11301986 in QWidgetPrivate::mapFromGlobal(QPoint const&) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#9  0x00007f8b11301986 in QWidgetPrivate::mapFromGlobal(QPoint const&) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#10 0x00007f8b11301986 in QWidgetPrivate::mapFromGlobal(QPoint const&) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#11 0x00007f8b11301986 in QWidgetPrivate::mapFromGlobal(QPoint const&) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#12 0x00007f8b11301986 in QWidgetPrivate::mapFromGlobal(QPoint const&) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#13 0x00007f8b11301986 in QWidgetPrivate::mapFromGlobal(QPoint const&) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#14 0x00007f8b113019cd in QWidget::mapFromGlobal(QPoint const&) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#15 0x00007f8b1126c800 in QApplicationPrivate::pickMouseReceiver(QWidget*, QPoint const&, QPoint&, QEvent::Type, QFlags<Qt::MouseButton>, QWidget*, QWidget*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#16 0x00007f8b112ec952 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#17 0x00007f8b112eb94e in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18 0x00007f8b113144a2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#19 0x00007f8b0cda1a5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007f8b0cda2258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007f8b0cda2429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007f8b10896ed6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#23 0x00007f8b1131410e in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#24 0x00007f8b1086acf2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#25 0x00007f8b1086aef7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#26 0x00007f8b117232d6 in QDialog::exec() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#27 0x00007f8af579a1c5 in Okular::Part::slotPrintPreview (this=<optimized out>) at ../part.cpp:1802
#28 0x00007f8af57a630d in Okular::Part::qt_metacall (this=0x2452500, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0x7ffffe4fd750) at ./part.moc:194
#29 0x00007f8b1087eeba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#30 0x00007f8b11265bb2 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#31 0x00007f8b11265d9f in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#32 0x00007f8b116a06c9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#33 0x00007f8b116a6312 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#34 0x00007f8b120430d0 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5
#35 0x00007f8b112bccea in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#36 0x00007f8b116a78bb in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#37 0x00007f8b1126c474 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#38 0x00007f8b11271cbb in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#39 0x00007f8b11f81466 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#40 0x00007f8b1086bafc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#41 0x00007f8b1126d442 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#42 0x00007f8b112ed091 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#43 0x00007f8b112eb94e in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#44 0x00007f8b113144a2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#45 0x00007f8b0cda1a5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007f8b0cda2258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007f8b0cda2429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007f8b10896ed6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#49 0x00007f8b1131410e in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#50 0x00007f8b1086acf2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#51 0x00007f8b1086aef7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#52 0x00007f8b1086f789 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#53 0x0000000000407a36 in main (argc=<optimized out>, argv=<optimized out>) at ../../shell/main.cpp:85

Reported using DrKonqi
Comment 1 Albert Astals Cid 2012-03-22 23:16:27 UTC
It is crashing inside freetype when libghostscript calls it, not something directly related to Okular code itself. I can't reproduce the crash in my Ubuntu 12.04 installation so I guess the crash has been fixed somewhere in the upgrades of libgs or libfreetype versus the versions in your Ubuntu 11.10.

If you update to Ubuntu 12.04 (or anything containging versions of freetype >= 2.4.8 and libgs >= 9.05) and it still crashes please reopen the bug.

Thanks for caring about Okular :-)
Comment 2 Bernd Oliver Sünderhauf 2012-11-04 15:30:26 UTC
Still more or less reproducible on Kubuntu 12.10 with the newest stack of:
 okular: 0.15.2
 libspectre: 0.2.7
 ghostscript: 9.06
 libfreetype6: 2.4.10
Upon preview, it's just that Okular hangs forever and freezes for me, rather than crashing.
Please reopen.
Comment 3 Bernd Oliver Sünderhauf 2012-11-04 16:20:15 UTC
See also the test case of Bug #309537, which also freezes Okular upon preview.
Comment 4 Albert Astals Cid 2012-11-05 18:51:53 UTC
It doesn't hang forever. It's just that spectre is unable to render the PS preview, nothing we can do about that so not reopening the bug.