Memory leak in session listeners

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Memory leak in session listeners

milin
Hi,

After using the MessAdmin tool to investigate  orbeon user sessions it seems as the server has a memory leak when the xxforms:set-session-attribute() function is referenced on a view.

Each time a view is loaded that contains references to xxforms:set-session-attribute() the size of the session attribute oxf.servlet.session-listeners will increase. It seems as though new listeners are added each time the page is reloaded.

The problem can be reproduced using the simple page below (try reloading it a couple of times):

<head>
        <xforms:model id="main-model">
                <xforms:instance id="test-instance">
                        <test />
                </xforms:instance>
        </xforms:model>
</head>
<body>       
        <xforms:trigger>
                <xforms:label>press</xforms:label>
                <xforms:action ev:event="DOMActivate" >
                        <xforms:insert context="." origin="xxforms:set-session-attribute('test-application', forms:instance('test-instance'))" />                               
                </xforms:action>
        </xforms:trigger>       
</body>

This simple page increases the session size with 1.6 KB for each request. If the model contains more instances the size will increase even more. For our application the oxf.servlet.session-listeners attribute increases 30 KB for each request.

/Mikael