liuzhe02 / bigbluebutton

Automatically exported from code.google.com/p/bigbluebutton
0 stars 0 forks source link

java.lang.OutOfMemoryError: GC overhead limit exceeded #1032

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
11-10-07 12:54:22,562 [NioProcessor-1] ERROR o.r.server.service.ServiceInvoker 
- Method stopTransmit with parameters [false, -1] not found in 
org.bigbluebutton.app.video.VideoApplication@4d2772ca
2011-10-07 12:54:22,563 [NioProcessor-1] ERROR 
o.r.server.service.ServiceInvoker - Method stopTransmit with parameters [false, 
0] not found in org.bigbluebutton.app.video.VideoApplication@4d2772ca
2011-10-07 12:54:41,627 [NioProcessor-1] ERROR 
o.r.server.service.ServiceInvoker - Method startTransmit with parameters 
[false, -1] not found in org.bigbluebutton.app.video.VideoApplication@4d2772ca
2011-10-07 12:54:41,627 [NioProcessor-1] ERROR 
o.r.server.service.ServiceInvoker - Method startTransmit with parameters 
[false, 0] not found in org.bigbluebutton.app.video.VideoApplication@4d2772ca
2011-10-07 15:18:13,210 [NioProcessor-1] ERROR 
o.r.server.net.rtmp.RTMPHandshake - Unable to validate client
2011-10-07 15:36:06,543 [NioProcessor-1] ERROR 
o.r.server.service.ServiceInvoker - Error executing call: Service: presentation 
Method: resizeAndMoveSlide Num Params: 4 0: 0 1: 0 2: 1 3: 1
2011-10-07 15:36:08,494 [http-0.0.0.0-5080-1] ERROR 
o.a.c.c.C.[.[0.0.0.0].[/].[rtmpt] - Servlet.service() for servlet rtmpt threw 
exception
java.lang.OutOfMemoryError: GC overhead limit exceeded
2011-10-07 15:36:09,660 [pool-3040-thread-1] ERROR o.r.s.m.InMemoryPushPushPipe 
- Exception when pushing message to consumer
java.lang.OutOfMemoryError: GC overhead limit exceeded
2011-10-07 15:36:13,280 [http-0.0.0.0-5080-4] ERROR 
o.a.c.c.C.[.[0.0.0.0].[/].[rtmpt] - Servlet.service() for servlet rtmpt threw 
exception
java.lang.OutOfMemoryError: GC overhead limit exceeded
2011-10-07 15:36:14,432 [NioProcessor-1] ERROR 
o.r.server.service.ServiceInvoker - Error executing call: Service: participants 
Method: getParticipants Num Params: 0
2011-10-07 15:36:15,948 [http-0.0.0.0-5080-1] ERROR 
o.a.c.connector.CoyoteAdapter - An exception or error occurred in the container 
during the request processing
java.lang.OutOfMemoryError: GC overhead limit exceeded
2011-10-07 15:36:17,783 [pool-3040-thread-1] ERROR o.r.s.m.InMemoryPushPushPipe 
- Exception when pushing message to consumer
java.lang.OutOfMemoryError: GC overhead limit exceeded
2011-10-07 15:36:18,514 [http-0.0.0.0-5080-4] ERROR 
o.a.coyote.http11.Http11Processor - Error processing request
java.lang.OutOfMemoryError: GC overhead limit exceeded
2011-10-07 15:36:19,610 [http-0.0.0.0-5080-1] ERROR 
o.a.coyote.http11.Http11Processor - Error finishing response
java.lang.OutOfMemoryError: GC overhead limit exceeded
2011-10-07 15:36:23,276 [http-0.0.0.0-5080-4] ERROR 
o.a.coyote.http11.Http11Protocol - Error reading request, ignored
java.lang.OutOfMemoryError: GC overhead limit exceeded
2011-10-07 15:36:25,507 [http-0.0.0.0-5080-2] ERROR 
o.a.c.connector.CoyoteAdapter - An exception or error occurred in the container 
during the request processing
java.lang.OutOfMemoryError: GC overhead limit exceeded
2011-10-07 15:36:26,976 [http-0.0.0.0-5080-2] ERROR 
o.a.coyote.http11.Http11Processor - Error finishing response
java.lang.OutOfMemoryError: GC overhead limit exceeded
2011-10-07 15:55:31,985 [pool-11-thread-8964] ERROR 
o.f.e.c.i.d.ChannelEventRunnable - Caught -->
java.lang.OutOfMemoryError: GC overhead limit exceeded

----------
Lots of error in /usr/share/red5/log/error.log

2011-10-06 15:50:16,705 [NioProcessor-1] ERROR 
o.r.server.messaging.AbstractPipe - exception when handling pipe connection 
event
java.lang.NullPointerException: null
        at org.red5.server.stream.consumer.FileConsumer.uninit(FileConsumer.java:405) ~[red5.jar:na]
        at org.red5.server.stream.consumer.FileConsumer.onPipeConnectionEvent(FileConsumer.java:320) ~[red5.jar:na]
        at org.red5.server.messaging.AbstractPipe.firePipeConnectionEvent(AbstractPipe.java:258) [red5.jar:na]
        at org.red5.server.messaging.AbstractPipe.fireProviderConnectionEvent(AbstractPipe.java:248) [red5.jar:na]
        at org.red5.server.messaging.AbstractPipe.unsubscribe(AbstractPipe.java:111) [red5.jar:na]
        at org.red5.server.stream.ClientBroadcastStream.close(ClientBroadcastStream.java:200) [red5.jar:na]
        at org.red5.server.stream.StreamService.closeStream(StreamService.java:75) [red5.jar:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_20]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.6.0_20]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.6.0_20]
        at java.lang.reflect.Method.invoke(Method.java:616) ~[na:1.6.0_20]
        at org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:200) [red5.jar:na]
        at org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.java:183) [red5.jar:na]
        at org.red5.server.net.rtmp.RTMPHandler.onInvoke(RTMPHandler.java:390) [red5.jar:na]
        at org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandler.java:134) [red5.jar:na]
        at org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIoHandler.java:206) [red5.jar:na]
        at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716) [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.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:427) [mina-core-2.0.2.jar:na]
        at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:245) [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(ThreadPoolExecutor.java:1110) [na:1.6.0_20]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.6.0_20]
        at java.lang.Thread.run(Thread.java:636) [na:1.6.0_20]
2011-10-06 16:04:50,945 [Red5_Scheduler_Worker-4] WARN  
o.r.server.net.rtmp.RTMPConnection - Closing RTMPTConnection from 127.0.0.1 : 
46773 to localhost (in: 0 out 0 ), with id 82 due to long handshake

Original issue reported on code.google.com by ritza...@gmail.com on 7 Oct 2011 at 9:23

GoogleCodeExporter commented 9 years ago

Original comment by ffdixon@gmail.com on 7 Oct 2011 at 11:48

GoogleCodeExporter commented 9 years ago
I'm not a member of the project, but noticed the error description and perhaps 
can help.

The "java.lang.OutOfMemoryError: GC overhead limit exceeded" means that JVM 
Garbage Collector continuously tries to free more memory and eventually fails. 
This may be caused by a memory leak in the application. 

If that is the case, then I would suggest you to attach Plumbr (www.plumbr.eu) 
to your application and see if it pinpoints the source of the problem. If you 
get a report from Plumbr, you'll have the list of leaking objects and the line 
number of where objects are created.

Original comment by pr...@potter.ee on 18 Oct 2011 at 3:23

GoogleCodeExporter commented 9 years ago
The NPE exceptions are from webcam being used by another browser. This happens 
when a user joins BBB on a browser (e.g. Firefox), starts sharing cam, opens 
another browser (Safari), and starts the webcam. The webcam on the Safari 
browser will be blank because it's being used by Firefox.

This is fixed by work done by Felipe to check if webcam is available and if 
not, not to start streaming.

The GC overhead limit...is difficult to reproduce.

Original comment by ritza...@gmail.com on 25 Oct 2011 at 5:09

GoogleCodeExporter commented 9 years ago
Using YourKit, we found that deskshare holds on to memory after the deskshare 
stream has stopped. After a while, this memory just increases. When there is a 
low available heap space, the GC will reclaim this memory but if there are a 
number of users, the GC can't reclaim memory quickly enough and eventually it 
will crash.

Setting the objects to NULL allows GC to reclaim memory earlier.

https://github.com/bigbluebutton/bigbluebutton/commit/4ff0c7567539dd00b39a89f10f
4139a450a28daa

Original comment by ritza...@gmail.com on 4 Nov 2011 at 7:57

GoogleCodeExporter commented 9 years ago
We'll keep this issue open to continue to test throughout the 0.8 testing cycle.

Original comment by ffdixon@gmail.com on 22 Nov 2011 at 1:03

GoogleCodeExporter commented 9 years ago
Issue 910 has been merged into this issue.

Original comment by ffdixon@gmail.com on 22 Nov 2011 at 2:16

GoogleCodeExporter commented 9 years ago
Made some changes to remove hanging objects.

Haven't seen on demo for a few weeks.

Original comment by ritza...@gmail.com on 6 Dec 2011 at 10:50