Hi,

More information about this memory leak problem.

This problem doesn't happen in version 1.3 (Development/deployment
mode) and only happens in version 1.3.1 (development/deployment mode).

Thanks.

Regards
Boon Ping.

On Feb 12, 2008 7:36 AM, Henrik Lundahl <[EMAIL PROTECTED]> wrote:
> Hi,
>
> In my current project we have a page with six AjaxLinks that open
> different ModalWindows. We had implemented sub-classes of ModalWindow
> which had field references to the content Pages (the source of the
> iframes in the ModalWindows) created by ModalWindow.PageCreators. The
> references were there to extract state from the Pages when the
> ModalWindows were closed. The Pages also had field references to the
> ModalWindows in order to call close on them.
>
> Using this design, the serialization/deserialization increased
> seemingly exponentially for every opened and closed ModalWindow,
> causing a gigantic memory leak. After opening and closing a number of
> ModalWindows, a single close could consume an additional ~70 MB of
> memory.
>
> Also, in some situations the Page.numericId was zero in
> Page.writeObject, causing a ClassCastException when the Page field
> references were deserialized. Since the numericId was zero, the wrong
> Page (the initial Page) got deserialized.
>
> As far as I have been able to understand what's happening, the
> problems arise because of the cycles between components and the fact
> that the Pages are deserialized using different ObjectInputStreams.
> I'm not sure how the numericId could become zero.
>
> Removing the references to the content Pages from the ModalWindow
> sub-classes and using simple Models instead seems to have solved both
> problems.
>
> Questions:
>
> What is happening in the serialization/deserialization when this
> behavior arises?
>
> How can the numericId become zero in Page.writeObject (and
> sub-sequentially in Page.readObject)?
>
> Is it generally problematic to have field references to Pages in
> Components (or objects)?
>
> What would the most decoupled approach (object graph wise), thus
> minimizing serialization, be to implementing this?
>
>
> Thanks,
> Henrik Lundahl
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to