Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Exception-Class CPAN distribution.

Report information
The Basics
Id: 5519
Status: resolved
Priority: 0/
Queue: Exception-Class

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

Bug Information
Severity: Critical
Broken in: 1.18
Fixed in: 1.19



Subject: make test dies at line 291 in t/basic.t -- # 45 - no refs
I get the following when I "make test TEST_VERBOSE=1": ----START----> ... ok 42 - FieldsException should stringify to include the value of foo ok 43 - All exceptions should evaluate to true in a boolean context ok 44 - Single arg constructor should work ok 45 - Single arg constructor should just set error/message Can't call method "trace" without a package or object reference at t/basic.t line 291. # Looks like you planned 55 tests but only ran 45. # Looks like your test died just after 45. dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 46-55 Failed 10/55 tests, 81.82% okay Failed Test Status Wstat Total Fail Failed List of Failed -------------------------------------------------------------------------------- t/basic.t 255 65280 55 10 18.18% 46-55 Failed 1/1 test scripts, 0.00% okay. 10/55 subtests failed, 81.82% okay. make: *** [test_dynamic] Error 2 <----END---- It looks like make test is dying at the line: my @args = ($exc->trace->frames)[1]->args; Evidently, $exc isn't defined. Here's the whole test code: # 45 - no refs { ObjectRefs2->NoRefs(0); eval { Foo->new->bork2 }; my $exc = $@; my @args = ($exc->trace->frames)[1]->args; ok( ref $args[0], "References should be saved in the stack trace" ); } Using Devel-StackTrace-1.09. My perl -V: ----START----> Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration: Platform: osname=linux, osvers=2.4.21-1.1931.2.393.entsmp, archname=i386-linux uname='linux bugs.devel.redhat.com 2.4.21-1.1931.2.393.entsmp #1 smp thu aug 14 14:47:21 edt 2003 i686 unknown ' config_args='-des -Doptimize=-O2 -march=i386 -mcpu=i686 -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dcccdlflags=-fPIC -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Uusethreads -Uuseithreads -Uuselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Di_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Dinc_version_list=5.6.0/i386-linux 5.6.0' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include', optimize='-O2 -march=i386 -mcpu=i686', cppflags='-fno-strict-aliasing -I/usr/local/include' ccversion='', gccversion='2.96 20000731 (Red Hat Linux 7.3 2.96-113)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4 alignbytes=4, usemymalloc=n, prototype=define Linker and Libraries: ld='gcc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -ldl -lm -lc -lcrypt -lutil perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil libc=/lib/libc-2.2.5.so, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic' cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: Built under linux Compiled at Aug 18 2003 16:08:31 %ENV: PERL5LIB="/home/jesse/PERL_MOD_BUILD/lib:/home/jesse/doireporter/lib:/home/jesse/doireporter/lib" PERL_PARTS="/home/jesse/PERL_MOD_BUILD" @INC: /home/jesse/PERL_MOD_BUILD/lib /home/jesse/doireporter/lib/i386-linux /home/jesse/doireporter/lib /home/jesse/doireporter/lib/i386-linux /home/jesse/doireporter/lib /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.6.1/i386-linux /usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl . <----END----
[guest - Mon Mar 1 15:36:10 2004]: Show quoted text
> I get the following when I "make test TEST_VERBOSE=1": > > ----START----> > ... > ok 42 - FieldsException should stringify to include the value of foo > ok 43 - All exceptions should evaluate to true in a boolean context > ok 44 - Single arg constructor should work > ok 45 - Single arg constructor should just set error/message > Can't call method "trace" without a package or object reference at > t/basic.t line 291.
It turns out this was a problem with Devel::StackTrace overwriting $@. This didn't happen with Perl 5.8.3 for some strange reason. I just released Devel::StackTrace 1.10 to fix this.