Folks,

I have found the cause of the error which is due to some new features added to ProcessConf interface of ODE which are not well documented. I am working on a fix now and I hope to be able to commit this later today. Tuscany has its own implementation of ProcessConf and I made some guesses about the values it should return, given not much documentation. I guessed wrong.

The guesses cause a NPE during the cleanup phase which unfortunately happens deep in the ODE Engine in places that are horribly difficult to debug due to transaction managers and thread pools.

I feel like the last week has been "death by ODE" - give me "death by 
chocolate" any day  ;-)

This fix should apply to both 1.x and 2.x - I will post if more than 
TuscanyProcessConfImpl is affected.

Yours,  Mike.


Mike Edwards wrote:
Folks,

The rollback seems to occur because of a null pointer exception which I believe is something to do with the return of the response message from the BPEL process. It may be that the response message ends up with no data being returned and the null pointer occurs when the dereference of that data is done. Why there is no data is a mystery at the moment - the BPEL process appears to execute just fine...

But anyway - the point I am trying to get over is that the RollbackException is a symptom of a deeper problem.

This stuff is REALLY hard to debug because of multi-threading and async handoffs of work items between threads, plus timeouts all over the place....


Yours,  Mike.


Reply via email to