History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: UP-746
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Ken Weiner
Reporter: William G. Thompson, Jr.
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
uPortal

CSecureInfo has a memory leak, when ChannelManager swaps out a channel for the CSecureInfo channel, the to end session events never propagate to the original channel

Created: 15/Nov/04 10:50 AM   Updated: 03/Jul/07 04:10 PM
Component/s: Framework
Affects Version/s: 2.4.1
Fix Version/s: 2.4.2

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Environment:
Operating System: All
Platform: All

Bugzilla Id: 1790


 Description  « Hide
> 2) When the ChannelManager swaps out a channel for the CError channel, the
> end session events never propagate to the original channel. This was
> particularly bad with the CPortletChannel channel which keeps a static Map
> for ChannelState objects. Luckily all my portlets on the "Portlet Examples"
> tab weren't configurated and all failed .. which uncovered it.
>
> We could add a method to CError to retrieve the "the_channel" attribute,
> then have ChannelManager propagate the SESSION_DONE event (or others??).


------- Additional Comment #1 From Nick Bolton 2004-11-13 09:30 -------

There is similar behavor with CSecureInfo. Both CSecureInfo and CError should
implement receiveEvent and pass events they receive along to the channels they
hold.

 All   Comments   Work Log   Change History      Sort Order:
William G. Thompson, Jr. [15/Nov/04 10:53 AM]
Bill,

I've verified that adding the receiveEvent method to CError channel fixes
the CM leak.

public void receiveEvent(PortalEvent ev) {
if (the_channel != null) { the_channel.receiveEvent(ev); }
super.receiveEvent(ev);
}

Let me know if that works for you too.

-nick


Ken Weiner [17/Nov/04 10:54 PM]
Added receiveEvent to CSecureInfo in rel-2-4-patches and MAIN.