Package: bup
Version: 0.24b-1.1
Severity: serious

Hi,

bup FTBFS on sparc:
https://buildd.debian.org/status/fetch.php?pkg=bup&arch=sparc&ver=0.24b-1.1&stamp=1313905299

The failure is reproducible on smetana.d.o.  From what I can tell, it
crashes in lib/bup/t/tbloom.py:test_bloom, line 18 (b.add_idx(ix)),
specifically in the call to bloom_add().

Here's a disassembly of that function, the crash is at 0x111c

00001020 <bloom_add>:
    1020:       9d e3 bf 80     save  %sp, -128, %sp
    1024:       13 00 00 41     sethi  %hi(0x10400), %o1
    1028:       82 07 bf f8     add  %fp, -8, %g1
    102c:       c2 23 a0 5c     st  %g1, [ %sp + 0x5c ]
    1030:       2f 00 00 48     sethi  %hi(0x12000), %l7
    1034:       7f ff ff d3     call  f80 <__sparc_get_pc_thunk.l7>
    1038:       ae 05 e2 9c     add  %l7, 0x29c, %l7    ! 1229c 
<__FRAME_END__+0xf0ac>
    103c:       92 1a 7c d0     xor  %o1, -816, %o1
    1040:       82 07 bf fc     add  %fp, -4, %g1
    1044:       c0 27 bf e8     clr  [ %fp + -24 ]
    1048:       92 05 c0 09     add  %l7, %o1, %o1
    104c:       90 10 00 19     mov  %i1, %o0
    1050:       94 07 bf ec     add  %fp, -20, %o2
    1054:       96 07 bf f4     add  %fp, -12, %o3
    1058:       98 07 bf e8     add  %fp, -24, %o4
    105c:       c0 27 bf ec     clr  [ %fp + -20 ]
    1060:       9a 07 bf f0     add  %fp, -16, %o5
    1064:       c0 77 bf f0     clrx  [ %fp + -16 ]
    1068:       b0 10 20 00     clr  %i0
    106c:       c0 77 bf f8     clrx  [ %fp + -8 ]
    1070:       40 00 48 ed     call  13424 <PyArg_ParseTuple@plt>
    1074:       c2 23 a0 60     st  %g1, [ %sp + 0x60 ]
    1078:       80 a2 20 00     cmp  %o0, 0
    107c:       02 40 00 5d     be,pn   %icc, 11f0 <bloom_add+0x1d0>
    1080:       c2 07 bf f8     ld  [ %fp + -8 ], %g1
    1084:       86 10 20 01     mov  1, %g3
    1088:       c4 07 bf f4     ld  [ %fp + -12 ], %g2
    108c:       87 28 c0 01     sll  %g3, %g1, %g3
    1090:       86 00 e0 10     add  %g3, 0x10, %g3
    1094:       80 a0 c0 02     cmp  %g3, %g2
    1098:       14 40 00 56     bg,pn   %icc, 11f0 <bloom_add+0x1d0>
    109c:       d6 07 bf f0     ld  [ %fp + -16 ], %o3
    10a0:       13 19 99 99     sethi  %hi(0x66666400), %o1
    10a4:       92 12 62 67     or  %o1, 0x267, %o1     ! 66666667 
<_end+0x6665309f>
    10a8:       80 5a c0 09     smul  %o3, %o1, %g0
    10ac:       93 40 00 00     rd  %y, %o1
    10b0:       85 3a e0 1f     sra  %o3, 0x1f, %g2
    10b4:       93 3a 60 03     sra  %o1, 3, %o1
    10b8:       92 22 40 02     sub  %o1, %g2, %o1
    10bc:       87 2a 60 02     sll  %o1, 2, %g3
    10c0:       85 2a 60 04     sll  %o1, 4, %g2
    10c4:       84 00 c0 02     add  %g3, %g2, %g2
    10c8:       84 a2 c0 02     subcc  %o3, %g2, %g2
    10cc:       12 40 00 49     bne,pn   %icc, 11f0 <bloom_add+0x1d0>
    10d0:       c6 07 bf fc     ld  [ %fp + -4 ], %g3
    10d4:       80 a0 e0 05     cmp  %g3, 5
    10d8:       02 40 00 48     be,pn   %icc, 11f8 <bloom_add+0x1d8>
    10dc:       b0 10 00 02     mov  %g2, %i0
    10e0:       80 a0 e0 04     cmp  %g3, 4
    10e4:       12 40 00 43     bne,pn   %icc, 11f0 <bloom_add+0x1d0>
    10e8:       80 a0 60 25     cmp  %g1, 0x25
    10ec:       14 40 00 41     bg,pn   %icc, 11f0 <bloom_add+0x1d0>
    10f0:       c4 07 bf e8     ld  [ %fp + -24 ], %g2
    10f4:       96 00 80 0b     add  %g2, %o3, %o3
    10f8:       80 a0 80 0b     cmp  %g2, %o3
    10fc:       1a 40 00 38     bcc,pn   %icc, 11dc <bloom_add+0x1bc>
    1100:       9e 10 20 01     mov  1, %o7
    1104:       b0 10 20 28     mov  0x28, %i0
    1108:       a0 10 20 25     mov  0x25, %l0
    110c:       a2 10 20 14     mov  0x14, %l1
    1110:       10 68 00 03     b  %xcc, 111c <bloom_add+0xfc>
    1114:       a4 10 00 0b     mov  %o3, %l2
    1118:       c2 07 bf f8     ld  [ %fp + -8 ], %g1
    111c:       c6 00 80 00     ld  [ %g2 ], %g3
    1120:       b8 26 00 01     sub  %i0, %g1, %i4
    1124:       b2 24 00 01     sub  %l0, %g1, %i1
    1128:       c4 08 a0 04     ldub  [ %g2 + 4 ], %g2
    112c:       9a 38 00 1c     xnor  %g0, %i4, %o5
    1130:       98 8f 20 20     andcc  %i4, 0x20, %o4
    1134:       91 30 e0 18     srl  %g3, 0x18, %o0
    1138:       94 38 00 19     xnor  %g0, %i1, %o2
    113c:       c8 07 bf ec     ld  [ %fp + -20 ], %g4
    1140:       93 28 e0 08     sll  %g3, 8, %o1
    1144:       86 10 00 02     mov  %g2, %g3
    1148:       84 10 20 00     clr  %g2
    114c:       86 12 40 03     or  %o1, %g3, %g3
    1150:       b7 30 c0 1c     srl  %g3, %i4, %i3
    1154:       84 12 00 02     or  %o0, %g2, %g2
    1158:       b5 30 80 1c     srl  %g2, %i4, %i2
    115c:       97 28 a0 01     sll  %g2, 1, %o3
    1160:       9b 2a c0 0d     sll  %o3, %o5, %o5
    1164:       83 2b c0 01     sll  %o7, %g1, %g1
    1168:       b6 13 40 1b     or  %o5, %i3, %i3
    116c:       b7 66 40 1a     movne  %icc, %i2, %i3
    1170:       97 2a c0 0a     sll  %o3, %o2, %o3
    1174:       82 00 7f ff     add  %g1, -1, %g1
    1178:       87 30 c0 19     srl  %g3, %i1, %g3
    117c:       80 8e 60 20     btst  0x20, %i1
    1180:       85 30 80 19     srl  %g2, %i1, %g2
    1184:       86 12 c0 03     or  %o3, %g3, %g3
    1188:       87 66 40 02     movne  %icc, %g2, %g3
    118c:       ba 08 40 1b     and  %g1, %i3, %i5
    1190:       82 07 60 10     add  %i5, 0x10, %g1
    1194:       86 08 e0 07     and  %g3, 7, %g3
    1198:       c4 09 00 01     ldub  [ %g4 + %g1 ], %g2
    119c:       87 2b c0 03     sll  %o7, %g3, %g3
    11a0:       86 10 80 03     or  %g2, %g3, %g3
    11a4:       c6 29 00 01     stb  %g3, [ %g4 + %g1 ]
    11a8:       85 3c 60 1f     sra  %l1, 0x1f, %g2
    11ac:       81 80 a0 00     mov  %g2, %y
    11b0:       c4 07 bf fc     ld  [ %fp + -4 ], %g2
    11b4:       82 7c 40 02     sdiv  %l1, %g2, %g1
    11b8:       c4 07 bf e8     ld  [ %fp + -24 ], %g2
    11bc:       84 00 80 01     add  %g2, %g1, %g2
    11c0:       80 a4 80 02     cmp  %l2, %g2
    11c4:       18 4f ff d5     bgu  %icc, 1118 <bloom_add+0xf8>

I'll try to look into it more tomorrow, but I suspect the cast in
bloom_set_bit4 is broken (assumes 32bit alignment for buf but is being
passed a char *).

Cheers,
Julien



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to