Skip Menu |

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

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

People
Owner: Nobody in particular
Requestors: bkw [...] cpan.org
Cc:
AdminCc:

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



Subject: t/g4_dbfile_json.t failure with YAML-Syck-0.82
Output of perl -Ilib t/g4_dbfile_json.t is attached. Seems the recent change in JSON::Syck wrt circular structures causes Test 84 and 90 to fail. i386-Linux (fedora core 6)
Subject: typescript.txt
Script started on Wed 07 Mar 2007 05:48:49 PM CET 1..101 # JSON::Syck ok 1 - use CGI::Session; ok 2 - === 1 === ok 3 - empty session should be created ok 4 ok 5 ok 6 ok 7 - Session created successfully! ok 8 - ok 9 - ctime & atime are set ok 10 - ctime == atime ok 11 - etime not set yet ok 12 - session id is 0b333ad35a0812bac201efde928d51a1 ok 13 - session holds 3 params3 ok 14 - My name's correct! ok 15 - 'emails' holds list of values ok 16 - 'emails' holds list of two values ok 17 - first value of 'emails' is correct! ok 18 - second value of 'emails' is correct! ok 19 - 'blogs' holds a hash ok 20 - first blog is correct ok 21 - second blog is correct ok 22 - === 2 === ok 23 - survived eval without error. ok 24 - Session was retrieved successfully ok 25 - session isn't expired yet ok 26 - session IDs are consistent ok 27 - ctime should be older than atime ok 28 - etime shouldn't be set yet ok 29 - session should hold params ok 30 - my name's correct ok 31 - 'emails' should hold list of values ok 32 - 'emails' should hold list of two values ok 33 - first value is correct! ok 34 - second value is correct! ok 35 - 'blogs' holds a hash ok 36 - first blog is correct! ok 37 - second blog is correct! ok 38 - etime set to 1 second ok 39 - etime set to one minute ok 40 - etime set to two hours ok 41 - etime set to 5 days ok 42 - etime set to 10 seconds in the past ok 43 - etime set back to one second ok 44 - calling close method survives eval ok 45 - === 3 === ok 46 - Session instance loaded ok 47 - session doesn't have ID ok 48 - session is empty, which is the same as above ok 49 - session was expired ok 50 - session data cleared ok 51 - new session created ok 52 - session has id :e1ec2d019c13d178f59238888f6159f6 ok 53 - session isn't expired ok 54 - session isn't empty ok 55 - access and creation times are same ok 56 - it's a completely different session than above ok 57 - === 4 === ok 58 - Session 'e1ec2d019c13d178f59238888f6159f6' removed from datastore successfully ok 59 - session object created successfully ok 60 - claimed ID (e1ec2d019c13d178f59238888f6159f6) couldn't be recovered. New ID is: 686b2ee839d281aee37772e6a8e7be4a ok 61 - === 5 === ok 62 - Session object created successfully ok 63 - claimed id (686b2ee839d281aee37772e6a8e7be4a) was recovered successfully! ok 64 - === 6 === ok 65 - Session object created successfully ok 66 - New object created, because previous object was deleted ok 67 - SimpleObjectClass created successfully ok 68 ok 69 ok 70 ok 71 - OverloadedObjectClass created successfully ok 72 - OverloadedObjectClass is properly overloaded ok 73 - OverloadedObjectClass is an object ok 74 ok 75 - SimpleObjectClass created successfully ok 76 - First element of anonymous array undef ok 77 ok 78 ok 79 ok 80 ok 81 - Overloaded objects have matching addresses (in cleanup) Dumping circular structures is not supported with JSON::Syck at ../lib/CGI/Session/Serialize/json.pm line 18. ok 82 - === 7 === ok 83 - Session object created successfully not ok 84 - Previously stored object loaded successfully # Failed test 'Previously stored object loaded successfully' # in ../lib/CGI/Session/Test/Default.pm at line 362. ok 85 # skip Test does not apply to this setup. ok 86 # skip Test does not apply to this setup. ok 87 # skip Test does not apply to this setup. ok 88 # skip Test does not apply to this setup. ok 89 # skip Test does not apply to this setup. not ok 90 # Failed test in ../lib/CGI/Session/Test/Default.pm at line 362. Use of uninitialized value in string eq at ../lib/CGI/Session/Test/Default.pm line 325 (#1) (W uninitialized) An undefined value was used as if it were already defined. It was interpreted as a "" or a 0, but maybe it was a mistake. To suppress this warning assign a defined value to your variables. To help you figure out what was undefined, perl tells you what operation you used the undefined value in. Note, however, that perl optimizes your program and the operation displayed in the warning may not necessarily appear literally in your program. For example, "that $foo" is usually optimized into "that " . $foo, and the warning will refer to the concatenation (.) operator, even though there is no . in your program. ok 91 # skip Test does not apply to this setup. Can't call method "can" on an undefined value at /usr/lib/perl5/5.8.8/overload.pm line 54. # Looks like you planned 101 tests but only ran 91. # Looks like you failed 2 tests of 91 run. # Looks like your test died just after 91. Script done on Wed 07 Mar 2007 05:48:53 PM CET
On Wed Mar 07 12:11:15 2007, bkw wrote: Show quoted text
> Seems the recent change in JSON::Syck wrt circular structures causes [...]
forget that part about the circular structures. I didn't really check older versions. I probably jumped to conclusions.
reverting accidental status change, sorry.
From: bkw [...] cpan.org
The test still fails with the new YAML-Syck 0.85: % perl -MYAML -e 'print "$YAML::VERSION\n";' 0.62 % perl -MYAML::Syck -e 'print "$YAML::Syck::VERSION\n";' 0.85
Did you consider switching to the (much better imho) JSON::XS? Or JSON::Any even?
Subject: Re: [rt.cpan.org #25325] t/g4_dbfile_json.t failure with YAML-Syck-0.82
Date: Fri, 27 Apr 2007 12:11:29 -0400
To: bug-CGI-Session [...] rt.cpan.org
From: Mark Stosberg <mark [...] summersault.com>
On Fri, 2007-04-27 at 11:56 -0400, Bernhard K. Weisshuhn via RT wrote: Show quoted text
> Queue: CGI-Session > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=25325 > > > The test still fails with the new YAML-Syck 0.85: > > % perl -MYAML -e 'print "$YAML::VERSION\n";' > 0.62 > % perl -MYAML::Syck -e 'print "$YAML::Syck::VERSION\n";' > 0.85
Thanks for the report. Could you supply a patch as well? Mark
Subject: Re: [rt.cpan.org #25325] t/g4_dbfile_json.t failure with YAML-Syck-0.82
Date: Fri, 27 Apr 2007 18:32:27 +0200
To: bug-CGI-Session [...] rt.cpan.org
From: "Bernhard K. Weißhuhn" <bkw [...] weisshuhn.de>
mark@summersault.com via RT schrieb: Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=25325 > > > On Fri, 2007-04-27 at 11:56 -0400, Bernhard K. Weisshuhn via RT wrote:
>> Queue: CGI-Session >> Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=25325 > >> >> The test still fails with the new YAML-Syck 0.85: >> >> % perl -MYAML -e 'print "$YAML::VERSION\n";' >> 0.62 >> % perl -MYAML::Syck -e 'print "$YAML::Syck::VERSION\n";' >> 0.85
> > Thanks for the report. Could you supply a patch as well? > > Mark
Unfortunately not, sorry. I attached the output of the failing test. Thanks for looking into this! Don't hesitate to ask for more details. bkw -- Weißhuhn & Weißhuhn Kommunikationsmanagement GmbH Warschauer Str. 58A 10243 Berlin, Germany http://www.weisshuhn.de Tel.: 030 - 61654-210 Fax: 030 - 61654-222 Email: bkw@weisshuhn.de Geschäftsführer: Arndt Weißhuhn, Bernhard Weißhuhn, Carsten Schölzki HRB 74079, Amtsgericht Berlin-Charlottenburg Steuernummer: 37/119/20642, USt-IdNr.: DE205131233, Schuhgröße: 43
% perl -I./blib t/g4_dbfile_json.t 1..101 # JSON::Syck ok 1 - use CGI::Session; ok 2 - === 1 === ok 3 - empty session should be created ok 4 ok 5 ok 6 ok 7 - Session created successfully! ok 8 - ok 9 - ctime & atime are set ok 10 - ctime == atime ok 11 - etime not set yet ok 12 - session id is 166babc263d9f8dda1d0873609be76fc ok 13 - session holds 3 params3 ok 14 - My name's correct! ok 15 - 'emails' holds list of values ok 16 - 'emails' holds list of two values ok 17 - first value of 'emails' is correct! ok 18 - second value of 'emails' is correct! ok 19 - 'blogs' holds a hash ok 20 - first blog is correct ok 21 - second blog is correct ok 22 - === 2 === ok 23 - survived eval without error. ok 24 - Session was retrieved successfully ok 25 - session isn't expired yet ok 26 - session IDs are consistent ok 27 - ctime should be older than atime ok 28 - etime shouldn't be set yet ok 29 - session should hold params ok 30 - my name's correct ok 31 - 'emails' should hold list of values ok 32 - 'emails' should hold list of two values ok 33 - first value is correct! ok 34 - second value is correct! ok 35 - 'blogs' holds a hash ok 36 - first blog is correct! ok 37 - second blog is correct! ok 38 - etime set to 1 second ok 39 - etime set to one minute ok 40 - etime set to two hours ok 41 - etime set to 5 days ok 42 - etime set to 10 seconds in the past ok 43 - etime set back to one second ok 44 - calling close method survives eval ok 45 - === 3 === ok 46 - Session instance loaded ok 47 - session doesn't have ID ok 48 - session is empty, which is the same as above ok 49 - session was expired ok 50 - session data cleared ok 51 - new session created ok 52 - session has id :d6409be89d6317d547579f31364b2c55 ok 53 - session isn't expired ok 54 - session isn't empty ok 55 - access and creation times are same ok 56 - it's a completely different session than above ok 57 - === 4 === ok 58 - Session 'd6409be89d6317d547579f31364b2c55' removed from datastore successfully ok 59 - session object created successfully ok 60 - claimed ID (d6409be89d6317d547579f31364b2c55) couldn't be recovered. New ID is: acc58297af96baa717103e7dc286d7bf ok 61 - === 5 === ok 62 - Session object created successfully ok 63 - claimed id (acc58297af96baa717103e7dc286d7bf) was recovered successfully! ok 64 - === 6 === ok 65 - Session object created successfully ok 66 - New object created, because previous object was deleted ok 67 - SimpleObjectClass created successfully ok 68 ok 69 ok 70 ok 71 - OverloadedObjectClass created successfully ok 72 - OverloadedObjectClass is properly overloaded ok 73 - OverloadedObjectClass is an object ok 74 ok 75 - SimpleObjectClass created successfully ok 76 - First element of anonymous array undef ok 77 ok 78 ok 79 ok 80 ok 81 - Overloaded objects have matching addresses (in cleanup) Dumping circular structures is not supported with JSON::Syck at lib/CGI/Session/Serialize/json.pm line 18. ok 82 - === 7 === ok 83 - Session object created successfully not ok 84 - Previously stored object loaded successfully # Failed test 'Previously stored object loaded successfully' # in lib/CGI/Session/Test/Default.pm at line 362. ok 85 # skip Test does not apply to this setup. ok 86 # skip Test does not apply to this setup. ok 87 # skip Test does not apply to this setup. ok 88 # skip Test does not apply to this setup. ok 89 # skip Test does not apply to this setup. not ok 90 # Failed test in lib/CGI/Session/Test/Default.pm at line 362. Use of uninitialized value in string eq at lib/CGI/Session/Test/Default.pm line 325 (#1) (W uninitialized) An undefined value was used as if it were already defined. It was interpreted as a "" or a 0, but maybe it was a mistake. To suppress this warning assign a defined value to your variables. To help you figure out what was undefined, perl tells you what operation you used the undefined value in. Note, however, that perl optimizes your program and the operation displayed in the warning may not necessarily appear literally in your program. For example, "that $foo" is usually optimized into "that " . $foo, and the warning will refer to the concatenation (.) operator, even though there is no . in your program. ok 91 # skip Test does not apply to this setup. Can't call method "can" on an undefined value at /usr/lib/perl5/5.8.8/overload.pm line 54. # Looks like you planned 101 tests but only ran 91. # Looks like you failed 2 tests of 91 run. # Looks like your test died just after 91.
Subject: Re: [rt.cpan.org #25325] t/g4_dbfile_json.t failure with YAML-Syck-0.82
Date: Fri, 27 Apr 2007 12:56:14 -0400
To: bug-CGI-Session [...] rt.cpan.org
From: Mark Stosberg <mark [...] summersault.com>
On Fri, 2007-04-27 at 12:11 -0400, Bernhard K. Weisshuhn via RT wrote: Show quoted text
> Queue: CGI-Session > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=25325 > > > Did you consider switching to the (much better imho) JSON::XS? > Or JSON::Any even?
JSON::Any looks interesting. I probably won't personally work on this bug, soon though. Tyler MacDonald originally added the JSON/YAML to the suite, but I've lost his email address at the moment. Right now I'm wishing it was in it's own distribution to divide up the maintenance workload. Anybody else who wants to jump in and work on this is welcome. Mark
Subject: [rt.cpan.org #25325] t/g4_dbfile_json.t still failing with YAML-Syck-0.94
Date: Tue, 31 Jul 2007 07:41:55 +0300
To: bug-CGI-Session [...] rt.cpan.org
From: "Offer Kaye" <offer.kaye [...] gmail.com>
Hi, I wanted to report that t/g4_dbfile_json.t is still failing with YAML::Syck version 0.94. Also, I was wondering, can I ignore these testing failures and do a 'force install'? Thanks, -- Offer Kaye
Subject: [rt.cpan.org #25325] t/g4_dbfile_json.t still failing with YAML-Syck-0.94
Date: Tue, 31 Jul 2007 07:41:55 +0300
To: bug-CGI-Session [...] rt.cpan.org
From: "Offer Kaye" <offer.kaye [...] gmail.com>
Hi, I wanted to report that t/g4_dbfile_json.t is still failing with YAML::Syck version 0.94. Also, I was wondering, can I ignore these testing failures and do a 'force install'? Thanks, -- Offer Kaye
CC: cgi-session-user [...] lists.sourceforge.net
Subject: Re: [rt.cpan.org #25325] t/g4_dbfile_json.t still failing with YAML-Syck-0.94
Date: Tue, 31 Jul 2007 09:44:39 -0400
To: bug-CGI-Session [...] rt.cpan.org
From: Mark Stosberg <mark [...] summersault.com>
On Tuesday 31 July 2007 00:44, offer.kaye@gmail.com via RT wrote: Show quoted text
> Queue: CGI-Session > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=25325 > > > Hi, > I wanted to report that t/g4_dbfile_json.t is still failing with > YAML::Syck version 0.94. > > Also, I was wondering, can I ignore these testing failures and do a > 'force install'?
That's certainly safe, as long as you don't use the YAML::Syck driver. I'm ready to remove the YAML and Syck drivers from the distribution...no one else has stepped up to apply patches for this in the core distribution, and it's creating extra maintenance work for the maintainers. I'll plan to remove them from the next release. If anyone wants to start preparing a release of them in a separate distribution...that's great, and I can see making sure you can make an "official" release in the same name space. Otherwise, patches welcome. Mark
I believe Ron Savage has resolved this in our code repo. Mark