[ 
https://issues.apache.org/jira/browse/WICKET-5323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Emond Papegaaij resolved WICKET-5323.
-------------------------------------

    Resolution: Cannot Reproduce

This is exact the same stacktrace as in WICKET-5282 where we asked for a 
quickstart. It looks like a bug in Atmosphere to me, but without a quickstart 
that reproduces the problem, there's no way I can tell.
                
> During EventBus.post() from non-Wicket thread: an error occurred while 
> generating an Url for handler at o.a.w.request.cycle.RequestCycle.urlFor()
> -------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: WICKET-5323
>                 URL: https://issues.apache.org/jira/browse/WICKET-5323
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-atmosphere
>    Affects Versions: 6.10.0
>         Environment: wicket-atmosphere 0.11, WebSockets protocol
>            Reporter: Hendy Irawan
>            Assignee: Emond Papegaaij
>
> When AtmosphereEventBus.post() is called from a non-Wicket thread (and no web 
> request), it fails with the following, due to NullPointerException: null at 
> org.apache.wicket.protocol.http.servlet.ServletWebRequest.getContextRelativeUrl()
> {code}
> 2013-08-22 08:48:30.656
> 04:49:23.551 | ERROR | oryBean_Worker-7 | o.a.w.DefaultExceptionMapper     | 
> he.wicket.DefaultExceptionMapper  123 | Unexpected error occurred
> org.apache.wicket.WicketRuntimeException: An error occurred while generating 
> an Url for handler 
> 'org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler@6f93daec'
>         at 
> org.apache.wicket.request.cycle.RequestCycle.urlFor(RequestCycle.java:535) 
> [wicket-core-6.10.0.jar:6.10.0]
>         at org.apache.wicket.Component.urlFor(Component.java:3347) 
> ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.behavior.AbstractAjaxBehavior.getCallbackUrl(AbstractAjaxBehavior.java:88)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.renderAjaxAttributes(AbstractDefaultAjaxBehavior.java:223)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.renderAjaxAttributes(AbstractDefaultAjaxBehavior.java:207)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.getCallbackScript(AbstractDefaultAjaxBehavior.java:457)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.ajax.AjaxEventBehavior.renderHead(AjaxEventBehavior.java:83)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at org.apache.wicket.Component.renderHead(Component.java:2714) 
> ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy$1.component(ChildFirstHeaderRenderStrategy.java:85)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:96)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:51)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderChildHeaders(ChildFirstHeaderRenderStrategy.java:78)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderHeader(ChildFirstHeaderRenderStrategy.java:57)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.ajax.AbstractAjaxResponse.writeHeaderContribution(AbstractAjaxResponse.java:464)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.ajax.XmlAjaxResponse.writeComponent(XmlAjaxResponse.java:110)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.ajax.AbstractAjaxResponse.writeComponents(AbstractAjaxResponse.java:213)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.ajax.AbstractAjaxResponse.writeTo(AbstractAjaxResponse.java:145)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.ajax.AjaxRequestHandler.respond(AjaxRequestHandler.java:359)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:861)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>  ~[wicket-request-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:97)
>  ~[wicket-request-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) 
> [wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
>  [wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
>  [wicket-core-6.10.0.jar:6.10.0]
>         at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:341) 
> ~[wicket-atmosphere-0.11.jar:0.11]
>         at 
> org.apache.wicket.atmosphere.EventBus.postToSingleResource(EventBus.java:317) 
> ~[wicket-atmosphere-0.11.jar:0.11]
>         at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:292) 
> ~[wicket-atmosphere-0.11.jar:0.11]
>         at 
> org.soluvas.web.site.AtmosphereApplication.bridgeToAtmosphere(AtmosphereApplication.java:53)
>  ~[org.soluvas.web.site-2.1.0-SNAPSHOT.jar:na]
>         at sun.reflect.GeneratedMethodAccessor73.invoke(Unknown Source) 
> ~[na:na]
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[na:1.7.0_25]
>         at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_25]
>         at 
> com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) 
> ~[guava-14.0.1.jar:na]
>         at 
> com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
>  ~[guava-14.0.1.jar:na]
>         at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) 
> ~[guava-14.0.1.jar:na]
>         at 
> com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) 
> ~[guava-14.0.1.jar:na]
>         at com.google.common.eventbus.EventBus.post(EventBus.java:267) 
> ~[guava-14.0.1.jar:na]
>         at 
> com.quikdo.freq.job.EventBusJobListener.jobWasExecuted(EventBusJobListener.java:54)
>  ~[EventBusJobListener.class:na]
>         at 
> org.quartz.core.QuartzScheduler.notifyJobListenersWasExecuted(QuartzScheduler.java:2020)
>  ~[quartz-2.2.0.jar:na]
>         at 
> org.quartz.core.JobRunShell.notifyJobListenersComplete(JobRunShell.java:355) 
> ~[quartz-2.2.0.jar:na]
>         at org.quartz.core.JobRunShell.run(JobRunShell.java:229) 
> ~[quartz-2.2.0.jar:na]
>         at 
> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:560) 
> ~[quartz-2.2.0.jar:na]
> Caused by: java.lang.NullPointerException: null
>         at 
> org.apache.wicket.protocol.http.servlet.ServletWebRequest.getContextRelativeUrl(ServletWebRequest.java:194)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.protocol.http.servlet.ServletWebRequest.getClientUrl(ServletWebRequest.java:148)
>  ~[wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.atmosphere.AtmosphereWebRequest.getClientUrl(AtmosphereWebRequest.java:112)
>  ~[wicket-atmosphere-0.11.jar:0.11]
>         at 
> org.apache.wicket.request.UrlRenderer.shouldRenderAsFull(UrlRenderer.java:354)
>  ~[wicket-request-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.request.UrlRenderer.renderUrl(UrlRenderer.java:100) 
> ~[wicket-request-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.request.cycle.RequestCycle.renderUrl(RequestCycle.java:548) 
> [wicket-core-6.10.0.jar:6.10.0]
>         at 
> org.apache.wicket.request.cycle.RequestCycle.urlFor(RequestCycle.java:530) 
> [wicket-core-6.10.0.jar:6.10.0]
>         ... 49 common frames omitted
>         at 
> org.apache.wicket.DefaultExceptionMapper.internalMap(DefaultExceptionMapper.java:123)
>         at 
> org.apache.wicket.DefaultExceptionMapper.map(DefaultExceptionMapper.java:62)
>         at 
> org.apache.wicket.request.cycle.RequestCycle.handleException(RequestCycle.java:352)
>         at 
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:229)
>         at 
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
>         at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:341)
>         at 
> org.apache.wicket.atmosphere.EventBus.postToSingleResource(EventBus.java:317)
>         at org.apache.wicket.atmosphere.EventBus.post(EventBus.java:292)
> {code}
> Note that although there is no web request, the Atmosphere EventBus.post() 
> should still work.
> Also FYI, not sure if this helps, a WebSocket request scheme is "WebSocket", 
> not "http" nor "http".
> Related to WICKET-5134, WICKET-5084, WICKET-5280.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to