Open spring-operator opened 14 years ago
Eugene Voytitsky commented
Just an opinion (cause some time ago I also developed a some kind of ToStringifier).
ToStringCreator is a simple but powerful Spring solution for generating toString() representation for any Java obj which doesn't have pretty-printing implemented toString(). But it seems that ToStringCreator doesn't track cycles in objects graph. This means that having cycled object graph (A->B->C->A: means instance A references instance B which in turn references instance C and so on) then any attempt to pretty-print any of A, B, C via ToStringCreator will cause similar StackOverflowError.
In your stacktrace above we see such a cycle: org.springframework.webflow.core.collection.LocalAttributeMap -> org.springframework.webflow.engine.impl.FlowExecutionImpl -> org.springframework.webflow.engine.impl.FlowSessionImpl -> org.springframework.webflow.core.collection.LocalAttributeMap (of course I mean that instances of the correspondent classes have a cycle not the classes)
Solutions:
Workaround for you: Just turn off logging level for 'org.springframework' back. I don't see any other solution for the moment.
HTH
Ron Eisele opened SWF-1192 and commented
Running an application with SWF 2.0.8 and Spring 3; filing issue in SWF since it seems the self-referential classes may be SWF's.
Setting the logging level for 'org.springframework' in our app causes a StackOverflowError with the following output (repeated continuously until final exception):
Affects: 2.0.8