Skip Menu |

This queue is for tickets about the Tangram CPAN distribution.

Report information
The Basics
Id: 3105
Status: open
Worked: 10 min
Priority: 0/
Queue: Tangram

People
Owner: SAMV [...] cpan.org
Requestors: fergal [...] esatclear.ie
Cc:
AdminCc:

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



Subject: lots of test failures on RH9's perl5.8.0
I just did perl Makefile.PL make test and set up a test database and I got lots of failures and core dumps too. I've attached the output of the test scripts with TEST_VERBOSE=1
Download test_results
application/octet-stream 9.9k

Message body not shown because it is not plain text.

[FDALY - Thu Jul 31 08:12:10 2003]: Show quoted text
> I just did > > perl Makefile.PL > make test > > and set up a test database and I got lots of failures and core dumps > too. I've attached the output of the test scripts with TEST_VERBOSE=1
Hi, Perl 5.8.0 has a pretty serious bug w.r.t. to tied objects, which makes Tangram pretty much incompatible with that version. I have raised this with the P5P team, and the problem is fixed with version 5.8.1-RC2 of Perl; try http://search.cpan.org/author/JHI/perl-5.8.1-RC3/ or Perl 5.6.1. If you still get errors in 5.8.1 please let me know. Cheers, Sam.
To: bug-Tangram [...] rt.cpan.org
CC: "AdminCc of cpan Ticket #3105": ;;;, tangram-t2-maintainers [...] hottub.perlfect.com;
Subject: Re: [cpan #3105] lots of test failures on RH9's perl5.8.0
From: Jean-Louis Leroy <jll [...] soundobjectlogic.com>
Date: Mon, 04 Aug 2003 13:06:13 +0200
RT-Send-Cc:
" via RT" <bug-Tangram@rt.cpan.org> writes: Show quoted text
> Perl 5.8.0 has a pretty serious bug w.r.t. to tied objects, which makes > Tangram pretty much incompatible with that version.
Note that the field is untied only to improve performance. If you detect 5.8.0, just leave the field tied, e.g.: package Tangram::RefOnDemand; sub TIESCALAR { my $pkg = shift; return bless [ @_ ], $pkg; } sub FETCH { my $self = shift; my ($storage, $id, $member, $refid) = @$self; my $obj = $storage->{objects}{$id}; return @$self == 5 ? $self->[4] : $self->[4] = $storage->load($refid); } sub STORE { my ($self, $val) = @_; my ($storage, $id, $member, $refid) = @$self; my $obj = $storage->{objects}{$id}; return $self->[4] = $val; } I have not tried (nor even compiled) that code, and it's 5.8.0 only; at Ref.pm load time you'll have to check Perl's version number and stick the appropriate sub in *FETCH and *STORE. Since weakrefs are available in 5.8.0, it's also probably more appropriate to store a weakref to $obj rather than going each time through $storage to find the object. -- Jean-Louis Leroy Sound Object Logic http://www.soundobjectlogic.com