EDS live queries leak

August 6, 2008

I wanted to take closer look on the memory consumption of  “browsing-through-the-calendar” operation. As I have probably found a bug, I will post about this later.

The bug: when one clicks on the clock applet, live query, that watches the actual month is generated (and calendar window appears). Another click on the clock applet  (to hide the calendar window) – live query IS NOT destroyed (ECalViewListener object is destroyed, but EDataCalView object is not destroyed).  Next click on the calendar window  –  the same live query is generated again (new calendar client was created).

Here is the picture documenting the error : As I was clicking on the clock applet (almost every second), the number of live queries was increasing and they were not destroyed.

To reproduce the bug:

  1. export ORBIT2_DEBUG_STRMAX=1000
  2. export ORBIT2_DEBUG=traces
  3. Click on the clock applet a few times. Watch, that the same live queries are generated.
  4. Open Evolution and create some event in actual month.
  5. Watch CORBA communication – every live queries will be informed, that new object was created by notifyObjectsAdded method

As it seems to me, we are destroying live queries only when orbit connection is disconnected. However, there are so many listeners and views, that I am little bit confused, still.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: