The application, eTutor, serves both live and recordings of live training sessions. It is written with Flex 4.6.
We were running 1.0RC1 on this particular server. We upgraded to 1.0.5 and it failed again last night in the same way. The only change to the system has been the application of windows updates. We will remove those updates but it seems unlikely that those might be the problem.
We have no clue as to what's happening. We do have the following from the error logs on the 1.0RC1 verison when it failed. The error log for the 1.0.5 version was overwritten when we restarted Red5 so I don't have anything there.
2015-06-25 13:46:34,032 [pool-2334-thread-29] ERROR o.r.s.n.r.codec.RTMPProtocolEncoder - Error encoding object:
java.util.ConcurrentModificationException: null
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:839) ~[na:1.7.0_67]
at java.util.HashMap$EntryIterator.next(HashMap.java:880) ~[na:1.7.0_67]
at java.util.HashMap$EntryIterator.next(HashMap.java:878) ~[na:1.7.0_67]
at org.red5.io.amf.Output.writeObject(Output.java:450) ~[red5.jar:na]
at org.red5.io.object.Serializer.writeObjectType(Serializer.java:290) ~[red5.jar:na]
at org.red5.io.object.Serializer.writeComplex(Serializer.java:140) ~[red5.jar:na]
at org.red5.io.object.Serializer.serialize(Serializer.java:86) ~[red5.jar:na]
at org.red5.io.object.Serializer.serialize(Serializer.java:63) ~[red5.jar:na]
at org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.doEncodeSharedObject(RTMPProtocolEncoder.java:684) ~[red5.jar:na]
at org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encodeSharedObject(RTMPProtocolEncoder.java:614) ~[red5.jar:na]
at org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encodeMessage(RTMPProtocolEncoder.java:553) ~[red5.jar:na]
at org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encodePacket(RTMPProtocolEncoder.java:155) ~[red5.jar:na]
at org.red5.server.net.rtmp.codec.RTMPProtocolEncoder.encode(RTMPProtocolEncoder.java:123) ~[red5.jar:na]
at org.red5.server.net.rtmp.codec.RTMPMinaProtocolEncoder.encode(RTMPMinaProtocolEncoder.java:59) [red5.jar:na]
at org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:322) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:509) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1400(DefaultIoFilterChain.java:46) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:808) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.filterWrite(DefaultIoFilterChain.java:734) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:509) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:501) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:490) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:435) [mina-core-2.0.2.jar:na]
at org.red5.server.net.rtmp.RTMPMinaConnection.write(RTMPMinaConnection.java:273) [red5.jar:na]
at org.red5.server.net.rtmp.Channel.write(Channel.java:124) [red5.jar:na]
at org.red5.server.net.rtmp.Channel.write(Channel.java:104) [red5.jar:na]
at org.red5.server.so.SharedObject$1.run(SharedObject.java:354) [red5.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_67]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_67]
at java.lang.Thread.run(Unknown Source) [na:1.7.0_67]
2015-06-25 13:47:53,701 [NioProcessor-1] ERROR o.r.s.n.r.codec.RTMPProtocolDecoder - Error decoding buffer
org.red5.server.net.protocol.ProtocolException: Error during decoding
at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decode(RTMPProtocolDecoder.java:197) ~[red5.jar:na]
at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decodeBuffer(RTMPProtocolDecoder.java:118) ~[red5.jar:na]
at org.red5.server.net.rtmp.codec.RTMPMinaProtocolDecoder.decode(RTMPMinaProtocolDecoder.java:62) [red5.jar:na]
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:241) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) [mina-core-2.0.2.jar:na]
at org.red5.server.net.rtmpe.RTMPEIoFilter.messageReceived(RTMPEIoFilter.java:125) [red5.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:693) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:646) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:635) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:67) [mina-core-2.0.2.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1079) [mina-core-2.0.2.jar:na]
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) [mina-core-2.0.2.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_67]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_67]
at java.lang.Thread.run(Unknown Source) [na:1.7.0_67]
Caused by: java.nio.BufferUnderflowException: null
at java.nio.Buffer.nextGetIndex(Unknown Source) ~[na:1.7.0_67]
at java.nio.HeapByteBuffer.get(Unknown Source) ~[na:1.7.0_67]
at org.apache.mina.core.buffer.AbstractIoBuffer.get(AbstractIoBuffer.java:492) ~[mina-core-2.0.2.jar:na]
at org.red5.io.amf3.Input.readAMF3Integer(Input.java:944) ~[red5.jar:na]
at org.red5.io.amf3.Input.readNumber(Input.java:340) ~[red5.jar:na]
at org.red5.io.object.Deserializer.deserialize(Deserializer.java:70) ~[red5.jar:na]
at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decodeNotifyOrInvoke(RTMPProtocolDecoder.java:859) ~[red5.jar:na]
at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decodeInvoke(RTMPProtocolDecoder.java:753) ~[red5.jar:na]
at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decodeMessage(RTMPProtocolDecoder.java:525) ~[red5.jar:na]
at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decodePacket(RTMPProtocolDecoder.java:358) ~[red5.jar:na]
at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decode(RTMPProtocolDecoder.java:184) ~[red5.jar:na]
... 22 common frames omitted