Guillaume, if you detect the deadlock you can change Red5 source code in your local box and compile again using ant.
After that is a good idea to open a Jira Ticket so that the Red5 team can fix the problem on the trunk. Regards, Luiz Filipe. -----Mensagem original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nome de Guillaume Lecanu Enviada em: sexta-feira, 10 de agosto de 2007 00:56 Para: [email protected] Assunto: Re: [Red5] RES: Red5 often freeze on our server Le jeudi 09 août 2007 à 22:24 -0700, Luiz Filipe a écrit : Guillaume, we had the same issue some weeks ago, and we solved the problem removing some synchronized keywords from some Red5 core files. Try to execute jstack (from sun jdk) using your red5 process id as first parameter (e.g. .jstack 2314 ) and try to find the deadlock. Maybe you´ll find the same deadlock that we found on BaseConnection.close method. I'll try this, thanks for this advice, but if there is somes deadlock, what can I do if it's a part of the code of red5 ? p.s: we are getting more than 1.500 concurrent users without any freeze after this change. Oh great, it's interresting yes ! Regards, Luiz Filipe. -----Mensagem original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nome de Guillaume Lecanu Enviada em: quinta-feira, 9 de agosto de 2007 00:48 Para: red5 Assunto: [Red5] Red5 often freeze on our server Hi guys ! We uses Red5 0.6.2 on our debian server. Our application is a live webcam, and we need to restart Red5 every 2/3 days because Red5 freeze. I don't know if Red5 really freeze, but it's no more possible to make new connection on the application, and there is no traces in logs since the freeze moment. In the logs, I generally don't found any suspects traces, but I report you some examples of what we can see in the logs just before the freeze : [INFO] 220723179 pool-3-thread-7:( RTMPConnection.updateBytesRead ) StreamBytesRead: 11688682 [INFO] 220723205 pool-3-thread-7:( RTMPConnection.updateBytesRead ) StreamBytesRead: 14010943 [INFO] 220723245 pool-3-thread-7:( RTMPConnection.updateBytesRead ) StreamBytesRead: 5775370 [INFO] 220723415 pool-3-thread-7:( RTMPHandler.onInvoke ) call: Service: null Method: receiveAudio Num Params: 10: false [INFO] 220723415 pool-3-thread-7:( RTMPHandler.onInvoke ) --receiveAudio [INFO] 220723422 pool-3-thread-7:( RTMPHandler.onInvoke ) call: Service: null Method: play Num Params: 10: toto [INFO] 220723422 pool-3-thread-7:( RTMPHandler.onInvoke ) --play [INFO] 220723424 pool-3-thread-7:( RTMPHandler.onInvoke ) call: Service: null Method: receiveAudio Num Params: 10: false [INFO] 220723424 pool-3-thread-7:( RTMPHandler.onInvoke ) --receiveAudio [INFO] 220723511 pool-3-thread-7:( RTMPHandler.onInvoke ) call: Service: null Method: closeStream Num Params: 0 [INFO] 220723511 pool-3-thread-7:( RTMPHandler.onInvoke ) --closeStream [INFO] 220724280 pool-3-thread-7:( RTMPHandler.onInvoke ) call: Service: null Method: deleteStream Num Params: 10: 1 [INFO] 220724280 pool-3-thread-7:( RTMPHandler.onInvoke ) --deleteStream [WARN] 220737559 DefaultQuartzScheduler_Worker-9:( RTMPConnection.execute ) Closing RTMPMinaConnection from X.X.X.X:4642 to our_server.com:80 (in: 4367, out: 11416216) due to too much inactivity (126423). There is often a DefaultQuartzScheduler in theses cases. We have also found sometime an error : [ERROR] 152119851 SocketAcceptorIoProcessor-0.1:( RTMPProtocolDecoder.decode ) Error in packet at 0 java.lang.NullPointerException at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decodeHeader(RTMPProtocolDecoder.java:416) at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decodePacket(RTMPProtocolDecoder.java:315) at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decode(RTMPProtocolDecoder.java:178) at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decodeBuffer(RTMPProtocolDecoder.java:120) at org.red5.server.net.rtmp.codec.RTMPMinaProtocolDecoder.decode(RTMPMinaProtocolDecoder.java:60) at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:172) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:54) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800) at org.apache.mina.common.support.AbstractIoFilterChain$HeadFilter.messageReceived(AbstractIoFilterChain.java:617) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362) at org.apache.mina.common.support.AbstractIoFilterChain.fireMessageReceived(AbstractIoFilterChain.java:353) at org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoProcessor.java:246) at org.apache.mina.transport.socket.nio.SocketIoProcessor.process(SocketIoProcessor.java:206) at org.apache.mina.transport.socket.nio.SocketIoProcessor.access$500(SocketIoProcessor.java:44) at org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:506) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:43) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) [ERROR] 152119851 SocketAcceptorIoProcessor-0.1:( RTMPProtocolDecoder.decodeBuffer ) Error decoding buffer org.red5.server.net.protocol.ProtocolException: Error during decoding at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decode(RTMPProtocolDecoder.java:189) at org.red5.server.net.rtmp.codec.RTMPProtocolDecoder.decodeBuffer(RTMPProtocolDecoder.java:120) at org.red5.server.net.rtmp.codec.RTMPMinaProtocolDecoder.decode(RTMPMinaProtocolDecoder.java:60) at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:172) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:54) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800) at org.apache.mina.common.support.AbstractIoFilterChain$HeadFilter.messageReceived(AbstractIoFilterChain.java:617) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362) at org.apache.mina.common.support.AbstractIoFilterChain.fireMessageReceived(AbstractIoFilterChain.java:353) at org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoProcessor.java:246) at org.apache.mina.transport.socket.nio.SocketIoProcessor.process(SocketIoProcessor.java:206) at org.apache.mina.transport.socket.nio.SocketIoProcessor.access$500(SocketIoProcessor.java:44) at org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:506) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:43) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) Do you have any solutions/suggestions to help us ? Thanks a lots. _______________________________________________ Red5 mailing list [email protected] http://osflash.org/mailman/listinfo/red5_osflash.org
_______________________________________________ Red5 mailing list [email protected] http://osflash.org/mailman/listinfo/red5_osflash.org
