« Return to Thread: Recording from Webcam: Null Pointer Exception in File Consumer

Re: Recording from Webcam: Null Pointer Exception in File Consumer

by GaryP-2 :: Rate this Message:

| View in Thread

Ahh, no webcam....I'll have to see if that may be my missing link on
this puppy.  I've been trying to figure out why it happens on some
scenarios but not others.

In taking a peek at trunk it looks like the writeLock object is null
when clearing the queue, hence the NPE.  Wouldn't be so bad but Red5's
downstream processing after the NPE includes deleting my FLV.  <sigh>

Seems there needs to be a check for null in the uninit() method on
this guy.  Or, since the init() method initializes writeLock only on a
delayWrite, maybe this check should also be respected in uninit().
Haven't had the spare cycles to dig deeper...

- Gary


On Feb 21, 1:30 pm, Andy Shaules <bowljo...@...> wrote:

> i think it means your user did not allow access to webcam, so when the stream closed , the we no data bytes and the reader burped.
>
> Sent from my iPad
>
> On Feb 20, 2012, at 2:34 AM, Roi Oron <oron...@...> wrote:
>
>
>
> > Hi,
>
> > I'm using Red5 1.0 rc1 to record from webcams. I received in the error
> > log the following null pointer exception, in file consumer class.
> > Any hint? I don't have any idea why it happened.
>
> > Best,
> > Roi
>
> > 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(FileCons­umer.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(Abstract­Pipe.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.ja­va:
> > 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_22]
> >    at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> > 57) ~[na:1.6.0_22]
> >    at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp­l.java:
> > 43) ~[na:1.6.0_22]
> >    at java.lang.reflect.Method.invoke(Method.java:616) ~[na:1.6.0_22]
> >    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.ja­va:
> > 134) [red5.jar:na]
> >    at
> > org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIoHandle­r.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.callNextMessageReceiv­ed(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(ProtocolCo­decFilter.java:
> > 245) [mina-core-2.0.2.jar:na]
> >    at
> > org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceiv­ed(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.callNextMessageReceiv­ed(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(IoFilterAd­apter.java:
> > 119) [mina-core-2.0.2.jar:na]
> >    at
> > org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceiv­ed(DefaultIoFilterChain.java:
> > 434) [mina-core-2.0.2.jar:na]
> >    at
> > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(D­efaultIoFilterChain.java:
> > 426) [mina-core-2.0.2.jar:na]
> >    at
> > org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollin­gIoProcessor.java:
> > 693) [mina-core-2.0.2.jar:na]
> >    at
> > org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPol­lingIoProcessor.java:
> > 646) [mina-core-2.0.2.jar:na]
> >    at
> > org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPol­lingIoProcessor.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_22]
> >    at java.util.concurrent.ThreadPoolExecutor
> > $Worker.run(ThreadPoolExecutor.java:603) [na:1.6.0_22]
> >    at java.lang.Thread.run(Thread.java:679) [na:1.6.0_22]- Hide quoted text -
>
> - Show quoted text -

 « Return to Thread: Recording from Webcam: Null Pointer Exception in File Consumer