agreed - the download status and background functionality looks great.
I just ran into a bug w/ the "save to disk" - once it retrieved all of the
data, it failed to write
to the disk and on the full download status page, gave the following error:
Request failed gracefully: Next failed: Next failed: Unexpected
Exception:Assertion failed
If I have it send it to the browser, it works fine. Maybe on the download
status page it could also list where
the file is being saved, or even the full file:// URL to it, so the user can
just click on it?
Anyway, nice work. If I didn't have to get a report to my boss today, I'd get
more info together, but if anyone working
on this functionality has any questions or needs help reproducing this, just
drop me an email.
-jrandom
In the freenet.log -
15.32.08.501 ERROR: (freenet.client.http.SFRContext, QThread-2860):
doBackgroundRequest - 12645fc
15.32.08.631 ERROR: (freenet.client.http.SFRContext$RequestThread, Thread-3):
Starting RequestThread - 2a9728
Unable to find native library for fec8
Unable to find native library for fec16
15.32.17.063 NORMAL: (freenet.interfaces.servlet.MultipleHttpServletContainer,
QThread-2869): I/O error in servlet - 16dc861
java.lang.RuntimeException: Assertion failed.
at freenet.client.RequestManager.assertTrue(RequestManager.java:398)
at
freenet.client.SplitFileRequestManager.fillInDecodedBlocks(SplitFileRequestManager.java:945)
at
freenet.client.SplitFileRequestManager.writeData(SplitFileRequestManager.java:971)
at
freenet.client.SplitFileRequestManager.getNextRequest(SplitFileRequestManager.java:558)
at freenet.client.RequestManager.execute(RequestManager.java:810)
at
freenet.client.VirtualClient$VirtualClientInstance.execute(VirtualClient.java:246)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
freenet.client.VirtualClient$VirtualClientInstance.blockingRun(VirtualClient.java:104)
at
freenet.client.VirtualClient$VirtualClientInstance.start(VirtualClient.java:73)
at
freenet.client.AutoRequester.handleNextRequest(AutoRequester.java:715)
at freenet.client.AutoRequester.onReachedState(AutoRequester.java:759)
at freenet.client.AutoRequester.access$0(AutoRequester.java)
at
freenet.client.AutoRequester$AutoListener.onDone(AutoRequester.java:792)
at freenet.client.listeners.DoneListener.receive(DoneListener.java:56)
at
freenet.client.AutoRequester$AutoListener.receive(AutoRequester.java:788)
at
freenet.client.SimpleEventProducer.produceEvent(SimpleEventProducer.java:47)
at
freenet.client.InternalClient$InternalFeedbackToken.unlockedProduceEvent(InternalClient.java:175)
at
freenet.client.InternalClient$InternalGetToken$TransferCompleteListener.receive(InternalClient.java:287)
at
freenet.client.SimpleEventProducer.produceEvent(SimpleEventProducer.java:47)
at
freenet.client.SegmentOutputStream.doEvents(SegmentOutputStream.java:100)
at
freenet.client.SegmentOutputStream.write(SegmentOutputStream.java:134)
at java.io.OutputStream.write(OutputStream.java:58)
at
freenet.crypt.DecipherOutputStream.write(DecipherOutputStream.java:40)
at
freenet.client.InternalClient$InternalFeedbackToken$InternalDataChunkOutputStream.sendChunk(InternalClient.java:259)
at
freenet.support.io.DataChunkOutputStream.write(DataChunkOutputStream.java:45)
at
freenet.support.io.CBStripOutputStream.write(CBStripOutputStream.java:41)
at freenet.node.states.data.SendData.received(SendData.java:110)
at freenet.node.StateChain.received(StateChain.java:161)
at freenet.node.StateChain.received(StateChain.java:52)
at
freenet.node.StandardMessageHandler$Ticket.run(StandardMessageHandler.java:212)
at
freenet.node.StandardMessageHandler$Ticket.received(StandardMessageHandler.java:159)
at
freenet.node.StandardMessageHandler$Ticket.access$0(StandardMessageHandler.java)
at
freenet.node.StandardMessageHandler.handle(StandardMessageHandler.java:68)
at freenet.Ticker$Event.run(Ticker.java:229)
at freenet.thread.QThreadFactory$QThread.run(QThreadFactory.java:213)
15.32.21.319 ERROR: (freenet.client.http.SFRContext$RequestThread, Thread-3):
Finished RequestThread - 2a9728
15.32.30.652 NORMAL: (freenet.interfaces.servlet.MultipleHttpServletContainer,
QThread-2890): I/O error in servlet - 16dc861
15.32.38.013 NORMAL: (freenet.interfaces.servlet.MultipleHttpServletContainer,
QThread-2863): I/O error in servlet - 16dc861
15.33.21.345 NORMAL: (freenet.interfaces.servlet.MultipleHttpServletContainer,
QThread-2879): I/O error in servlet - 16dc861
15.33.36.247 ERROR: (freenet.node.Node, QThread-2908): Error while receiving
message freenet.node.states.data.DataStateInitiator at cca551 in state Sending
Data @ 3472a90e97191cb4 - 120d62b
java.lang.NullPointerException
at
freenet.client.SegmentOutputStream.nextBucket(SegmentOutputStream.java:187)
at
freenet.client.SegmentOutputStream.write(SegmentOutputStream.java:129)
at java.io.OutputStream.write(OutputStream.java:58)
at
freenet.crypt.DecipherOutputStream.write(DecipherOutputStream.java:40)
at
freenet.client.InternalClient$InternalFeedbackToken$InternalDataChunkOutputStream.sendChunk(InternalClient.java:259)
at
freenet.support.io.DataChunkOutputStream.write(DataChunkOutputStream.java:45)
at
freenet.support.io.CBStripOutputStream.write(CBStripOutputStream.java:41)
at freenet.node.states.data.SendData.received(SendData.java:110)
at freenet.node.StateChain.received(StateChain.java:161)
at freenet.node.StateChain.received(StateChain.java:52)
at
freenet.node.StandardMessageHandler$Ticket.run(StandardMessageHandler.java:212)
at
freenet.node.StandardMessageHandler$Ticket.received(StandardMessageHandler.java:159)
at
freenet.node.StandardMessageHandler$Ticket.access$0(StandardMessageHandler.java)
at
freenet.node.StandardMessageHandler.handle(StandardMessageHandler.java:68)
at freenet.Ticker$Event.run(Ticker.java:229)
at freenet.thread.QThreadFactory$QThread.run(QThreadFactory.java:213)
!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+
CryptoMail provides free end-to-end message encryption.
http://www.cryptomail.org/ Ensure your right to privacy.
Traditional email messages are not secure. They are sent as
clear-text and thus are readable by anyone with the motivation
to acquire a copy.
!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+!+
_______________________________________________
devl mailing list
devl at freenetproject.org
http://hawk.freenetproject.org:8080/cgi-bin/mailman/listinfo/devl