Bug 156259 - Downloads in Kget & Konqueror regulary stall
Summary: Downloads in Kget & Konqueror regulary stall
Status: RESOLVED FIXED
Alias: None
Product: kio
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Thiago Macieira
URL:
Keywords:
: 155939 156833 156945 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-01-20 20:14 UTC by Samir van de Sand
Modified: 2008-04-20 19:51 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
initial patch (4.37 KB, patch)
2008-01-21 21:42 UTC, Maksim Orlovich
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Samir van de Sand 2008-01-20 20:14:18 UTC
Version:           2.0 (using 4.00.00 (KDE 4.0.0), Kubuntu packages)
Compiler:          gcc
OS:                Linux (i686) release 2.6.22-14-generic

When downloading files via Kget or Konqueror the downloads get stalled after a while. On the contrary when downloading the same file with Firefox it works fine. I noticed that frequently in downloads from Rapidshare (but also in other cases).
Comment 1 Manolo Valdes 2008-01-21 01:53:53 UTC
On Sunday 20 January 2008 7:14:18 pm Samir van de Sand wrote:
> When downloading files via Kget or Konqueror the downloads get stalled
> after a while. On the contrary when downloading the same file with Firefox
> it works fine. I noticed that frequently in downloads from Rapidshare (but
> also in other cases). _______________________________________________
> Kget mailing list
> Kget@kde.org
> https://mail.kde.org/mailman/listinfo/kget


Can you please explain more. :)

when you said "or konqueror" . you mean not using kget at all?

thanks
Manolito
Comment 2 Samir van de Sand 2008-01-21 02:04:03 UTC
On Monday 21 January 2008 01:53:53 Manolo Valdes wrote:
[bugs.kde.org quoted mail]

Yeah I mean that this issue occurs while downloading files with Kget or 
downloading files via Konqueror (but without Kget ...). So Kget itself is 
probably not responsbile for the problem, but something more generic. Maybe 
kio?
Comment 3 Maksim Orlovich 2008-01-21 18:00:44 UTC
I'll give this one a shot from kio/konq end, but it may be tricky...
Comment 4 Maksim Orlovich 2008-01-21 18:05:08 UTC
Slave blocks talking to app..
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb64cf25d in ___newselect_nocancel () from /lib/i686/libc.so.6
#2  0xb71c987d in QNativeSocketEnginePrivate::nativeSelect (this=0x80a53f8, timeout=-1, checkRead=true, checkWrite=true,
    selectForRead=0xbf8b19ff, selectForWrite=0xbf8b19fe) at qnativesocketengine_unix.cpp:914
#3  0xb71ae1ec in QNativeSocketEngine::waitForReadOrWrite (this=0x80dc758, readyToRead=0xbf8b19ff, readyToWrite=0xbf8b19fe, checkRead=true,
    checkWrite=true, msecs=-1, timedOut=0x0) at qnativesocketengine.cpp:817
#4  0xb71bd76d in QAbstractSocket::waitForBytesWritten (this=0x80ed860, msecs=-1) at qabstractsocket.cpp:1581
#5  0xb7960635 in KIO::SocketConnectionBackend::sendCommand (this=0x80a4ed0, task=@0xbf8b1a64)
    at /home/maksim/kde4/src/kdelibs/kio/kio/connection.cpp:294
#6  0xb795f1a0 in KIO::Connection::sendnow (this=0x80a45ac, _cmd=100, data=@0xbf8b1b98)
    at /home/maksim/kde4/src/kdelibs/kio/kio/connection.cpp:494
#7  0xb795f7f6 in KIO::Connection::send (this=0x80a45ac, cmd=100, data=@0xbf8b1b98)
    at /home/maksim/kde4/src/kdelibs/kio/kio/connection.cpp:478
#8  0xb7a2005d in KIO::SlaveBase::send (this=0xbf8b44d8, cmd=100, arr=@0xbf8b1b98) at /home/maksim/kde4/src/kdelibs/kio/kio/slavebase.cpp:1249
#9  0xb7a220a9 in KIO::SlaveBase::data (this=0xbf8b44d8, data=@0xbf8b1b98) at /home/maksim/kde4/src/kdelibs/kio/kio/slavebase.cpp:369
#10 0xb5f2dc92 in HTTPProtocol::slotData (this=0xbf8b44d0, _d=@0xbf8b45bc) at /home/maksim/kde4/src/kdelibs/kioslave/http/http.cpp:4126
#11 0xb5f2f7c6 in HTTPProtocol::qt_metacall (this=0xbf8b44d0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbf8b20cc)
    at /home/maksim/kde4/build/kdelibs/kioslave/http/http.moc:68
#12 0xb7f03308 in QMetaObject::activate (sender=0xbf8b41f0, from_signal_index=4, to_signal_index=4, argv=0xbf8b20cc)
    at kernel/qobject.cpp:3087
Comment 5 Maksim Orlovich 2008-01-21 19:29:22 UTC
On the app side, the connection backend seems to spin endlessly in the KIO::SocketConnectionBackend::socketReadyRead deferred signal invocation, 
and not actually get any new data, even though it is resumed/buffer set to unlimited, as it thinks it has enough for a header, while it's actually looking for payload. Though fixing that it still stalls, just w/o burning CPU... Some relevant log fragments:

konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  8  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  9  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38)  Beginning of command  64  of size  b50
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  1  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  2  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  3  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  4  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  5  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  6  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  7  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  8  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  9  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming

....

konqueror(7136) KIO::SocketConnectionBackend::setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502 d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
konqueror(7136) KIO::SocketConnectionBackend::socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes

Comment 6 Maksim Orlovich 2008-01-21 19:32:34 UTC
Let's try this again, somewhat trimmed:
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  6  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  7  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  8  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  9  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38)  Beginning of command  64  of size  b50
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  1  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  2  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  3  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  4  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  5  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  6  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  7  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  8  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  9  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
setSuspended: KIO::SocketConnectionBackend(0x8502d38)  suspending
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes

...

setSuspended: KIO::SocketConnectionBackend(0x8502d38)  resuming
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502 d38) Want to read  2896  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Got  10  bytes
socketReadyRead: KIO::SocketConnectionBackend(0x8502d38) Want to read  2896  bytes
Comment 7 Maksim Orlovich 2008-01-21 21:42:15 UTC
Created attachment 23182 [details]
initial patch

OK, this avoids stalls, but the throughput is subpar, seemingly capping out at
~1.6MiB/sec.

This does:
1. Always re-enables socket notifiers when resuming the backend connection
2. Uses the proper length when computing whether there is an another complete
thing to read -- if we are waiting for payload, HeaderSize bytes is useless.
3. Does multiple reads immediately in a loop. 
w/o (3) throughput is pathetic, as the client can't keep up with the slave.
Comment 8 Maksim Orlovich 2008-01-22 18:00:41 UTC
Ugh.. Something is still wrong --- it appears to occasionally miss some image loading now and such. Not sure how to approach debugging that just yet..
Comment 9 Maksim Orlovich 2008-01-28 05:18:52 UTC
*** Bug 156833 has been marked as a duplicate of this bug. ***
Comment 10 Oliver Putz 2008-01-28 06:33:33 UTC
*** Bug 155939 has been marked as a duplicate of this bug. ***
Comment 11 Maksim Orlovich 2008-01-30 03:39:40 UTC
*** Bug 156945 has been marked as a duplicate of this bug. ***
Comment 12 Maksim Orlovich 2008-01-30 22:58:23 UTC
SVN commit 768905 by orlovich:

Fix stalls on long file transfers:
1. Always re-enable socket notifiers when resuming the backend connection 
2. Use the proper length when computing whether there is an another complete 
   thing to read -- if we are waiting for payload, HeaderSize bytes is useless. 
3. Do multiple reads immediately in a loop. 
w/o (3) throughput is pathetic, as the client can't keep up with the slave. 

BUG: 156259


 M  +52 -44    connection.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=768905
Comment 13 Jakub Stachowski 2008-02-05 21:30:55 UTC
SVN commit 771394 by qbast:

Fix updating location bar for remote directories - if KDirOperator
signals entering a directory then trust it that it is really a directory
instead of using half-working (only for local files) check.
CCBUG: 156259



 M  +1 -1      kfilewidget.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=771394