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

Reply via email to