You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Robbie Gemmell (JIRA)" <ji...@apache.org> on 2016/05/19 12:08:12 UTC

[jira] [Commented] (PROTON-1204) NullPointerException in Reactor Stack - IOHandler.onUnHandled method

    [ https://issues.apache.org/jira/browse/PROTON-1204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15290996#comment-15290996 ] 

Robbie Gemmell commented on PROTON-1204:
----------------------------------------

The 'non core event' type was added by someone to allow [re]dispatching custom events of their own inside the reactor thread along with those used for the AMQP handling. I believe the 'EventType' and extra event was basically a way distinguishing those from the others existing events, without breaking the existing 'Type' API everthing already used. If you arent using that stuff, I dont think you should be seeing it. 

You say " 'reactor is null' when eventType=NON_CORE_EVENT". The reactor value is given from a method that does various checks to get the reactor associated with the event. Is it clear where/when/why that returns null?

When you said 'eventType' was that the value from the getType() method return, or the actual type field on the Event? The 'NON_CORE_EVENT' is used as a fallback, but it doesnt seem like situation should really ever arise. What value are the fields on the 'Event' when this happens?

You say you are debugging it, what are you doing to provoke it?

> NullPointerException in Reactor Stack - IOHandler.onUnHandled method
> --------------------------------------------------------------------
>
>                 Key: PROTON-1204
>                 URL: https://issues.apache.org/jira/browse/PROTON-1204
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-j
>    Affects Versions: 0.12.2
>            Reporter: Sreeram Garlapati
>             Fix For: 0.13.0
>
>
> We are hitting NPE in the proton reactor Stack in IOHandler.java ().
> LN 302: ReactorImpl reactor = (ReactorImpl)event.getReactor();
> LN 303: Selector selector = reactor.getSelector();   <--- at this line 'reactor is null' when eventType=NON_CORE_EVENT
> Below is the exception stack trace:
> ---------------------------------------------
> java.lang.NullPointerException
> org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:112)
> org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:304)
> org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:273)
> org.apache.qpid.proton.reactor.impl.ReactorImpl.run(ReactorImpl.java:340)
> com.microsoft.azure.servicebus.MessagingFactory$RunReactor.run(MessagingFactory.java:366)
> java.lang.Thread.run(Unknown Source)Cause: null
> org.apache.qpid.proton.reactor.impl.IOHandler.onUnhandled(IOHandler.java:303)
> org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:236)
> org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
> org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:304)
> org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:273)
> org.apache.qpid.proton.reactor.impl.ReactorImpl.run(ReactorImpl.java:340)
> com.microsoft.azure.servicebus.MessagingFactory$RunReactor.run(MessagingFactory.java:366)
> java.lang.Thread.run(Unknown Source)
> I am trying to debug thru this and am blocked on understanding this: as per the Javadoc available - NON_CORE_EVENT can only be raised by extensions ? Can someone please help understand what are extensions and when this event is raised?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org