[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#477741: libauthen-dechpwd-perl_2.002-3(sparc/unstable): FTBFS, test failed



On Thu, Apr 24, 2008 at 05:27:39PM -0700, Ivan Kohler wrote:
> severity 477741 important
> tags 477741 help
> thanks
> 
> FTBFS appears to be specific to sparc architecture.
> 
> I tried to log onto sperger.debian.org and at least look further into 
> the problem, but neither debhelper nor libmodule-build-perl are 
> installed.  I'll email debian-admin@ and ask.

I guess you forgot to switch to the sid chroot...

> > > t/purdy.......dubious
> > >         Test returned status 0 (wstat 10, 0xa)
> > > DIED. FAILED tests 2-101

This is an aligment problem triggering a bus error.

(gdb) run -Iblib/lib -Iblib/arch t/purdy.t
Starting program: /usr/bin/perl -Iblib/lib -Iblib/arch t/purdy.t
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
(no debugging symbols found)
(no debugging symbols found)
1..101
[New Thread 0xf7bd66b0 (LWP 19114)]
ok 1 - use Authen::DecHpwd;

Program received signal SIGBUS, Bus error.
[Switching to Thread 0xf7bd66b0 (LWP 19114)]
0xf7879ac0 in PQMUL_R2 (U=0xffa1b6e4, Y=0xffa1b6e4, result=0xffa1b6ec) at lib/Authen/DecHpwd.xs:595
595     PQADD_R0(&part1, &stack, result);    /* Whole thing */
(gdb) bt
#0  0xf7879ac0 in PQMUL_R2 (U=0xffa1b6e4, Y=0xffa1b6e4, result=0xffa1b6ec) at lib/Authen/DecHpwd.xs:595
#1  0xf787973c in PQEXP_R3 (U=0xffa1b910, n=224, result=0xffa1b7f8) at lib/Authen/DecHpwd.xs:544
#2  0xf787903c in Purdy (U=0xffa1b910) at lib/Authen/DecHpwd.xs:483
#3  0xf7878d58 in VMS_lgihpwd (output=0xffa1b910, password=0x14f698 "eviscerate", password_len=10, 
    encrypt=1, salt=50917, username=0xffa1b870 "unclasping  ", username_len=12)
    at lib/Authen/DecHpwd.xs:437
#4  0xf787a484 in XS_Authen__DecHpwd_lgi_hpwd (my_perl=0x24008, cv=0x127984) at lib/Authen/DecHpwd.xs:646
#5  0xf7f02b04 in Perl_pp_entersub () from /usr/lib/libperl.so.5.8
#6  0xf7f011ac in Perl_runops_standard () from /usr/lib/libperl.so.5.8
#7  0xf7ea24b4 in perl_run () from /usr/lib/libperl.so.5.8
#8  0x0001143c in main ()

It's using the ul64 version of PQADD_R0 from DecHpwd.xs:326,
assigning to *result which is unaligned.

    #define PQADD_R0(U, Y, result) \
      { \
        *(ul64*)(result) = *(ul64*)(U) + *(ul64*)(Y); \
        if (~*(ul64*)(U) < *(ul64*)(Y)) do { \
            *(ul64*)(result) += (ul64)A; \
        } while (*(ul64*)(result) < (ul64)A); \
      }

Patching it to use the !ul64 version instead makes the tests pass, FWIW.

(BTW, debian/rules needs something like 
  $(PERL) Build.PL installdirs=vendor config=optimize="$(CFLAGS)"
 to honour DEB_BUILD_OPTIONS=noopt.)

Cheers,
-- 
Niko Tyni   ntyni@debian.org


Reply to: