Bug 233677 - konqueror crash on shutdown from java website
Summary: konqueror crash on shutdown from java website
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: kjava (show other bugs)
Version: 4.3.2
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-08 02:17 UTC by Jesse W
Modified: 2011-11-20 15:58 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse W 2010-04-08 02:17:06 UTC
Application that crashed: konqueror
Version of the application: 4.3.2 (KDE 4.3.2)
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.2
Operating System: Linux 2.6.31-20-generic i686
Distribution: Ubuntu 9.10

 -- Backtrace:
Application: Konqueror (kdeinit4), signal: Aborted
[KCrash Handler]
#6  0x00c1a422 in __kernel_vsyscall ()
#7  0x004374d1 in raise () from /lib/tls/i686/cmov/libc.so.6
#8  0x0043a932 in abort () from /lib/tls/i686/cmov/libc.so.6
#9  0x00cf0f8c in qt_message_output (msgType=QtFatalMsg, buf=0xb357030 "QWidget: Must construct a QApplication before a QPaintDevice") at global/qglobal.cpp:2042
#10 0x00cf106e in qFatal (msg=0x20d48a8 "QWidget: Must construct a QApplication before a QPaintDevice") at global/qglobal.cpp:2241
#11 0x01a82316 in QWidgetPrivate (this=0xac685d8, version=17040642) at kernel/qwidget.cpp:205
#12 0x01f24f07 in QDialogPrivate (this=0x9919cf8, parent=0x0, f=...) at ../../include/QtGui/private/../../../src/gui/dialogs/qdialog_p.h:77
#13 QDialog (this=0x9919cf8, parent=0x0, f=...) at dialogs/qdialog.cpp:252
#14 0x07c3b008 in PermissionDialog::exec (this=0xbfc5bad4, cert=..., perm=...) at ../../../khtml/java/kjavaappletserver.cpp:785
#15 0x07c40746 in KJavaAppletServer::slotJavaRequest (this=0x978ddc8, qb=...) at ../../../khtml/java/kjavaappletserver.cpp:681
#16 0x07c41301 in KJavaAppletServer::qt_metacall (this=0x978ddc8, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfc5bd58) at ./kjavaappletserver.moc:71
#17 0x00e00263 in QMetaObject::activate (sender=0x978d310, from_signal_index=25, to_signal_index=25, argv=0xbfc5bd58) at kernel/qobject.cpp:3113
#18 0x00e00ec2 in QMetaObject::activate (sender=0x978d310, m=0x7c643c8, local_signal_index=0, argv=0xbfc5bd58) at kernel/qobject.cpp:3187
#19 0x07c44b23 in KJavaProcess::received (this=0x978d310, _t1=...) at ./kjavaprocess.moc:88
#20 0x07c46f53 in KJavaProcess::slotReceivedData (this=0x978d310) at ../../../khtml/java/kjavaprocess.cpp:279
#21 0x07c47273 in KJavaProcess::qt_metacall (this=0x978d310, _c=QMetaObject::InvokeMetaMethod, _id=27, _a=0xbfc5beac) at ./kjavaprocess.moc:75
#22 0x00e00263 in QMetaObject::activate (sender=0x978d310, from_signal_index=13, to_signal_index=13, argv=0x0) at kernel/qobject.cpp:3113
#23 0x00e00ec2 in QMetaObject::activate (sender=0x978d310, m=0xed9e8c, local_signal_index=5, argv=0x0) at kernel/qobject.cpp:3187
#24 0x00d87e97 in QProcess::readyReadStandardOutput (this=0x978d310) at .moc/release-shared/moc_qprocess.cpp:156
#25 0x00d8aa0a in QProcessPrivate::_q_canReadStandardOutput (this=0x97854b8) at io/qprocess.cpp:564
#26 0x00dc770f in QProcessPrivate::waitForFinished (this=0x97854b8, msecs=10000) at io/qprocess_unix.cpp:1178
#27 0x00d882ce in QProcess::waitForFinished (this=0x978d310, msecs=10000) at io/qprocess.cpp:1318
#28 0x07c39149 in KJavaAppletServer::quit (this=0x978ddc8) at ../../../khtml/java/kjavaappletserver.cpp:464
#29 0x07c3bb37 in ~KJavaAppletServer (this=0x978ddc8, __in_chrg=<value optimized out>) at ../../../khtml/java/kjavaappletserver.cpp:157
#30 0x07c515c8 in ~KJavaServerMaintainer (this=0x978d658, __in_chrg=<value optimized out>) at ../../../khtml/java/kjavaappletviewer.cpp:92
#31 0x07c5179a in destroy () at ../../../khtml/java/kjavaappletviewer.cpp:89
#32 0x07c59e2b in ~KCleanUpGlobalStatic (this=0x7c654e8, __in_chrg=<value optimized out>) at ../../../kdecore/kernel/kglobal.h:62
#33 0x0043c05f in ?? () from /lib/tls/i686/cmov/libc.so.6
#34 0x0043c0cf in exit () from /lib/tls/i686/cmov/libc.so.6
#35 0x0804dde9 in launch (argc=<value optimized out>, _name=<value optimized out>, args=<value optimized out>, cwd=0x0, envc=0, envs=0x8fb2624 "", reset_env=false, tty=0x0, avoid_loops=false, 
    startup_id_str=0x80511a5 "0") at ../../kinit/kinit.cpp:677
#36 0x0804ea35 in handle_launcher_request (sock=<value optimized out>, who=<value optimized out>) at ../../kinit/kinit.cpp:1169
#37 0x0804eeac in handle_requests (waitForPid=<value optimized out>) at ../../kinit/kinit.cpp:1362
#38 0x0804fbaf in main (argc=2, argv=0xbfc5c994, envp=0xbfc5c9a0) at ../../kinit/kinit.cpp:1793

Reported using DrKonqi
Comment 1 Maksim Orlovich 2010-04-08 18:11:49 UTC
Could you perhaps elaborate on how to reproduce this?
Comment 2 Dario Andres 2010-04-09 15:07:18 UTC
<offtopic>Simple comment/thought: shouldn't the QProcess be disconnected on "KJavaAppletServer::quit"/"~KJavaAppletServer", so it won't retrigger a data read, and then causing the crash ?</offtopic>
Comment 3 Dawit Alemayehu 2011-11-19 20:57:41 UTC
(In reply to comment #2)
> <offtopic>Simple comment/thought: shouldn't the QProcess be disconnected on
> "KJavaAppletServer::quit"/"~KJavaAppletServer", so it won't retrigger a data
> read, and then causing the crash ?</offtopic>

Actually this is a very valid point. Another bug report, bug# 281099, seems to have a similar reason for crashing.
Comment 4 Dawit Alemayehu 2011-11-20 15:58:12 UTC
Git commit 6bc46d11b1204d437fea92c5ea2115f238360050 by Dawit Alemayehu.
Committed on 19/11/2011 at 21:58.
Pushed by adawit into branch 'KDE/4.7'.

When KJavaAppletServer's dtor is called, disconnect from KJavaProcess first to
avoid crashes.

BUG: 281099
BUG: 233677
FIXED-IN: 4.7.4
REVIEW: 103188

M  +2    -0    khtml/java/kjavaappletserver.cpp

http://commits.kde.org/kdelibs/6bc46d11b1204d437fea92c5ea2115f238360050