Package: libsub-uplevel-perl Version: 0.09-2 Severity: serious Tags: patch The unexpected verbosity of this package is responsible for #356829, which is a RC bug. As it's used in test cases where the output is searched for warnings and errors.
It seems that this bug spawned with a fix in the warnings pragma of perl, introduced in 5.8.8, which prevented it from surfacing before. In http://rt.cpan.org/Public/Bug/Display.html?id=17637 this is explained. Also, in http://rt.cpan.org/Ticket/Display.html?id=13893 is described a possible off-by-one bug in the same subroutines, but I cannot assert this. The patch is very simple: --- /usr/share/perl5/Sub/Uplevel.pm 2006-04-17 01:37:09.000000000 -0300 +++ /usr/share/perl5/Sub/Uplevel.pm.new 2006-04-17 01:48:28.000000000 -0300 @@ -120,7 +120,7 @@ # Yes, we need a C style for loop here since $height changes for( my $up = 1; $up <= $height + 1; $up++ ) { my @caller = CORE::caller($up); - if( $caller[0] eq __PACKAGE__ ) { + if( defined($caller[0]) && $caller[0] eq __PACKAGE__ ) { $height++; $height += $Up_Frames unless $saw_uplevel; $saw_uplevel = 1; -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (900, 'testing') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.12-1-686 Locale: LANG=es_AR.UTF-8, LC_CTYPE=es_AR.UTF-8 (charmap=UTF-8) Versions of packages libsub-uplevel-perl depends on: ii perl 5.8.8-3 Larry Wall's Practical Extraction libsub-uplevel-perl recommends no packages. -- no debconf information
--- /usr/share/perl5/Sub/Uplevel.pm 2006-04-17 01:37:09.000000000 -0300 +++ /usr/share/perl5/Sub/Uplevel.pm.new 2006-04-17 01:48:28.000000000 -0300 @@ -120,7 +120,7 @@ # Yes, we need a C style for loop here since $height changes for( my $up = 1; $up <= $height + 1; $up++ ) { my @caller = CORE::caller($up); - if( $caller[0] eq __PACKAGE__ ) { + if( defined($caller[0]) && $caller[0] eq __PACKAGE__ ) { $height++; $height += $Up_Frames unless $saw_uplevel; $saw_uplevel = 1;