[cgiapp] Re: Problem with Flash, Session & persistent environment
identified
Bradley C Bailey
cgiapp at brad.memoryleak.org
Fri Nov 21 15:22:17 EST 2008
>> Is there a way we could better update the documenation around these issues?
>
> Yeah, we need to think about this.
>
> In summary, I'm more and more convinced now that CGI::Session has not
> been at fault, but design faults (yes, bugs) in other modules create
> circular references, which in turn cause symptoms making it look like
> CGI::Session is at fault.
Agreed.
Even if you don't think it is safe to rely on autoflushing, these bugs
should be found and fixed. I have been using CGI::Session for many
years and never had to explicitly call flush(). I think you should be
able to rely on DESTROY() being called, if not there's a problem
somewhere else.
> But - as always - these are symptoms, and the underlying reason - again,
> as always - needs to be determined. And this process seems to have done
> that.
>
> As for docs, we can include a warning in the docs for CGI::Session, but
> keep in mind the authors/maintainers of CGI::Session are not responsible
> for the bugs in other modules.
>
> And by that I mean it's not up to us to do something to CGI::Session to
> fix these other problems, or even do something in the code to pre-empt
> them.
>
> However, a doc patch for CGI::Session (I'll draft something today, it's
> 7am here now) can definitely warn people about these symptoms, and which
> tools to use to investigate.
Agreed.
I am going to update my documentation for the Flash stuff as well to
point this kind of problem out.
Thanks to Rhesa for pointing out Devel::Cycle, that is a cool module.
So pardon my ignorance here, but if a circular reference is created and
objects don't go out of scope and get destroyed, wouldn't that lead to
memory leaks in persistance environments (ie: mod_perl, fastcgi, ...)?
Seems like a major problem.
And here are the versions of software I was testing with:
CGI: 3.33
CGI::Application: 4.20
CGI::Application::Server: 0.060
CGI::Application::Dispatch: 2.14
CGI::Session: 4.38
CGI::Session::Flash: 0.01
CGI::Application::Plugin::AutoRunmode: 0.15
CGI::Application::Plugin::DebugScreen: 0.06
CGI::Application::Plugin::ErrorPage: 1.12
CGI::Application::Plugin::Flash: 0.01
CGI::Application::Plugin::Redirect: 0.1
CGI::Application::Plugin::Session: 1.03
CGI::Application::Plugin::Stash: 0.01
CGI::Application::Plugin::TT: 1.03
Titanium: 1.00
Regards,
Bradley C Bailey
More information about the cgiapp
mailing list