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

Reply via email to