Bug 346149 - Konqui crash when closing tab with okular kpart
Summary: Konqui crash when closing tab with okular kpart
Status: RESOLVED FIXED
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian stable Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-04-13 20:43 UTC by Nick Leverton
Modified: 2015-04-15 22:11 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: KDE Applications 15.04.1


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Leverton 2015-04-13 20:43:03 UTC
Application: konqueror (4.14.2)
KDE Platform Version: 4.14.2
Qt Version: 4.8.6
Operating System: Linux 3.16.0-4-amd64 x86_64
Distribution: Debian GNU/Linux 8.0 (jessie)

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

My bank's web site shows bank statements as a PDF in a new window.  I have Konqui configured to open such links in a new tab of the current window.

I can open, view and close one statement OK and it returns to the main window OK.  When I click on the link which should open the second statement, Konqui crashes instead.

The crash can be reproduced every time.

-- Backtrace:
Application: Konqueror (konqueror), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f387f782780 (LWP 26683))]

Thread 7 (Thread 0x7f3860927700 (LWP 26684)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f38727e206f in WTF::TCMalloc_PageHeap::scavengerThread (this=0x7f387329b654 <WTF::pageheap_memory+57556>) at /build/qtwebkit-JSpniR/qtwebkit-2.3.4.dfsg/Source/WTF/wtf/FastMalloc.cpp:2575
#2  0x00007f38727e20a9 in WTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f387329b654 <WTF::pageheap_memory+57556>) at /build/qtwebkit-JSpniR/qtwebkit-2.3.4.dfsg/Source/WTF/wtf/FastMalloc.cpp:1771
#3  0x00007f387a70a0a4 in start_thread (arg=0x7f3860927700) at pthread_create.c:309
#4  0x00007f387cf3804d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 6 (Thread 0x7f381d4b3700 (LWP 26686)):
#0  0x00007f387cf2f50d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f3879e18ee4 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f38180013e0, timeout=8953, context=0x7f38180009a0) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:4076
#2  g_main_context_iterate (context=context@entry=0x7f38180009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3776
#3  0x00007f3879e18ffc in g_main_context_iteration (context=0x7f38180009a0, may_block=1) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3842
#4  0x00007f387e3abd37 in QEventDispatcherGlib::processEvents (this=0x7f38180008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f387e37b271 in QEventLoop::processEvents (this=this@entry=0x7f381d4b2e50, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f387e37b5d5 in QEventLoop::exec (this=this@entry=0x7f381d4b2e50, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f387e26fe99 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#8  0x00007f387e27270f in QThreadPrivate::start (arg=0x2b14090) at thread/qthread_unix.cpp:349
#9  0x00007f387a70a0a4 in start_thread (arg=0x7f381d4b3700) at pthread_create.c:309
#10 0x00007f387cf3804d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7f3817fff700 (LWP 26687)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f3872504973 in JSC::BlockAllocator::blockFreeingThreadMain (this=0x7f386009b398) at /build/qtwebkit-JSpniR/qtwebkit-2.3.4.dfsg/Source/JavaScriptCore/heap/BlockAllocator.cpp:128
#2  0x00007f38728117f6 in WTF::wtfThreadEntryPoint(void*) () at /build/qtwebkit-JSpniR/qtwebkit-2.3.4.dfsg/Source/WTF/wtf/ThreadingPthreads.cpp:196
#3  0x00007f387a70a0a4 in start_thread (arg=0x7f3817fff700) at pthread_create.c:309
#4  0x00007f387cf3804d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7f3817164700 (LWP 26697)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f38171c9f8b in ?? () from /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so
#2  0x00007f387a70a0a4 in start_thread (arg=0x7f3817164700) at pthread_create.c:309
#3  0x00007f387cf3804d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f3816963700 (LWP 26698)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f38171c9f8b in ?? () from /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so
#2  0x00007f387a70a0a4 in start_thread (arg=0x7f3816963700) at pthread_create.c:309
#3  0x00007f387cf3804d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f3816162700 (LWP 26699)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f38171c9f8b in ?? () from /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so
#2  0x00007f387a70a0a4 in start_thread (arg=0x7f3816162700) at pthread_create.c:309
#3  0x00007f387cf3804d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f387f782780 (LWP 26683)):
[KCrash Handler]
#6  deref (this=0x1e0) at /usr/include/qt4/QtCore/qatomic_x86_64.h:133
#7  operator= (v=..., this=0x3bd99d0) at /usr/include/qt4/QtCore/qvector.h:394
#8  MagnifierView::notifySetup (this=0x3bd9970, pages=..., setupFlags=<optimized out>) at ../ui/magnifierview.cpp:46
#9  0x00007f3809737b61 in Okular::Document::closeDocument (this=0x34bd9d0) at ../core/document.cpp:2438
#10 0x00007f38099fd6a7 in Okular::Part::closeUrl (this=0x3aed340, promptToSave=<optimized out>) at ../part.cpp:1620
#11 0x00007f38099fdf72 in Okular::Part::~Part (this=0x3aed340, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ../part.cpp:853
#12 0x00007f38099fdfd9 in Okular::Part::~Part (this=0x3aed340, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ../part.cpp:881
#13 0x00007f3873c883b9 in KParts::Part::slotWidgetDestroyed (this=0x3aed340) at ../../kparts/part.cpp:353
#14 0x00007f387e39171c in QMetaObject::activate (sender=sender@entry=0x378bdd0, m=m@entry=0x7f387e6d9240 <QObject::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffedee01400) at kernel/qobject.cpp:3567
#15 0x00007f387e39218f in QObject::destroyed (this=this@entry=0x378bdd0, _t1=_t1@entry=0x378bdd0) at .moc/release-shared/moc_qobject.cpp:148
#16 0x00007f387e3963b7 in QObject::~QObject (this=0x378bdd0, __in_chrg=<optimized out>) at kernel/qobject.cpp:871
#17 0x00007f387d720207 in QWidget::~QWidget (this=0x378bdd0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1554
#18 0x00007f3809a80dc9 in Sidebar::~Sidebar (this=0x378bdd0, __in_chrg=<optimized out>) at ../ui/sidebar.cpp:506
#19 0x00007f387e394248 in QObjectPrivate::deleteChildren (this=this@entry=0x3bec8b0) at kernel/qobject.cpp:1935
#20 0x00007f387d720173 in QWidget::~QWidget (this=0x305c110, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1679
#21 0x00007f3860956f99 in WebView::~WebView (this=0x305c110, __in_chrg=<optimized out>) at ../../src/webview.cpp:85
#22 0x00007f387e394248 in QObjectPrivate::deleteChildren (this=this@entry=0x3052bf0) at kernel/qobject.cpp:1935
#23 0x00007f387d720173 in QWidget::~QWidget (this=0x39771b0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1679
#24 0x00007f387d720489 in QWidget::~QWidget (this=0x39771b0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1703
#25 0x00007f3873c8892f in KParts::Part::~Part (this=0x311b4f0, __vtt_parm=0x7f3860b87c10 <VTT for KWebKitPart+16>, __in_chrg=<optimized out>) at ../../kparts/part.cpp:209
#26 0x00007f3860945ed7 in KWebKitPart::~KWebKitPart (this=0x311b4f0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ../../src/kwebkitpart.cpp:181
#27 0x00007f3860945f19 in KWebKitPart::~KWebKitPart (this=0x311b4f0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ../../src/kwebkitpart.cpp:183
#28 0x00007f386862d8dc in KonqView::switchView (this=0x33d4620, viewFactory=...) at ../../../konqueror/src/konqview.cpp:253
#29 0x00007f386862e8d0 in KonqView::changePart (this=0x33d4620, mimeType=..., serviceName=..., forceAutoEmbed=32) at ../../../konqueror/src/konqview.cpp:366
#30 0x00007f386862eb21 in KonqView::ensureViewSupports (this=this@entry=0x33d4620, mimeType=..., forceAutoEmbed=forceAutoEmbed@entry=true) at ../../../konqueror/src/konqview.cpp:316
#31 0x00007f3868675a52 in KonqMainWindow::openView (this=0x1a18fe0, mimeType=..., _url=..., childView=childView@entry=0x33d4620, req=...) at ../../../konqueror/src/konqmainwindow.cpp:968
#32 0x00007f38686278ac in KonqRun::tryOpenView (this=this@entry=0x37eb900, mimeType=..., associatedAppIsKonqueror=associatedAppIsKonqueror@entry=false) at ../../../konqueror/src/konqrun.cpp:157
#33 0x00007f386862842f in KonqRun::foundMimeType (this=0x37eb900, _type=...) at ../../../konqueror/src/konqrun.cpp:89
#34 0x00007f3875733782 in KRun::mimeTypeDetermined (this=this@entry=0x37eb900, mimeType=...) at ../../kio/kio/krun.cpp:1464
#35 0x00007f3873c9bdbe in KParts::BrowserRun::slotBrowserMimetype (this=0x37eb900, _job=<optimized out>, type=...) at ../../kparts/browserrun.cpp:261
#36 0x00007f387e39171c in QMetaObject::activate (sender=sender@entry=0x3443e50, m=m@entry=0x7f3875a8ec20 <KIO::TransferJob::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x7ffedee01ec0) at kernel/qobject.cpp:3567
#37 0x00007f38756ca5a7 in KIO::TransferJob::mimetype (this=this@entry=0x3443e50, _t1=_t1@entry=0x3443e50, _t2=...) at ./jobclasses.moc:474
#38 0x00007f38756cda52 in KIO::TransferJob::slotMimetype (this=0x3443e50, type=...) at ../../kio/kio/job.cpp:1209
#39 0x00007f387e39171c in QMetaObject::activate (sender=0x1e56a30, m=m@entry=0x7f3875a92c00 <KIO::SlaveInterface::staticMetaObject>, local_signal_index=local_signal_index@entry=19, argv=argv@entry=0x7ffedee02070) at kernel/qobject.cpp:3567
#40 0x00007f3875778a15 in KIO::SlaveInterface::mimeType (this=<optimized out>, _t1=...) at ./slaveinterface.moc:286
#41 0x00007f3875779aed in KIO::SlaveInterface::dispatch (this=0x3bd9970, _cmd=-555736880, rawdata=...) at ../../kio/kio/slaveinterface.cpp:271
#42 0x00007f38757773ad in KIO::SlaveInterface::dispatch (this=0x1e56a30) at ../../kio/kio/slaveinterface.cpp:92
#43 0x00007f3875769efe in KIO::Slave::gotInput (this=0x1e56a30) at ../../kio/kio/slave.cpp:344
#44 0x00007f387e39171c in QMetaObject::activate (sender=0x2f05900, m=m@entry=0x7f3875a8c960 <KIO::Connection::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3567
#45 0x00007f3875694d90 in KIO::Connection::readyRead (this=<optimized out>) at ./connection.moc:105
#46 0x00007f38756952f9 in KIO::ConnectionPrivate::dequeue (this=0x311fc40) at ../../kio/kio/connection.cpp:82
#47 0x00007f387e395e11 in QObject::event (this=0x2f05900, e=<optimized out>) at kernel/qobject.cpp:1222
#48 0x00007f387d6cd48c in QApplicationPrivate::notify_helper (this=this@entry=0x1892620, receiver=receiver@entry=0x2f05900, e=e@entry=0x3acb010) at kernel/qapplication.cpp:4570
#49 0x00007f387d6d3fa8 in QApplication::notify (this=this@entry=0x7ffedee02ba0, receiver=receiver@entry=0x2f05900, e=e@entry=0x3acb010) at kernel/qapplication.cpp:4356
#50 0x00007f387f1661aa in KApplication::notify (this=0x7ffedee02ba0, receiver=0x2f05900, event=0x3acb010) at ../../kdeui/kernel/kapplication.cpp:311
#51 0x00007f387e37c71d in QCoreApplication::notifyInternal (this=0x7ffedee02ba0, receiver=receiver@entry=0x2f05900, event=event@entry=0x3acb010) at kernel/qcoreapplication.cpp:955
#52 0x00007f387e37ffc1 in sendEvent (event=0x3acb010, receiver=0x2f05900) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#53 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x17b2ff0) at kernel/qcoreapplication.cpp:1579
#54 0x00007f387e380453 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1472
#55 0x00007f387e3abbd3 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#56 postEventSourceDispatch (s=0x1892b00) at kernel/qeventdispatcher_glib.cpp:280
#57 0x00007f3879e18c5d in g_main_dispatch (context=0x18929c0) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3111
#58 g_main_context_dispatch (context=context@entry=0x18929c0) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3710
#59 0x00007f3879e18f48 in g_main_context_iterate (context=context@entry=0x18929c0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3781
#60 0x00007f3879e18ffc in g_main_context_iteration (context=0x18929c0, may_block=1) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3842
#61 0x00007f387e3abd1d in QEventDispatcherGlib::processEvents (this=0x17b44b0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#62 0x00007f387d771f96 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#63 0x00007f387e37b271 in QEventLoop::processEvents (this=this@entry=0x7ffedee029d0, flags=...) at kernel/qeventloop.cpp:149
#64 0x00007f387e37b5d5 in QEventLoop::exec (this=this@entry=0x7ffedee029d0, flags=...) at kernel/qeventloop.cpp:204
#65 0x00007f387e381059 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1227
#66 0x00007f387d6cb92c in QApplication::exec () at kernel/qapplication.cpp:3828
#67 0x00007f38686a3776 in kdemain (argc=<optimized out>, argv=<optimized out>) at ../../../konqueror/src/konqmain.cpp:227
#68 0x00000000004084b0 in launch (argc=argc@entry=4, _name=_name@entry=0x1869e78 "konqueror", args=<optimized out>, args@entry=0x1869e82 "-mimetype", cwd=cwd@entry=0x1869eae "/home/leveret", envc=envc@entry=45, envs=<optimized out>, envs@entry=0x1869ec4 "KDE_FULL_SESSION=true", reset_env=true, tty=0x0, avoid_loops=false, startup_id_str=0x186a4a2 "george;1428866130;928855;5630_TIME309357566") at ../../kinit/kinit.cpp:738
#69 0x0000000000409559 in handle_launcher_request (sock=sock@entry=15, who=<optimized out>) at ../../kinit/kinit.cpp:1230
#70 0x0000000000409be6 in handle_requests (waitForPid=waitForPid@entry=0) at ../../kinit/kinit.cpp:1414
#71 0x00000000004053fd in main (argc=4, argv=<optimized out>, envp=0x7ffedee036f0) at ../../kinit/kinit.cpp:1911

Reported using DrKonqi
Comment 1 Albert Astals Cid 2015-04-15 22:11:21 UTC
Git commit aed8a9b3cd72c389424e24a6ac72b6908d875423 by Albert Astals Cid.
Committed on 15/04/2015 at 22:10.
Pushed by aacid into branch 'Applications/15.04'.

Fix crash on closing

Tell the document we're no longer an observer in the destructor
FIXED-IN: KDE Applications 15.04.1

M  +6    -0    ui/magnifierview.cpp
M  +1    -0    ui/magnifierview.h
M  +0    -1    ui/pageview.cpp

http://commits.kde.org/okular/aed8a9b3cd72c389424e24a6ac72b6908d875423