You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Rahul Akolkar (JIRA)" <ji...@apache.org> on 2008/01/27 02:28:34 UTC

[jira] Updated: (SCXML-65) NullPointer exceptions during triggerEvent

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

Rahul Akolkar updated SCXML-65:
-------------------------------

    Fix Version/s: 0.8

Please try one or more of the following things:

 * From the stack trace, it looks like you are triggering events asynchronously through a custom action. Generally, custom actions work better with derived events instead (add the event based on the HTTP response to the 'derivedEvents' collection).

 * Alternatively (as compared to above bullet which I'd try first), you could try registering a 'x-http' targettype invoker and using <invoke targettype="x-http" ...>

 * Looking at the trace above (and v0.7 as you indicate to match line numbers), I've made one minor "first-hit" performance improvement to the code in SVN trunk. It'd be useful to know if that helps the cause here (if you are in a position to be able to try a jar built out of SVN).

 * If none of the above works, try parsing a separate state machine instance (SCXML class instance) for each SCXMLExecutor instance. This shouldn't be necessary, but if it is here, then this may have uncovered a bug.

In the absence of a test case, it'd be great if you could give us some feedback on the above suggestions. Thanks.


> NullPointer exceptions during triggerEvent
> ------------------------------------------
>
>                 Key: SCXML-65
>                 URL: https://issues.apache.org/jira/browse/SCXML-65
>             Project: Commons SCXML
>          Issue Type: Bug
>    Affects Versions: 0.7
>         Environment: Linux opensuse 10.2 & Sun Solaris 10 
> 1.5.x java
>            Reporter: luc willems
>             Fix For: 0.8
>
>
> i'm using SCXML state machines in a load generation tool. this tool simulates a client connected to a server.
> the SCXML script used custom actions to send a request using a HTTP based protocol.
> the HTTP response is transformed into a event and inserted into the SCXML script using triggerEvent().
> each SCML executor has 1 dedicated http connection.  i'm using around 2 to 10000 clients depending on the 
> test scenario's.
> During execution of the scripts a get sporatic nullpointer exceptions. this DOESN'T happen all the time , it is hard to reproduce but when it happens ALL clients have the same problem. resetting the SCXML exector doesn't help
> 2008-01-24 14:33:35,593|scxml-1-88|ERROR|SCXMLUser.triggerEvents(181)|9|Current events: events(TriggerEvent{name=wv.status,type=3},TriggerEvent{name=wv.ok,type=3})
> 2008-01-24 14:33:35,594|scxml-1-88|ERROR|SCXMLUser.triggerEvents(182)|9|error scxml event trigger: null
> java.lang.NullPointerException
>         at org.apache.commons.scxml.semantics.SCXMLSemanticsImpl.seedTargetSet(SCXMLSemanticsImpl.java:493)
>         at org.apache.commons.scxml.semantics.SCXMLSemanticsImpl.followTransitions(SCXMLSemanticsImpl.java:652)
>         at org.apache.commons.scxml.SCXMLExecutor.triggerEvents(SCXMLExecutor.java:127)
>         at com.nsn.loadtool.scxml.SCXMLUser.triggerEvents(SCXMLUser.java:164)
>         at com.nsn.loadtool.scxml.SCXMLAsyncExecutor$SCXMLWorker.run(SCXMLAsyncExecutor.java:101)
>         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)
> all event triggering is done in a way that only 1 thread can trigger a event.
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.