Skip Menu |
 

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

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

People
Owner: Nobody in particular
Requestors: greanie [...] yahoo.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 4.35
Fixed in: (no value)



Subject: Can't locate errstr via package "CGI::Session::Serialize::storable"
MIME-Version: 1.0
X-Mailer: MIME-tools 5.426 (Entity 5.426)
Content-Type: text/plain
Charset: utf8
Content-Disposition: inline
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 833
Download (untitled) / with headers
text/plain 833b
Hello, I am moving from Apache::Session to CGI::Session because of CGI::Session's ability to automatically start a new instance if an id to an expired one is passed, as well as the ability to change the serializer. I am using a wrapper class, passing in the session id to the contructor, using the new method to load the session, as follows: my $session = CGI::Session->new( "driver:mysql;serializer:storable", $sid, #passed into constructor { Handle => $_dbh } ) or die CGI::Session->errstr(); My application is dying with the following error message: Can't locate errstr via package "CGI::Session::Serialize::storable" at /usr/lib/perl5/site_perl/5.8.8/CGI/Session.pm line 812 My system is: perl 5.8.8 CGI::Session 4.35 (downloaded today) Linux Gentoo 2.6.22 running on i686 Modperl 2 Thanks for the support!
MIME-Version: 1.0
X-Spam-Status: No, hits=-2.6 required=8.0 tests=BAYES_00,SPF_PASS
In-Reply-To: <rt-3.6.HEAD-23024-1216813968-1612.37877-4-0 [...] rt.cpan.org>
X-Mailer: Claws Mail 3.5.0 (GTK+ 2.12.9; i486-pc-linux-gnu)
References: <RT-Ticket-37877 [...] rt.cpan.org> <rt-3.6.HEAD-23024-1216813968-1612.37877-4-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
X-RT-Original-Encoding: utf-8
Received: from x1.develooper.com (x1.develooper.com [63.251.223.170]) by diesel.bestpractical.com (Postfix) with SMTP id AC0C74D8070 for <bug-CGI-Session [...] rt.cpan.org>; Wed, 23 Jul 2008 10:04:01 -0400 (EDT)
Received: (qmail 21801 invoked from network); 23 Jul 2008 14:04:00 -0000
Received: from x16.dev (10.0.100.26) by x1.dev with QMQP; 23 Jul 2008 14:04:00 -0000
Received: from tanagra.summersault.com (HELO tanagra.summersault.com) (12.161.105.149) by 16.mx.develooper.com (qpsmtpd/0.43rc1) with SMTP; Wed, 23 Jul 2008 07:03:57 -0700
Received: (qmail 73152 invoked from network); 23 Jul 2008 10:03:51 -0400
Received: from simba.summersault.com (HELO localhost) (192.168.97.182) by tanagra.summersault.com with SMTP; 23 Jul 2008 10:03:51 -0400
Delivered-To: cpan-bug+CGI-Session [...] diesel.bestpractical.com
Subject: Re: [rt.cpan.org #37877] Can't locate errstr via package "CGI::Session::Serialize::storable"
Return-Path: <mark [...] summersault.com>
X-Spam-Check-BY: 16.mx.develooper.com
X-Original-To: bug-CGI-Session [...] rt.cpan.org
Date: Wed, 23 Jul 2008 10:03:50 -0400
X-Spam-Level: *
Message-Id: <20080723100350.16c74ada [...] summersault.com>
To: bug-CGI-Session [...] rt.cpan.org
Content-Transfer-Encoding: 7bit
From: Mark Stosberg <mark [...] summersault.com>
RT-Message-ID: <rt-3.6.HEAD-22997-1216821936-776.37877-0-0 [...] rt.cpan.org>
Content-Length: 1011
Download (untitled) / with headers
text/plain 1011b
Show quoted text
> I am moving from Apache::Session to CGI::Session because of > CGI::Session's ability to automatically start a new instance if an id to > an expired one is passed, as well as the ability to change the > serializer. I am using a wrapper class, passing in the session id to > the contructor, using the new method to load the session, as follows: > > my $session = CGI::Session->new( > "driver:mysql;serializer:storable", > $sid, #passed into constructor > { Handle => $_dbh } > ) or die CGI::Session->errstr(); > > My application is dying with the following error message: > > Can't locate errstr via package "CGI::Session::Serialize::storable" > at /usr/lib/perl5/site_perl/5.8.8/CGI/Session.pm line 812 > > My system is: > > perl 5.8.8 > CGI::Session 4.35 (downloaded today) > Linux Gentoo 2.6.22 running on i686 > Modperl 2
Just guessing: If line 812 has a call to $class->errstr, try changing into it to CGI::Session->errstr If that's the case, let us know how that works! Mark
MIME-Version: 1.0
X-Spam-Status: No, hits=-2.6 required=8.0 tests=BAYES_00,DK_POLICY_TESTING,DK_SIGNED,DK_VERIFIED
X-Mailer: YahooMailRC/1042.48 YahooMailWebService/0.7.218
Content-Type: text/plain; charset="utf-8"
X-RT-Original-Encoding: utf-8
Received: from x1.develooper.com (x1.develooper.com [63.251.223.170]) by diesel.bestpractical.com (Postfix) with SMTP id 8D79E4D80B1 for <bug-CGI-Session [...] rt.cpan.org>; Wed, 23 Jul 2008 13:41:40 -0400 (EDT)
Received: (qmail 4128 invoked from network); 23 Jul 2008 17:41:39 -0000
Received: from x16.dev (10.0.100.26) by x1.dev with QMQP; 23 Jul 2008 17:41:39 -0000
Received: from web65411.mail.ac4.yahoo.com (HELO web65411.mail.ac4.yahoo.com) (76.13.9.31) by 16.mx.develooper.com (qpsmtpd/0.43rc1) with SMTP; Wed, 23 Jul 2008 10:41:23 -0700
Received: (qmail 48090 invoked by uid 60001); 23 Jul 2008 17:41:19 -0000
Received: from [85.5.145.124] by web65411.mail.ac4.yahoo.com via HTTP; Wed, 23 Jul 2008 10:41:19 PDT
Delivered-To: cpan-bug+CGI-Session [...] diesel.bestpractical.com
Subject: Re: [rt.cpan.org #37877] Can't locate errstr via package "CGI::Session::Serialize::storable"
Return-Path: <greanie [...] yahoo.com>
Domainkey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type:Message-ID; b=2pzjXd2yX0M/ZY6s6crFesxp3pOM6l24qJy/dNg+ozoHmZXBul5U2e3oztc+gZ4G9+9Jc6gdbguuzuGuHTyT2y8PTR86b6s+JJggbEMAXVFMontcYl1lAcO0mrP8jJnrWrpSPhvt635cE+Glv2Qxe7C+TnzdX7yrxInP33y/Jwc=;
X-Original-To: bug-CGI-Session [...] rt.cpan.org
X-Spam-Check-BY: 16.mx.develooper.com
Date: Wed, 23 Jul 2008 10:41:19 -0700 (PDT)
X-Spam-Level: *
Message-Id: <466115.48034.qm [...] web65411.mail.ac4.yahoo.com>
To: bug-CGI-Session [...] rt.cpan.org
From: Michael Greenish <greanie [...] yahoo.com>
RT-Message-ID: <rt-3.6.HEAD-23010-1216834926-1688.37877-0-0 [...] rt.cpan.org>
Content-Length: 2079
Hello Mark, That seems to have taken care of that error. I get a different error: new(): failed: load() can't thaw() data using CGI::Session::Serialize::storable at /path/to/web-app/classes/session_wrapper.pm line xx So it fails at the new call in my session wrapper. Funny thing is that I cleared the session cookie before reloading the page so I am not sure what session it is trying to load. I did just update Storable via CPAN but if sid is undef, it should create a new session, not try to load one. If I use the Default serializer, I have no problems. However, I have other classes and that interact with the sessio nthat are dependent on Storable.pm so I would much prefer to use Storable.pm. Thanks for the support. Mike Show quoted text
----- Original Message ---- From: "mark@summersault.com via RT" <bug-CGI-Session@rt.cpan.org> To: greanie@yahoo.com Sent: Wednesday, July 23, 2008 2:05:43 PM Subject: Re: [rt.cpan.org #37877] Can't locate errstr via package "CGI::Session::Serialize::storable" <URL: http://rt.cpan.org/Ticket/Display.html?id=37877 >
> I am moving from Apache::Session to CGI::Session because of > CGI::Session's ability to automatically start a new instance if an id to > an expired one is passed, as well as the ability to change the > serializer. I am using a wrapper class, passing in the session id to > the contructor, using the new method to load the session, as follows: > > my $session = CGI::Session->new( > "driver:mysql;serializer:storable", > $sid, #passed into constructor > { Handle => $_dbh } > ) or die CGI::Session->errstr(); > > My application is dying with the following error message: > > Can't locate errstr via package "CGI::Session::Serialize::storable" > at /usr/lib/perl5/site_perl/5.8.8/CGI/Session.pm line 812 > > My system is: > > perl 5.8.8 > CGI::Session 4.35 (downloaded today) > Linux Gentoo 2.6.22 running on i686 > Modperl 2
Just guessing: If line 812 has a call to $class->errstr, try changing into it to CGI::Session->errstr If that's the case, let us know how that works! Mark
MIME-Version: 1.0
X-Spam-Status: No, hits=-2.6 required=8.0 tests=BAYES_00,SPF_PASS
In-Reply-To: <rt-3.6.HEAD-23010-1216834926-1688.37877-5-0 [...] rt.cpan.org>
X-Mailer: Claws Mail 3.5.0 (GTK+ 2.12.9; i486-pc-linux-gnu)
References: <RT-Ticket-37877 [...] rt.cpan.org> <466115.48034.qm [...] web65411.mail.ac4.yahoo.com> <rt-3.6.HEAD-23010-1216834926-1688.37877-5-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
X-RT-Original-Encoding: utf-8
Received: from x1.develooper.com (x1.develooper.com [63.251.223.170]) by diesel.bestpractical.com (Postfix) with SMTP id E79294D811C for <bug-CGI-Session [...] rt.cpan.org>; Wed, 23 Jul 2008 14:06:43 -0400 (EDT)
Received: (qmail 14528 invoked from network); 23 Jul 2008 18:06:43 -0000
Received: from x16.dev (10.0.100.26) by x1.dev with QMQP; 23 Jul 2008 18:06:43 -0000
Received: from tanagra.summersault.com (HELO tanagra.summersault.com) (12.161.105.149) by 16.mx.develooper.com (qpsmtpd/0.43rc1) with SMTP; Wed, 23 Jul 2008 11:06:39 -0700
Received: (qmail 98748 invoked from network); 23 Jul 2008 14:06:36 -0400
Received: from simba.summersault.com (HELO localhost) (192.168.97.182) by tanagra.summersault.com with SMTP; 23 Jul 2008 14:06:36 -0400
Delivered-To: cpan-bug+CGI-Session [...] diesel.bestpractical.com
Subject: Re: [rt.cpan.org #37877] Can't locate errstr via package "CGI::Session::Serialize::storable"
Return-Path: <mark [...] summersault.com>
X-Spam-Check-BY: 16.mx.develooper.com
X-Original-To: bug-CGI-Session [...] rt.cpan.org
Date: Wed, 23 Jul 2008 14:06:36 -0400
X-Spam-Level: *
Message-Id: <20080723140636.3286dfb0 [...] summersault.com>
To: bug-CGI-Session [...] rt.cpan.org
Content-Transfer-Encoding: 7bit
From: Mark Stosberg <mark [...] summersault.com>
RT-Message-ID: <rt-3.6.HEAD-23024-1216836412-1187.37877-0-0 [...] rt.cpan.org>
Content-Length: 1619
Download (untitled) / with headers
text/plain 1.5k
Show quoted text
> That seems to have taken care of that error.
Thanks. We'll think about the best way to patch this properly. Show quoted text
> I get a different error: > > new(): failed: load() can't thaw() data using > CGI::Session::Serialize::storable at > /path/to/web-app/classes/session_wrapper.pm line xx > > So it fails at the new call in my session wrapper. > > Funny thing is that I cleared the session cookie before reloading the page so > I am not sure what session it is trying to load. I did just update Storable > via CPAN but if sid is undef, it should create a new session, not try to load > one. > > > If I use the Default serializer, I have no problems. However, I have other > classes and that interact with the sessio nthat are dependent on Storable.pm > so I would much prefer to use Storable.pm.
Mike, The format that Storable uses may not be compatible from one machine to another. Have you moved the session files between architectures recently? You might also checked the ChangeLog for Storable for incompatible changes, or try downgrading to see if that fixes it. Try to write a new test for our test suite that reproduces the error. If you can't get the reduced test case to fail, the problem is with your use of it, or your application or environment. If you can write a new test that fails, we're happy to look into further. Mark -- . . . . . . . . . . . . . . . . . . . . . . . . . . . Mark Stosberg Principal Developer mark@summersault.com Summersault, LLC 765-939-9301 ext 202 database driven websites . . . . . http://www.summersault.com/ . . . . . . . .
MIME-Version: 1.0
X-Mailer: MIME-tools 5.426 (Entity 5.426)
Content-Disposition: inline
Charset: utf8
Message-Id: <rt-3.6.HEAD-11893-1225504570-605.37877-0-0 [...] rt.cpan.org>
Content-Type: text/plain
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 78
I found this bug. Thanks for the report. It should be fixed in 4.38. Mark


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.