maciekph / joscar

Automatically exported from code.google.com/p/joscar
0 stars 0 forks source link

After a failed file transfer (invalid resume request), the TransferController doesn't necessarily stop #5

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
A 'resume' attempt on an outgoing file failed in the checksumming phase. This 
was caused by 
the file having the same name as an existing file on the receiver's end... even 
though it wasn't the 
same file.

The transfer was reported as 'canceled' on his side and 'failed' on mine.

My debug info (the sender):
[6:26:20 PM EST] TransferController: File transfer is now connected
[6:26:20 PM EST] TransferredFileImpl: Closing RandomAccessFile for 
/Users/evands/adium/
Plugins/joscar Service/Archive.zip
[6:26:20 PM EST] AbstractStateController: Error in 
SendFileController:java.io.IOException: could 
not get checksum for entire file; 1078596 failed of 1098034
    at net.kano.joustsim.oscar.oscar.service.icbm.ft.ChecksummerImpl.compute
(ChecksummerImpl.java:84)
    at 
net.kano.joustsim.oscar.oscar.service.icbm.ft.controllers.SendFileController.che
cksumFilePart
(SendFileController.java:288)
    at 
net.kano.joustsim.oscar.oscar.service.icbm.ft.controllers.SendFileController.get
ActualResumePosi
tion(SendFileController.java:272)
    at 
net.kano.joustsim.oscar.oscar.service.icbm.ft.controllers.SendFileController.get
ResumePositionFr
omResumePacket(SendFileController.java:219)
    at 
net.kano.joustsim.oscar.oscar.service.icbm.ft.controllers.SendFileController.get
ResumePosition
(SendFileController.java:179)
    at 
net.kano.joustsim.oscar.oscar.service.icbm.ft.controllers.SendFileController.rea
dInitialResponse
(SendFileController.java:145)
    at net.kano.joustsim.oscar.oscar.service.icbm.ft.controllers.SendFileController.sendFile
(SendFileController.java:120)
    at 
net.kano.joustsim.oscar.oscar.service.icbm.ft.controllers.SendFileController.tra
nsferInThread
(SendFileController.java:94)
    at net.kano.joustsim.oscar.oscar.service.icbm.ft.controllers.TransferController$1.run
(TransferController.java:107)
    at java.lang.Thread.run(Thread.java:613)

[6:26:20 PM EST] AbstractStateController: New state for 
net.kano.joustsim.oscar.oscar.service.icbm.ft.controllers.SendFileController: 
ExceptionStateInfo: 
java.io.IOException: could not get checksum for entire file; 1078596 failed of 
1098034
[6:26:20 PM EST] RvConnectionImpl: Changing state controller from 
SendFileController
[6:26:20 PM EST] RvConnectionImpl: Getting next controller for 
SendFileController (ended with 
ExceptionStateInfo: java.io.IOException: could not get checksum for entire 
file; 1078596 failed of 
1098034)

The TransferController thread continued to run indefinitely as shown in the 
attached image.

Possibly related: joscar was using about 25% of the CPU continuously while 
idling (target idle is 
0%, obviously).  java.net.SocketInputStream.read() from 
FlapHandler.readFLAPHeader() was the 
by-far largest hotspot for useage, as you can see above.

Original issue reported on code.google.com by e...@adiumx.com on 30 Oct 2006 at 1:27

Attachments: