Expand my Community achievements bar.

lcds rtmp dying on large file transfers to remote java class

Avatar

Former Community Member

using lcds3 we are trying to upload a file from flash to a java remote procedure using rtmp on small files it works fine but one of our test cases

is 24meg and rtmp dies with this message in the log:

[LCDS]09:56:53.490 Thread[my-rtmp-SocketServer-WorkerThread-3,5,main] failed to read Connection '146949270' or process the data; Connection is in the 'Open' state and will be forced closed.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.RangeCheck(ArrayList.java:547)
    at java.util.ArrayList.get(ArrayList.java:322)
    at flex.messaging.io.tcchunk.TCCommand.getArg(TCCommand.java:262)
    at flex.messaging.endpoints.RTMPConnection.handleTCCommandIn(RTMPConnection.java:740)
    at flex.messaging.endpoints.RTMPConnection.in(RTMPConnection.java:933)
    at flex.messaging.endpoints.RTMPConnection.serviceTCMessage(RTMPConnection.java:1020)
    at flex.messaging.endpoints.RTMPConnection.doRead(RTMPConnection.java:561)
    at flex.messaging.endpoints.RTMPProtocolHandler.doRead(RTMPProtocolHandler.java:125)
    at flex.messaging.socketserver.Connection$ConnectionReader.run(Connection.java:848)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:637)

the flash client gets and end connection message after some time

4 Replies

Avatar

Former Community Member

we switched to amf and the problem went away

Avatar

Former Community Member

Is this consistently reproducible? So, if I return a file with 24MB size from the server over RTMP, I'll run into this?

Avatar

Former Community Member

I don't know about going from server to client, we were going the

other way trying to upload a file to a remote class

chuckles

Avatar

Former Community Member

There's a limit of 10MB for a single RTMP message in LCDS, you're probably running into this but you're supposed to get a "TCMessageTooLargeException" when you go over 10MB. I think there might be a bug around bubbling this exception but either way, I think you should try to chop your file in 10MB chunks when using RTMP.