|
From: Ronald H. <ro...@co...> - 2004-03-26 22:11:12
|
Wow, while you are busy doing search marvelous research Juergen, could you try and find out who really killed JFK? :) Obscure bug award +1 On a side note, I saw some mentions to a new book that you are writing? Is this correct and if so, where is it pre-ordable? I can handle a bit of spring now, but you keep amazing me with your knowledge of every little obscure detail of the inner workings of spring, and I wouldnt mind to read about this. Cheers Ronald jürgen höller [werk3AT] wrote: >The bug was pretty obscure: It was caused by an exception that came across the wire via Hessian. (We had to track down that scenario first.) The exception was a custom subclass of Spring's NestedRuntimeException. For whatever reason, Hessian put a reference to the exception itself into the "cause" instance variable. (This situation cannot occur through normal usage of NestedRuntimeException, as it just allows to specify the cause in a constructor.) This caused NestedRuntimeException's getMessage and printStackTrace to recurse indefinitely, resulting in a StackOverflowError. As this was happening in logging code within a catch block of TransactionInterceptor, rollback was never invoked, thus no cleanup of the associated transactional resources. > >A candidate for the most obscure bug in quite a while... > >Juergen > > |