Bug 147945 - konqueror stops responding in ftp sessions
Summary: konqueror stops responding in ftp sessions
Status: RESOLVED WORKSFORME
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: 3.5
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-07-17 10:18 UTC by Michael Gefen
Modified: 2008-05-10 17:52 UTC (History)
1 user (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 Michael Gefen 2007-07-17 10:18:21 UTC
Version:           3.5.6 (using KDE KDE 3.5.6)
Installed from:    Ubuntu Packages
OS:                Linux

while browsing an ftp site such as ftp://ftp.ibiblio.org/
changing the encoding (under Tools -> Select remote charset) makes konqueror unresponsive.

konqueror does not recover and must be killed
Comment 1 Bram Schoenmakers 2007-07-17 10:51:13 UTC
Cannot reproduce. Please read http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports in order to provide essential details for this bug report.
Comment 2 Michael Gefen 2007-07-17 11:58:48 UTC
there is no crash, it just stops responding.
also confirmed here:
https://bugs.launchpad.net/ubuntu/+source/kdebase/+bug/126508
Comment 3 Bram Schoenmakers 2007-07-17 14:19:20 UTC
If you read carefully, you can also use this article for freezing applications.
Comment 4 Michael Gefen 2007-07-17 21:27:49 UTC
this is what i was able to get from the program:

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
...
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1232631584 (LWP 15347)]
(no debugging symbols found)
...
(no debugging symbols found)
[KCrash handler]
#6  0xffffe410 in __kernel_vsyscall ()
#7  0xb7db939d in select () from /lib/tls/i686/cmov/libc.so.6
#8  0xb71bb7f5 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#9  0xb722f136 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#10 0xb722ef46 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#11 0xb7216609 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#12 0xb66e4ca4 in kdemain (argc=2, argv=0x8087190)
    at /build/buildd/kdebase-3.5.6/./konqueror/konq_main.cc:206
#13 0xb7f97464 in kdeinitmain (argc=2, argv=0x8087190) at konqueror_dummy.cc:3
#14 0x0804e6bf in ?? ()
#15 0x00000002 in ?? ()
#16 0x08087190 in ?? ()
#17 0x00000001 in ?? ()
#18 0x00000000 in ?? ()

on an other run i got:
[KCrash handler]
#6  0xffffe40e in __kernel_vsyscall ()
#7  0xb7db1033 in read () from /lib/tls/i686/cmov/libc.so.6
#8  0xb6adebee in ?? () from /usr/lib/libDCOP.so.4
#9  0x00000012 in ?? ()
#10 0x0856a6b8 in ?? ()
#11 0x00000008 in ?? ()
#12 0x083782c0 in ?? ()
#13 0xbf9ceac8 in ?? ()
#14 0xb6ae4844 in ?? () from /usr/lib/libDCOP.so.4
#15 0xbf9ceab8 in ?? ()
#16 0xb6ade89f in _kde_IceTransRead () from /usr/lib/libDCOP.so.4
Backtrace stopped: frame did not save the PC
Comment 5 Michael Gefen 2007-10-02 17:26:38 UTC
is there any update on this item?
the problem seem to exist in 3.5.7 as well
Comment 6 Raúl 2007-10-17 17:21:15 UTC
This is a bug I've been chasing myself for some days, but someone told me that it was not present on kde 3.5.8. Unfortunately this is not true, at least for me.

This a backtrace of konqueror when I have the freeze:
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7dc0c53 in __read_nocancel () from /lib/i686/cmov/libc.so.6
#2  0xb6ae915e in _kde_IceTransSocketRead (ciptr=0x84ffe50, buf=0x85dbbc8 "\002\003", size=8)
    at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./dcop/KDE-ICE/Xtranssock.c:1710
#3  0xb6ae8e2f in _kde_IceTransRead (ciptr=0x84ffe50, buf=0x85dbbc8 "\002\003", size=8) at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./dcop/KDE-ICE/Xtrans.c:845
#4  0xb6ae2d1f in _kde_IceRead (iceConn=0x853f320, nbytes=8, ptr=0x85dbbc8 "\002\003") at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./dcop/KDE-ICE/misc.c:249
#5  0xb6ae745f in KDE_IceProcessMessages (iceConn=0x853f320, replyWait=0xbfd12798, replyReadyRet=0xbfd127e8)
    at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./dcop/KDE-ICE/process.c:153
#6  0xb6ad3651 in DCOPClient::callInternal (this=0x8510540, remApp=@0x85cc698, remObjId=@0xbfd129b0, remFun=@0xbfd129a8, data=@0xbfd129d0, 
    replyStruct=0xbfd12844, useEventLoop=false, timeout=-1, minor_opcode=2) at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./dcop/dcopclient.cpp:1934
#7  0xb6ad392c in DCOPClient::callInternal (this=0x8510540, remApp=@0x85cc698, remObjId=@0xbfd129b0, remFun=@0xbfd129a8, data=@0xbfd129d0, 
    replyType=@0xbfd129c0, replyData=@0xbfd129b8, useEventLoop=<value optimized out>, timeout=-1, minor_opcode=2)
    at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./dcop/dcopclient.cpp:1824
#8  0xb6ad633e in DCOPClient::call (this=0x8510540, remApp=@0x85cc698, remObjId=@0xbfd129b0, remFun=@0xbfd129a8, data=@0xbfd129d0, replyType=@0xbfd129c0, 
    replyData=@0xbfd129b8, useEventLoop=<value optimized out>, timeout=-1) at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./dcop/dcopclient.cpp:1768
#9  0xb6ad63a7 in DCOPClient::call (this=0x8510540, remApp=@0x85cc698, remObjId=@0xbfd129b0, remFun=@0xbfd129a8, data=@0xbfd129d0, replyType=@0xbfd129c0, 
    replyData=@0xbfd129b8, useEventLoop=<value optimized out>) at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./dcop/dcopclient.cpp:1733
#10 0xb5a1c283 in KRemoteEncodingPlugin::updateBrowser (this=0x87bc318)
    at /tmp/buildd/kdebase-3.5.8.dfsg.1/./konqueror/remoteencodingplugin/kremoteencodingplugin.cpp:252
#11 0xb5a1d569 in KRemoteEncodingPlugin::slotItemSelected (this=0x87bc318, id=8)
    at /tmp/buildd/kdebase-3.5.8.dfsg.1/./konqueror/remoteencodingplugin/kremoteencodingplugin.cpp:182
#12 0xb5a1deae in KRemoteEncodingPlugin::qt_invoke (this=0x87bc318, _id=4, _o=0xbfd12b40) at ./kremoteencodingplugin.moc:95
#13 0xb728cb10 in QObject::activate_signal (this=0x8104328, clist=0x861f418, o=0xbfd12b40) at kernel/qobject.cpp:2356
#14 0xb728d45d in QObject::activate_signal (this=0x8104328, signal=3, param=8) at kernel/qobject.cpp:2449
#15 0xb761c27a in QSignal::intSignal (this=0x8104328, t0=8) at .moc/debug-shared-mt/moc_qsignal.cpp:106
#16 0xb72abc9d in QSignal::activate (this=0x8104328) at kernel/qsignal.cpp:210
#17 0xb73b162a in QPopupMenu::mouseReleaseEvent (this=0x87c1300, e=0xbfd13064) at widgets/qpopupmenu.cpp:1697
#18 0xb6c8e832 in KPopupMenu::mouseReleaseEvent (this=0x87c1300, e=0xbfd13064) at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./kdeui/kpopupmenu.cpp:508
#19 0xb72c3460 in QWidget::event (this=0x87c1300, e=0xbfd13064) at kernel/qwidget.cpp:4702
#20 0xb722136a in QApplication::internalNotify (this=0xbfd1367c, receiver=0x87c1300, e=0xbfd13064) at kernel/qapplication.cpp:2635
#21 0xb7223522 in QApplication::notify (this=0xbfd1367c, receiver=0x87c1300, e=0xbfd13064) at kernel/qapplication.cpp:2421
#22 0xb79314e2 in KApplication::notify (this=0xbfd1367c, receiver=0x87c1300, event=0xbfd13064)
    at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./kdecore/kapplication.cpp:550
#23 0xb71b273d in QApplication::sendSpontaneousEvent (receiver=0x87c1300, event=0xbfd13064) at kernel/qapplication.h:523
#24 0xb71b1144 in QETWidget::translateMouseEvent (this=0x87c1300, event=0xbfd13468) at kernel/qapplication_x11.cpp:4243
#25 0xb71af858 in QApplication::x11ProcessEvent (this=0xbfd1367c, event=0xbfd13468) at kernel/qapplication_x11.cpp:3478
#26 0xb71c667c in QEventLoop::processEvents (this=0x80cdc90, flags=4) at kernel/qeventloop_x11.cpp:192
#27 0xb723c6e4 in QEventLoop::enterLoop (this=0x80cdc90) at kernel/qeventloop.cpp:198
#28 0xb723c3e2 in QEventLoop::exec (this=0x80cdc90) at kernel/qeventloop.cpp:145
#29 0xb7222f13 in QApplication::exec (this=0xbfd1367c) at kernel/qapplication.cpp:2758
#30 0xb6627d64 in kdemain (argc=2, argv=0x8087c30) at /tmp/buildd/kdebase-3.5.8.dfsg.1/./konqueror/konq_main.cc:206
#31 0xb7fc3454 in kdeinitmain (argc=2, argv=0x8087c30) at konqueror_dummy.cc:3
#32 0x0804ed50 in launch (argc=2, _name=0x8087bd4 "konqueror", args=0x8087be6 "", cwd=0x0, envc=1, envs=0x8087bf7 "", reset_env=false, tty=0x0, 
    avoid_loops=false, startup_id_str=0x8087bfc "Debian2;1192633223;317268;10051_TIME186759848") at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./kinit/kinit.cpp:673
#33 0x0804f471 in handle_launcher_request (sock=9) at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./kinit/kinit.cpp:1240
#34 0x0804f989 in handle_requests (waitForPid=0) at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./kinit/kinit.cpp:1443
#35 0x080504a4 in main (argc=5, argv=0xbfd14114, envp=0xbfd1412c) at /tmp/buildd/kdelibs-3.5.8.dfsg.1/./kinit/kinit.cpp:1908
#36 0xb7d13050 in __libc_start_main () from /lib/i686/cmov/libc.so.6
#37 0x0804bb51 in _start ()


I think you have to pay attention to frame #10 if you look in the kremoteencodingplugin.cpp line 251 you will see this:

  client->call(*it, "KIO::Scheduler", "reparseSlaveConfiguration(QString)",
	       data, rtype, rdata);

it seems that is the dcop call that stalls for any reason I don't understand.

with this locals:

(gdb) info locals
rtype = {<QMemArray<char>> = {<QGArray> = {_vptr.QGArray = 0x8052428, shd = 0x86d31b8}, <No data fields>}, <No data fields>}
rdata = {<QGArray> = {_vptr.QGArray = 0x8051868, shd = 0x87a7e98}, <No data fields>}
client = (class DCOPClient *) 0x876c5b8
data = {<QGArray> = {_vptr.QGArray = 0x8051868, shd = 0x86486c8}, <No data fields>}
stream = {_vptr.QDataStream = 0xb7746730, dev = 0x864f348, owndev = true, byteorder = 0, printable = false, noswap = false, ver = 6}
apps = {sh = 0x86a7350}
args = {_vptr.URLArgs = 0x3b31908, docState = {<QValueList<QString>> = {sh = 0xb7e42140}, <No data fields>}, reload = 224, xOffset = -1076811352,
  yOffset = -1210669184, serviceType = {d = 0xb7e42140}, postData = {<QGArray> = {_vptr.QGArray = 0x84dbae0, shd = 0x1746840}, <No data fields>},
  frameName = {d = 0xb7e40ff4}, trustedSource = 64, d = 0x86fa4e8}
Comment 7 Raúl 2007-10-17 18:09:23 UTC
I forgot to say that after you change the remote charset, this change persists. This is to say, after you kill konqueror if you open a new one a load the site again, the remote charset will be as selected immediately before the hang.
Comment 8 Michael Gefen 2007-10-17 18:15:01 UTC
same behavior happened in my case.
Comment 9 Raphael Kubo da Costa 2008-05-04 21:32:18 UTC
The bug seems to have been fixed in 3.5.9 (Kubuntu Hardy 8.04), and I could not find an equivalent option in 4.0.3 (also Hardy 8.04).
Comment 10 Michael Leupold 2008-05-05 11:41:37 UTC
I rechecked. It can't be reproduced in 3.5.9 and the option is back in trunk r804042 as well - doesn't crash either.
Comment 11 FiNeX 2008-05-06 01:36:04 UTC
Reproduced on 3.5.9.

Tomorrow I'll try even trunk.
Comment 12 Michael Gefen 2008-05-06 03:27:07 UTC
i was unable to reproduce on 3.5.9 (kubuntu 7.10)
Comment 13 FiNeX 2008-05-06 13:46:40 UTC
Trunk (r804500) is working correctly.
Comment 14 Médéric Boquien 2008-05-10 17:52:29 UTC
Thank you for the bug report. It appears the bug is now fixed in KDE SVN trunk (r806088). I close the bug report as WORKSFORME.