Skip Menu |

This queue is for tickets about the GD CPAN distribution.

Report information
The Basics
Id: 11800
Status: resolved
Priority: 0/
Queue: GD

People
Owner: LDS [...] cpan.org
Requestors: jpo [...] di.uminho.pt
Cc:
AdminCc:

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



Subject: GD 2.22: test failure
Lincoln D. Stein, The latest version of GD (2.22) fails to pass the tests in a Fedora Core 3 Linux. Details: ---------- GD version: 2.22 (GD-2.22.tar.gz) $ uname -a Linux blackadder 2.6.10-1.766_FC3 #1 Wed Feb 9 23:06:42 EST 2005 i686 i686 i386 GNU/Linux $ perl -v This is perl, v5.8.5 built for i386-linux-thread-multi glibc rpm: glibc-2.3.4-2.fc3 gcc rpm: gcc-3.4.2-6.fc3 perl rpm: perl-5.8.5-9 Output: ---------- ... PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/GD..........Testing using png support. t/GD..........ok 10/12*** glibc detected *** double free or corruption (!prev): 0x0985df90 *** t/GD..........dubious Test returned status 0 (wstat 6, 0x6) DIED. FAILED tests 11-12 Failed 2/12 tests, 83.33% okay (less 1 skipped test: 9 okay, 75.00%) t/Polyline....Subroutine scale redefined at /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/GD/Polyline.pm line 52. t/Polyline....ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/GD.t 0 6 12 4 33.33% 11-12 1 subtest skipped. Failed 1/2 test scripts, 50.00% okay. 2/13 subtests failed, 84.62% okay. ... ----------
Subject: GD 2.22: test failure (missing info)
From: jpo [...] di.uminho.pt
Lincoln D. Stein, I forgot to mention the libgd version: gd-2.0.28-1.30.1 (this an Fedora Core 3 security update) SRPM http://download.fedora.redhat.com/pub/fedora/linux/core/updates/3/SRPMS/gd-2.0.28-1.30.1.src.rpm [SECURITY] Fedora Core 3 Update: gd-2.0.28-1.30.1 http://www.redhat.com/archives/fedora-announce-list/2004-November/msg00044.html jpo
Subject: GD 2.22: test failure (possible patch)
Lincoln D. Stein, With this patch all GD.t tests are OK. The patch is based on the v2.21 GD.t test code. jpo
diff -ruN GD-2.22-orig/t/GD.t GD-2.22/t/GD.t --- GD-2.22-orig/t/GD.t 2005-03-07 18:16:26.000000000 +0000 +++ GD-2.22/t/GD.t 2005-03-09 02:54:56.996498752 +0000 @@ -86,9 +86,11 @@ $image->colorAllocate(255,0,0); $image->rectangle(0,0,300,300,0); $image->filledRectangle(10,10,50,50,2); -my $image2 = GD::Image->newFromGdData($image->gd); +my $gd = $image->gd; +my $image2 = GD::Image->newFromGdData($gd); print ((image($image) eq image($image2)) ? "ok 11\n" : "not ok 11\n"); -$image2 = GD::Image->newFromGd2Data($image->gd2); +my $gd2 = $image->gd2; +$image2 = GD::Image->newFromGd2Data($gd2); print ((image($image) eq image($image2)) ? "ok 12\n" : "not ok 12\n"); exit 0;
I have incorporated this patch into version 2.23, but I am very suspicious that there is an underlying problem that this patch does not address. All the patch does is replace this: func1(func2(a)) with this: my $a = func2(a); func1($a) This suggests to me that the image produced by func2() has unused fields that are filled with memory debris, and the addition of the "my" is moving the debris around. If the problem persists I will simply remove tests 11 and 12.