Skip Menu |

This queue is for tickets about the CGI-Session CPAN distribution.

Report information
The Basics
Id: 28516
Status: resolved
Priority: 0/
Queue: CGI-Session

People
Owner: MARKSTOS [...] cpan.org
Requestors: jasonjcrowther [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 4.03
Fixed in: (no value)



Subject: CGI::Session and UTF-8 problem
I've got a CGI::Application based program that uses CGI::Application::Plugin::Session (which is basically a wrapper on CGI::Session) to handle the session stuff. Recently, I wanted to change from the default encoding in mysql to UTF-8. Easy enough, just issue: $dbh->do(qq|set names 'utf8'|); right after the new'ng up the database handle, right? For reasons unclear to me, this causes some craziness over in CGI::Session. Here's the error that it generates: Error executing class callback in prerun stage: Can't locate object method "errstr" via package "CGI::Session::Serialize::storable" at /usr/lib/perl5/site_perl/5.8.6/CGI/Session.pm line 674. Things go back to working fine if I take that line out. I've checked to make sure that the mysql database is UTF-8 (and tables too), on the off chance that would make a difference. I also blew away any old sessions in case it might have had a problem with old data in the old character set. A perl monk suggested I report this as a bug. Here's the original thread from over there: http://perlmonks.org/?node_id=629094 This might be related to another utf8 related bug that's still open: 21981 I don't happen to have a short test script handy because CGI::Session is so abstracted below CGI::Application in this case, but if you think its useful I can try to put one together. perl version: 5.8.6 os: fedora fc4
This bug was our fault: Error executing class callback in prerun stage: Can't locate object method "errstr" via package "CGI::Session::Serialize::storable" at /usr/lib/perl5/site_perl/5.8.6/CGI/Session.pm line 674. ### And it has been fixed now. Judging from the Perlmonks thread, the UTF-8 handling issue was your issue. I'm considering this resolved for now, but let us know if you are still able to reproduce a UTF-8 issue with CGI::Session 4.38 or newer. Mark On Fri Jul 27 13:02:40 2007, jasoncrowther wrote: Show quoted text
> I've got a CGI::Application based program that uses > CGI::Application::Plugin::Session (which is basically a wrapper on > CGI::Session) to handle the session stuff. > > Recently, I wanted to change from the default encoding in mysql to > UTF-8. Easy enough, just issue: > > $dbh->do(qq|set names 'utf8'|); > > right after the new'ng up the database handle, right? > > For reasons unclear to me, this causes some craziness over in > CGI::Session. Here's the error that it generates: > > Error executing class callback in prerun stage: Can't locate object > method "errstr" via package "CGI::Session::Serialize::storable" at > /usr/lib/perl5/site_perl/5.8.6/CGI/Session.pm line 674. > > Things go back to working fine if I take that line out. > > I've checked to make sure that the mysql database is UTF-8 (and tables > too), on the off chance that would make a difference. I also blew away > any old sessions in case it might have had a problem with old data in > the old character set. > > A perl monk suggested I report this as a bug. Here's the original > thread from over there: > > http://perlmonks.org/?node_id=629094 > > This might be related to another utf8 related bug that's still open: > > 21981 > > I don't happen to have a short test script handy because CGI::Session is > so abstracted below CGI::Application in this case, but if you think its > useful I can try to put one together. > > perl version: 5.8.6 > os: fedora fc4 >