[ 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.