Open spring-operator opened 11 years ago
Jeremy Sanders commented
We are encountering this same problem. Please look into this.
Daniel commented
Is there any workaround?
Andrzej L commented
This issue is confirmed? I wanted to use SWF in quite big project but such problems without a response for about a year are quite deterrent.
Rossen Stoyanchev commented
What server and version are you using? Also would you be able to check what is holding on to the data stored in the HTTP session after it expires, e.g. using a tool like YourKit or you could also obtain a heapdump from the JVM.
Tim Andersen commented
We encountered this problem when we tried to upgrade Webflow from 2.0.9.RELEASE to 2.3.3.RELEASE. Our test suite gets a java.lang.OutOfMemoryError: Java heap space. We reproduced the problem by writing a JUnit test that starts a new flow over and over again in a loop and monitoring it with jvisualvm. When we use 2.0.9.RELEASE, our memory usage stays steady at about 100m no matter how many flows are executed. With version 2.1.0.RELEASE and above, it uses all available memory until the GC thrashes and it runs out of memory. We tried this experiment with the flow execution reaching an end-state and without reaching an end-state, and that didn't seem to matter. Based upon our experiments, I believe the memory leak bug was introduced in 2.1.0.RELEASE and affects all subsequent versions.
Tim Andersen commented
Screenshots of jvisualvm looping over our flow execution from JUnit (integration tests that load the spring context and save to the database, but do not run in an application container)
Rossen Stoyanchev commented
So what are the simplest steps to reproducing this with a running application (as opposed to a unit test)? Can you find out with jvisualvm what are the paths to GC roots? I.e. what's holding on the state? Or if I can get a reproducible case going, I can find out with Yourkit.
Karl Trumstedt commented
This seems very serious and should probably be fixed ASAP. I'll try to find some time to try to recreate the issue.
Bartłomiej Mocior opened SWF-1594 and commented
When user starts a flow (or number of flows) and the user is inactive the natural behaviour of HTTP session is that it expires. Started flow session are not removed causing the memory leak. All the data attached to flows still remains in the flow session and will never be removed.
Affects: 2.3.1
Attachments:
7 votes, 9 watchers