Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

sprintf() Checkins #14922-14924 Break Linux/PPC Tests

4 views
Skip to first unread message

Chromatic

unread,
Oct 14, 2006, 2:44:14 PM10/14/06
to parrot-...@perl.org
Hi there,

Somewhere in the past three checkins is what appears to be an endianness bug;
with them, many many tests fail:

Failed Test Stat Wstat Total Fail List of Failed
-------------------------------------------------------------------------------
t/codingstd/cppcomments.t 1 256 5 1 4
t/compilers/imcc/imcpasm/optc.t 40 10240 43 40 1-7 11-43
t/compilers/imcc/reg/alloc.t 2 512 11 2 6 10
t/compilers/imcc/reg/spill.t 3 768 9 3 1-3
t/compilers/imcc/syn/bsr.t 9 2304 12 9 1-8 12
t/compilers/imcc/syn/clash.t 3 768 15 3 5-7
t/compilers/imcc/syn/const.t 9 2304 34 9 1-4 8-9 24 31 34
t/compilers/imcc/syn/errors.t 1 256 3 1 1
t/compilers/imcc/syn/file.t 4 1024 13 4 1-4
t/compilers/imcc/syn/macro.t 12 3072 29 12 1-9 16-17 23
t/compilers/imcc/syn/namespace.t 3 768 3 3 1-3
t/compilers/imcc/syn/op.t 23 5888 32 23 1-5 7-13 15 17-19
26-32
t/compilers/imcc/syn/pcc.t 7 1792 21 7 1-2 4-8
t/compilers/imcc/syn/tail.t 4 1024 6 4 1-4
t/compilers/json/to_parrot.t 18 4608 60 18 25-37 54-56 58 60
t/compilers/pge/03-optable.t 8 2048 35 8 15-17 23 30 32
34-35
t/compilers/pge/p5regex/p5rx.t 83 21248 960 83 2-3 8-9 11-12 14-15
17-18 20-21 23-24
26-27 29-30 32-33
35-36 41-42 44-45
47-48 50-51 131-134
146-147 151-152
158-
161 175-178 190-195
198-203 207-210
212-
221 230-231 258-259
262-263 608 626 644
698 752
t/compilers/pge/p6regex/01-regex.t 495 1 324
t/compilers/pge/p6regex/closure.t 1 256 6 1 2
t/compilers/pge/p6regex/context.t 5 1280 20 5 3-7
t/compilers/tge/basic.t 1 256 3 1 2
t/dynoplibs/dan.t 6 1536 6 6 1-6
t/dynoplibs/myops.t 4 1024 8 4 1 5-6 8
t/dynpmc/foo.t 7 1792 9 7 1-5 8-9
t/dynpmc/gdbmhash.t 4 1024 13 4 2-3 6 13
t/dynpmc/perlarray.t 12 3072 32 12 1-3 20-24 27 29 31-
32
t/dynpmc/perlhash.t 15 3840 38 15 2-8 20 23-25 29 31
34 36
t/dynpmc/perlint.t 1 256 76 1 71
t/dynpmc/perlnum.t 2 512 60 2 54 60
t/dynpmc/perlstring.t 6 1536 69 6 3 12-13 43-44 66
t/dynpmc/perlundef.t 1 256 13 1 7
t/dynpmc/subclass_with_pir_method.t 1 256 2 1 2
t/examples/library.t 1 256 4 1 3
t/examples/pasm.t 2 512 6 2 3-4
t/examples/pir.t 6 1536 19 6 2 4 8 10 13 16
t/examples/shootout.t 13 3328 20 13 1-3 5-6 8-10 13-16
19
t/examples/streams.t 1 256 12 1 2
t/examples/subs.t 3 768 7 3 2 4 7
t/library/dumper.t 22 5632 26 22 1-8 11-15 18-26
t/library/mime_base64.t 1 256 552 1093 4-552
t/library/pg.t 0 6 43 77 5-43
t/library/streams.t 1 256 20 1 13
t/op/arithmetics.t 9 2304 26 9 1-6 9-10 25
t/op/basic.t 4 1024 23 4 2 11-12 16
t/op/bitwise.t 21 5376 26 21 1-5 11-26
t/op/calling.t 47 12032 96 47 3-6 8 10 14-15 23
30-31 33 35-36
44-47
50-56 64-69 72-77
79-83 86 92 94-96
t/op/cc_state.t 1 256 15 1 7
t/op/comp.t 73 18688 80 73 7 9-80
t/op/debuginfo.t 2 512 6 2 5-6
t/op/gc.t 8 2048 22 8 1-7 20
t/op/integer.t 30 7680 57 30 1-10 23-32 34-40
55-
57
t/op/jit.t 48 12288 62 48 1-41 45-48 60-62
t/op/jitn.t 1 256 14 1 13
t/op/lexicals.t 1 256 41 1 8
t/op/number.t 1 256 57 1 27
t/op/spawnw.t 6 1536 7 6 2-7
t/op/sprintf.t 308 55 32-33 37-43 52-70
144 153 187-188 191
194-196 216-223
225-
232 304-306
t/op/stacks.t 15 3840 24 15 2-12 16-17 19-20
t/op/string.t 33 8448 160 33 3 74-80 83-86
94-102
106 113 141-142
150-
152 155-158 160
t/op/string_cclass.t 8 2048 11 8 1-6 10-11
t/op/string_cs.t 10 2560 51 10 8-15 27-28
t/op/stringu.t 6 1536 25 6 8-9 15-16 23-24
t/op/time.t 1 256 5 1 5
t/op/types.t 2 512 3 2 2-3
t/pmc/array.t 6 1536 13 6 6-7 10-13
t/pmc/bigint.t 2 512 36 2 2 23
t/pmc/boolean.t 1 256 9 1 8
t/pmc/complex.t 4 1024 53 4 12-13 21 29
t/pmc/coroutine.t 2 512 11 2 10-11
t/pmc/delegate.t 4 1024 9 4 1-2 8-9
t/pmc/env.t 2 512 12 2 8-9
t/pmc/eval.t 4 1024 21 4 7-9 13
t/pmc/exception.t 6 1536 36 6 13 20-22 30 33
t/pmc/fixedbooleanarray.t 2 512 11 2 9 11
t/pmc/fixedfloatarray.t 1 256 11 1 11
t/pmc/fixedintegerarray.t 2 512 12 2 11-12
t/pmc/fixedpmcarray.t 3 768 14 3 11 13-14
t/pmc/fixedstringarray.t 1 256 13 1 9
t/pmc/float.t 8 2048 42 8 25 35-41
t/pmc/freeze.t 10 2560 25 10 4-7 9 11-12 22-23
25
t/pmc/hash.t 15 3840 39 15 2-8 21 24-26 30-31
33 35
t/pmc/integer.t 2 512 19 2 5 9
t/pmc/intlist.t 1 256 8 1 8
t/pmc/io.t 2 512 39 2 10 19
t/pmc/iterator.t 17 4352 40 17 8-12 16-17 19-23
32-
33 35 37-38
t/pmc/managedstruct.t 5 1280 6 5 2-6
t/pmc/mmd.t 3 768 39 3 4 6 13
t/pmc/multiarray.t 1 256 5 1 4
t/pmc/multisub.t 1 256 1 1 1
t/pmc/namespace.t 2 512 40 2 22-23
t/pmc/nci.t 32 8192 60 32 1 4-5 7-8 17 21-23
26 28-37 41-42
44-47
49-53 57
t/pmc/object-meths.t 5 1280 34 5 6-7 19 32-33
t/pmc/objects.t 15 3840 78 15 1-4 7-9 11 48 50-51
53-55 74
t/pmc/orderedhash.t 8 2048 27 8 6-7 9 18 20-21
24-25
t/pmc/pair.t 1 256 3 1 2
t/pmc/pmc.t 3 768 20 3 2 12 19
t/pmc/ref.t 3 768 16 3 9-10 12
t/pmc/resizablebooleanarray.t 5 1280 20 5 8-11 13
t/pmc/resizablefloatarray.t 4 1024 19 4 16-19
t/pmc/resizableintegerarray.t 4 1024 15 4 8-9 14-15
t/pmc/resizablepmcarray.t 10 2560 32 10 13 15-19 21-24
t/pmc/resizablestringarray.t 6 1536 27 6 8-10 15 17-18
t/pmc/ro.t 1 256 17 1 2
t/pmc/sarray.t 1 256 33 1 15
t/pmc/string.t 9 2304 46 9 2 15-16 33 38-39 41
44 46
t/pmc/sub.t 8 2048 57 8 1 3 37 39 43-44 55-
56
t/pmc/sys.t 1 256 1 1 1
t/pmc/threads.t 9 2304 20 9 2-5 9 13-14 17-18
t/pmc/timer.t 1 256 8 1 8
t/pmc/tqueue.t 1 256 1 1 1
t/pmc/undef.t 2 512 11 2 5 10
t/src/hash.t 8 2048 11 8 3-10
t/src/io.t 3 768 20 3 4 7 14
t/src/list.t 1 256 2 1 1
t/src/sprintf.t 2 512 3 2 1-2
t/src/string.t 2 512 3 2 2-3
t/stm/llqueue.t 2 512 2 2 1-2
t/stm/queue.t 1 256 4 1 1
t/tools/pbc_merge.t 4 1024 4 4 1-4
8 tests and 554 subtests skipped.
Failed 120/254 test scripts. 1577/7835 subtests failed.

Looking at the output of just one shows why I think it's an endianness
problem:

$ perl -Ilib t/stm/queue.t
1..4
not ok 1 - Single-threaded case
# Failed test (t/stm/queue.t at line 206)
# got: '269960568269960408269960248269960088
# '
# expected: '0123
# '

-- c

Leopold Toetsch

unread,
Oct 14, 2006, 5:22:40 PM10/14/06
to perl6-i...@perl.org
Am Samstag, 14. Oktober 2006 20:44 schrieb chromatic:
> Hi there,
>
> Somewhere in the past three checkins is what appears to be an endianness
> bug; with them, many many tests fail:

Indeed - sorry, fixed r14926. I've leanred: on BE boxen you can't format a
'long long' with '%ld' obviously, which is breaking a lot of 'print I0' and
such usage.

Parrot_sprintf_format is now using variations of '%lld', which OTOH might
break non-susv3 compliant compilers, which don't support the 'll' modifier.

If this is a problem, we could

a) revert major parts of r14924 & r14926 and implement all the nastiness of
e.g.

$ perl -e'printf("!%3.2d!\n", 1)'
! 01!

in spf_render.c, which I wanted to avoid.

or b) test for a proper formatting char for HUGEINTVAL.

Thanks for bug reporting,
leo

Chromatic

unread,
Oct 14, 2006, 5:47:53 PM10/14/06
to perl6-i...@perl.org, Leopold Toetsch
On Saturday 14 October 2006 14:22, Leopold Toetsch wrote:

> Indeed - sorry, fixed r14926. I've leanred: on BE boxen you can't format a
> 'long long' with '%ld' obviously, which is breaking a lot of 'print I0' and
> such usage.

Confirmed fixed. Thanks!

-- c

0 new messages