Bug 314456 - Crash while opening a .chm file.
Summary: Crash while opening a .chm file.
Status: RESOLVED FIXED
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: 0.15.4
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-05 13:43 UTC by Benoit Leffray
Modified: 2015-07-09 20:36 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Benoit Leffray 2013-02-05 13:43:49 UTC
Application: okular (0.15.4)
KDE Platform Version: 4.9.4
Qt Version: 4.8.3
Operating System: Linux 3.5.0-23-generic x86_64
Distribution: Ubuntu 12.10

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

Tried to open the following path on my local hard drive: /home/ben/Downloads//[Jasmin_Blanchette,_Mark_Summerfield]_C++_GUI_Prog(BookFi.org).chm.
I simply downloaded it via rekonq and then got a notification in the KDE panel saying that the download was finished and the above URL was clickable in the Notifications widget (KDE panel). I just clicked on it and Okular got automatically invoked by KDE (I didn't do anything for this.) Then I got a pop-up windows with the error message: 'Malformed URL'. This pop-up kept re-opening when I closed it.  
So I right-clicked on the panel to close okular more forcefully and then I got that crash.

Notice: If I navigate to the directory '/home/ben/Downloads/' with Dolphin and then click on the file to open it, Okular then opens the file normally and displays its contents as expected.

100% reproducable.

-- Backtrace:
Application: Okular (okular), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7feb3aee4780 (LWP 26175))]

Thread 2 (Thread 0x7feb22eec700 (LWP 26177)):
#0  0x00007feb3520905d in __pthread_mutex_unlock_usercnt (mutex=<optimized out>, decr=<optimized out>) at pthread_mutex_unlock.c:52
#1  __pthread_mutex_unlock (mutex=0x7feb1c000a60) at pthread_mutex_unlock.c:290
#2  0x00007feb34d73e51 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007feb34d3660b in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007feb34d36cab in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007feb34d36ea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007feb38b32c16 in QEventDispatcherGlib::processEvents (this=0x7feb1c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#7  0x00007feb38b032bf in QEventLoop::processEvents (this=this@entry=0x7feb22eebdd0, flags=...) at kernel/qeventloop.cpp:149
#8  0x00007feb38b03548 in QEventLoop::exec (this=0x7feb22eebdd0, flags=...) at kernel/qeventloop.cpp:204
#9  0x00007feb38a04b10 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#10 0x00007feb38ae39af in QInotifyFileSystemWatcherEngine::run (this=0x1f1af40) at io/qfilesystemwatcher_inotify.cpp:248
#11 0x00007feb38a07aec in QThreadPrivate::start (arg=0x1f1af40) at thread/qthread_unix.cpp:338
#12 0x00007feb35205e9a in start_thread (arg=0x7feb22eec700) at pthread_create.c:308
#13 0x00007feb38142cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#14 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7feb3aee4780 (LWP 26175)):
[KCrash Handler]
#6  Okular::DocumentPrivate::saveDocumentInfo (this=0x1924300) at ../core/document.cpp:910
#7  0x00007feb29734abd in Okular::Document::closeDocument (this=0x18fdc20) at ../core/document.cpp:1935
#8  0x00007feb299ec9d5 in closeUrl (this=0x18f8ca0, promptToSave=<optimized out>) at ../part.cpp:1412
#9  Okular::Part::closeUrl (this=0x18f8ca0, promptToSave=<optimized out>) at ../part.cpp:1360
#10 0x000000000040a09c in Shell::~Shell (this=0x18bcb60, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ../../shell/shell.cpp:128
#11 0x000000000040a149 in Shell::~Shell (this=0x18bcb60, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ../../shell/shell.cpp:133
#12 0x00007feb38b19468 in QObject::event (this=0x18bcb60, e=<optimized out>) at kernel/qobject.cpp:1176
#13 0x00007feb395360da in QWidget::event (this=0x18bcb60, event=0x20f4f50) at kernel/qwidget.cpp:8830
#14 0x00007feb398ff1cb in QMainWindow::event (this=0x18bcb60, event=0x20f4f50) at widgets/qmainwindow.cpp:1478
#15 0x00007feb3a2e07d8 in KXmlGuiWindow::event (this=0x18bcb60, ev=0x20f4f50) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:126
#16 0x00007feb394e6e9c in QApplicationPrivate::notify_helper (this=this@entry=0x171bb30, receiver=receiver@entry=0x18bcb60, e=e@entry=0x20f4f50) at kernel/qapplication.cpp:4562
#17 0x00007feb394eb30a in QApplication::notify (this=0x7fffc5a89010, receiver=0x18bcb60, e=0x20f4f50) at kernel/qapplication.cpp:4423
#18 0x00007feb3a1ef1d6 in KApplication::notify (this=0x7fffc5a89010, receiver=0x18bcb60, event=0x20f4f50) at ../../kdeui/kernel/kapplication.cpp:311
#19 0x00007feb38b0456e in QCoreApplication::notifyInternal (this=0x7fffc5a89010, receiver=receiver@entry=0x18bcb60, event=event@entry=0x20f4f50) at kernel/qcoreapplication.cpp:915
#20 0x00007feb38b083f1 in sendEvent (event=0x20f4f50, receiver=0x18bcb60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#21 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x16f0670) at kernel/qcoreapplication.cpp:1539
#22 0x00007feb38b32a63 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#23 postEventSourceDispatch (s=0x171f240) at kernel/qeventdispatcher_glib.cpp:279
#24 0x00007feb34d36ab5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007feb34d36de8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007feb34d36ea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007feb38b32bf6 in QEventDispatcherGlib::processEvents (this=0x16f1b30, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#28 0x00007feb3958bc1e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#29 0x00007feb38b032bf in QEventLoop::processEvents (this=this@entry=0x7fffc5a87650, flags=...) at kernel/qeventloop.cpp:149
#30 0x00007feb38b03548 in QEventLoop::exec (this=0x7fffc5a87650, flags=...) at kernel/qeventloop.cpp:204
#31 0x00007feb2548f623 in CHMGenerator::preparePageForSyncOperation (this=this@entry=0x1da5c70, zoom=zoom@entry=100, url=...) at ../../../generators/chm/generator_chm.cpp:195
#32 0x00007feb254906dd in CHMGenerator::loadDocument (this=0x1da5c70, fileName=..., pagesVector=...) at ../../../generators/chm/generator_chm.cpp:152
#33 0x00007feb2972ec27 in Okular::DocumentPrivate::openDocumentInternal (this=0x1924300, offer=..., isstdin=isstdin@entry=false, docFile=..., filedata=...) at ../core/document.cpp:766
#34 0x00007feb29737313 in Okular::Document::openDocument (this=0x18fdc20, docFile=..., url=..., _mime=...) at ../core/document.cpp:1770
#35 0x00007feb299ec096 in Okular::Part::openFile (this=0x18f8ca0) at ../part.cpp:1194
#36 0x00007feb3aacfae0 in KParts::ReadOnlyPartPrivate::openLocalFile (this=this@entry=0x18f80f0) at ../../kparts/part.cpp:590
#37 0x00007feb3aad0074 in KParts::ReadOnlyPart::openUrl (this=0x18f8ca0, url=...) at ../../kparts/part.cpp:554
#38 0x00007feb299df205 in openUrl (_url=..., this=0x18f8ca0) at ../part.cpp:1321
#39 Okular::Part::openUrl (this=0x18f8ca0, _url=...) at ../part.cpp:1292
#40 0x0000000000408cd4 in Shell::openUrl (this=0x18bcb60, url=...) at ../../shell/shell.cpp:141
#41 0x00007feb38b1943e in QObject::event (this=0x18bcb60, e=<optimized out>) at kernel/qobject.cpp:1195
#42 0x00007feb395360da in QWidget::event (this=0x18bcb60, event=0x1cf6c40) at kernel/qwidget.cpp:8830
#43 0x00007feb398ff1cb in QMainWindow::event (this=0x18bcb60, event=0x1cf6c40) at widgets/qmainwindow.cpp:1478
#44 0x00007feb3a2e07d8 in KXmlGuiWindow::event (this=0x18bcb60, ev=0x1cf6c40) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:126
#45 0x00007feb394e6e9c in QApplicationPrivate::notify_helper (this=this@entry=0x171bb30, receiver=receiver@entry=0x18bcb60, e=e@entry=0x1cf6c40) at kernel/qapplication.cpp:4562
#46 0x00007feb394eb30a in QApplication::notify (this=0x7fffc5a89010, receiver=0x18bcb60, e=0x1cf6c40) at kernel/qapplication.cpp:4423
#47 0x00007feb3a1ef1d6 in KApplication::notify (this=0x7fffc5a89010, receiver=0x18bcb60, event=0x1cf6c40) at ../../kdeui/kernel/kapplication.cpp:311
#48 0x00007feb38b0456e in QCoreApplication::notifyInternal (this=0x7fffc5a89010, receiver=receiver@entry=0x18bcb60, event=event@entry=0x1cf6c40) at kernel/qcoreapplication.cpp:915
#49 0x00007feb38b083f1 in sendEvent (event=0x1cf6c40, receiver=0x18bcb60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#50 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x16f0670) at kernel/qcoreapplication.cpp:1539
#51 0x00007feb38b32a63 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#52 postEventSourceDispatch (s=0x171f240) at kernel/qeventdispatcher_glib.cpp:279
#53 0x00007feb34d36ab5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#54 0x00007feb34d36de8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#55 0x00007feb34d36ea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#56 0x00007feb38b32bf6 in QEventDispatcherGlib::processEvents (this=0x16f1b30, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#57 0x00007feb3958bc1e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#58 0x00007feb38b032bf in QEventLoop::processEvents (this=this@entry=0x7fffc5a88dc0, flags=...) at kernel/qeventloop.cpp:149
#59 0x00007feb38b03548 in QEventLoop::exec (this=0x7fffc5a88dc0, flags=...) at kernel/qeventloop.cpp:204
#60 0x00007feb38b08708 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#61 0x00000000004079ce in main (argc=<optimized out>, argv=<optimized out>) at ../../shell/main.cpp:85

Reported using DrKonqi
Comment 1 Albert Astals Cid 2013-02-05 18:57:29 UTC
Your report looks confusing, first you seem to complain that it does not open properly when using the notifications thingie (which would not be an okular bug) but then you attach a crash report.

What does one thing have to do with the other?
Comment 2 Luigi Toscano 2014-05-08 13:34:34 UTC
I can't reproduce the issue with kde-workspace 4.11, rekonq 0.9.2:
- URL in notifications seems to not be clickable anymote.
Where you able to reproduce the crash with that document again, or with another chm document? Could you please try with a more recent versions of the above packages? Could you please provide (if possible) the document (location)?
Comment 3 Albert Astals Cid 2015-07-09 20:36:02 UTC
Since you didn't come back to us we hope it was fixed meanwhile :)