ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thilina Gunarathne" <cset...@gmail.com>
Subject Re: Server error handling
Date Fri, 04 Apr 2008 22:55:16 GMT
Hi Alex,
I had an unhandled NPE thrown from onEvent method of the custom event
handler I wrote..

Just try putting event.eventContext.getVariableValue("");

Caused by: java.lang.NullPointerException
       at edu.indiana.extreme.ode.events.LeadEventListener.onEvent(LeadEventListener.java:24)

My system works fine now as I fixed the NPE :).. Not sure whether this
is due to some changes I did to the system..

thanks,
Thilina

On Fri, Apr 4, 2008 at 4:35 PM, Alex Boisvert <boisvert@intalio.com> wrote:
> Thilina,
>
>  I've never seen such thing and I've been abusing Ode in various ways.  Can
>  you describe what you do to make this happen?
>
>  alex
>
>
>  On Fri, Apr 4, 2008 at 1:11 PM, Thilina Gunarathne <csethil@gmail.com>
>
>
> wrote:
>
>  > Wat scares me most is the following log messages I got... Whole server
>  > failing due to an error in one process instance is not acceptable at
>  > all... I'm not sure about the exact validity of the message, cause I
>  > went ahead and fixed the NPE without digging more...
>  >
>  > DEBUG - GeronimoLog.debug(66) | BPEL SERVER STOPPING
>  > 13:01:42,164 DEBUG [BpelServerImpl] BPEL SERVER STOPPING
>  >
>  > ~Thilina
>  >
>  > On Fri, Apr 4, 2008 at 4:08 PM, Thilina Gunarathne <csethil@gmail.com>
>  > wrote:
>  > > Hi Matthieu,
>  > >  I completely agree with you that ODE should not fail due to a silly
>  > >  mistake in an event handler.
>  > >
>  > >  The next thing is if ODE fails like that in any case it's nice if it
>  > >  notifies the waiting client (if there are any) about that...
>  > >
>  > >  thanks,
>  > >  Thilina
>  > >
>  > >
>  > >
>  > >  On Fri, Apr 4, 2008 at 2:42 PM, Matthieu Riou <matthieu@offthelip.org>
>  > wrote:
>  > >  > I completely agree that hanging like this and not handling the
>  > exception is
>  > >  >  bad, but I don't think ODE should abort the current execution to
>  > provide an
>  > >  >  error back to the client because something happened in an event
>  > handler. The
>  > >  >  client could even not be there. We should log the error and then
>  > proceed.
>  > >  >
>  > >  >  Matthieu
>  > >  >
>  > >  >  On Fri, Apr 4, 2008 at 10:56 AM, Thilina Gunarathne <
>  > csethil@gmail.com>
>  > >  >
>  > >  >
>  > >  > wrote:
>  > >  >
>  > >  >  > Hi Alek,
>  > >  >  > done...
>  > >  >  > https://issues.apache.org/jira/browse/ODE-261
>  > >  >  >
>  > >  >  > It's nice if ODE can provide a error back..
>  > >  >  > thanks,
>  > >  >  > Thilina
>  > >  >  >
>  > >  >  > On Fri, Apr 4, 2008 at 1:25 PM, Alex Boisvert <
>  > boisvert@intalio.com>
>  > >  >  > wrote:
>  > >  >  > > Hi Thilina,
>  > >  >  > >
>  > >  >  > >  I would hope we can provide an error back to the client
instead
>  > of
>  > >  >  > letting
>  > >  >  > >  it time out.  Can you file an issue?  We need to analyze
the
>  > code path
>  > >  >  > and
>  > >  >  > >  determine where/how to handle this.
>  > >  >  > >
>  > >  >  > >  thanks,
>  > >  >  > >  alex
>  > >  >  > >
>  > >  >  > >
>  > >  >  > >  On Fri, Apr 4, 2008 at 10:09 AM, Thilina Gunarathne <
>  > csethil@gmail.com>
>  > >  >  > >  wrote:
>  > >  >  > >
>  > >  >  > >
>  > >  >  > >  > Hi,
>  > >  >  > >  > I did a mistake in the event handler I wrote, resulted
in a
>  > null
>  > >  >  > >  > pointer exception, which happened immediately after
the first
>  > >  >  > receive.
>  > >  >  > >  > This made the process instance to abort (not sure whether
the
>  > engine
>  > >  >  > >  > crashed too), but my client program never got an error
back
>  > and kept
>  > >  >  > >  > on waiting... Just wondering whether this is an expected
>  > behavior or
>  > >  >  > a
>  > >  >  > >  > bug...
>  > >  >  > >  >
>  > >  >  > >  > 13:01:41,556 ERROR [BpelEngineImpl] Scheduled job failed;
>  > >  >  > >  > jobDetail={type=INVOKE_INTERNAL,
>  > >  >  > >  > pid={
>  > >  >  > >  >
>  > >  >  >
>  > http://www.extreme.indiana.edu/xwf/bpel/Echo_Workflow_20080321_161030_946/}echo-3<http://www.extreme.indiana.edu/xwf/bpel/Echo_Workflow_20080321_161030_946/%7Decho-3>
>  > <
>  > http://www.extreme.indiana.edu/xwf/bpel/Echo_Workflow_20080321_161030_946/%7Decho-3
>  > >
>  > >  >  > <
>  > >  >  >
>  > http://www.extreme.indiana.edu/xwf/bpel/Echo_Workflow_20080321_161030_946/%7Decho-3
>  > >  >  > >
>  > >  >  > >
>  > >  >  > > > ,
>  > >  >  > >  > mexid=hqejbhcnphr3656bmodatr}
>  > >  >  > >  > java.lang.RuntimeException: java.lang.NullPointerException
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
>  > >  >  > >  >        at
>  > >  >  > org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:812)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInsedu.indiana.extreme.ode.events
>  > >  >  > >
>  > >  >  > >
>  > >  >  > > > .LeadEventListener.onEvent
>  > >  >  > >  > tance(PartnerLinkMyRoleImpl.java:197)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:194)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:362)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:328)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:341)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:340)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:179)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:339)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:336)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
>  > >  >  > >  >        at
>  > java.util.concurrent.FutureTask.run(FutureTask.java:123)
>  > >  >  > >  >        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)
>  > >  >  > >  > Caused by: java.lang.NullPointerException
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > edu.indiana.extreme.ode.events.LeadEventListener.onEvent(LeadEventListener.java:24)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelEngineImpl.fireEvent(BpelEngineImpl.java:422)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelRuntimeContextImpl.sendEvent(BpelRuntimeContextImpl.java:1000)
>  > >  >  > >  >        at
>  > org.apache.ode.bpel.runtime.PROCESS.run(PROCESS.java:49)
>  > >  >  > >  >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>  > Method)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>  > >  >  > >  >        at java.lang.reflect.Method.invoke(Method.java:585)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
>  > >  >  > >  >        ... 17 more
>  > >  >  > >  > DEBUG - GeronimoLog.debug(66) | BPEL SERVER STOPPING
>  > >  >  > >  > 13:01:42,164 DEBUG [BpelServerImpl] BPEL SERVER STOPPING
>  > >  >  > >  > ERROR - GeronimoLog.error(108) | Error while executing
>  > transaction
>  > >  >  > >  > org.apache.ode.bpel.iapi.Scheduler$JobProcessorException:
>  > >  >  > >  > java.lang.RuntimeException: java.lang.NullPointerException
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:338)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:341)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:340)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:179)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:339)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:336)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
>  > >  >  > >  >        at
>  > java.util.concurrent.FutureTask.run(FutureTask.java:123)
>  > >  >  > >  >        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)
>  > >  >  > >  > Caused by: java.lang.RuntimeException:
>  > java.lang.NullPointerException
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
>  > >  >  > >  >        at
>  > >  >  > org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:812)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:197)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:194)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:362)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:328)
>  > >  >  > >  >        ... 11 more
>  > >  >  > >  > Caused by: java.lang.NullPointerException
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > edu.indiana.extreme.ode.events.LeadEventListener.onEvent(LeadEventListener.java:24)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelEngineImpl.fireEvent(BpelEngineImpl.java:422)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.bpel.engine.BpelRuntimeContextImpl.sendEvent(BpelRuntimeContextImpl.java:1000)
>  > >  >  > >  >        at
>  > org.apache.ode.bpel.runtime.PROCESS.run(PROCESS.java:49)
>  > >  >  > >  >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>  > Method)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>  > >  >  > >  >        at java.lang.reflect.Method.invoke(Method.java:585)
>  > >  >  > >  >        at
>  > >  >  > >  >
>  > >  >  >
>  > org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
>  > >  >  > >  >        ... 17 more
>  > >  >  > >  >
>  > >  >  > >  > thanks,
>  > >  >  > >  > Thilina
>  > >  >  > >  > --
>  > >  >  > >  > Thilina Gunarathne - http://thilinag.blogspot.com
>  > >  >  > >  >
>  > >  >  > >
>  > >  >  >
>  > >  >  >
>  > >  >  >
>  > >  >  > --
>  > >  >  > Thilina Gunarathne - http://thilinag.blogspot.com
>  > >  >  >
>  > >  >
>  > >
>  > >
>  > >
>  > >  --
>  > >
>  > >
>  > > Thilina Gunarathne - http://thilinag.blogspot.com
>  > >
>  >
>  >
>  >
>  > --
>  > Thilina Gunarathne - http://thilinag.blogspot.com
>  >
>



-- 
Thilina Gunarathne - http://thilinag.blogspot.com

Mime
View raw message