On Sat, Mar 05, 2011 at 02:35:42PM +0100, Pascal Stumpf wrote: > > I'll try, but building rakudo seems to need a lot of memory. This > > may take some time on my poor little armish ;-) > > > Thanks a lot in advance. Also, be warned that the rakudo spectest will > take a very long time, maybe even days on such a machine.
armish is still building, but mips64el is finished. Full regress log at http://openbsd.dead-parrot.de/rakudo-mips64el-regress.log Test Summary Report ------------------- t/spec/S02-builtin_data_types/instants-and-durations.t (Wstat: 0 Tests: 13 Failed: 1) Failed test: 9 t/spec/S03-operators/arith.rakudo (Wstat: 0 Tests: 135 Failed: 1) Failed test: 107 t/spec/S19-command-line/dash-e.t (Wstat: 0 Tests: 3 Failed: 2) Failed tests: 2-3 t/spec/S29-context/sleep.t (Wstat: 0 Tests: 4 Failed: 2) Failed tests: 2, 4 t/spec/S32-num/power.rakudo (Wstat: 0 Tests: 40 Failed: 1) Failed test: 11 Files=542, Tests=27334, 46272 wallclock secs (76.97 usr 22.74 sys + 44031.06 cusr 1076.63 csys = 45207.40 CPU) Result: FAIL This is similar to the results on amd64, except for t/spec/S29-context/sleep.t, which passes on amd64. Running that test from the commandline: $ time ./perl6 t/spec/S29-context/sleep.t 1..4 # Sleeping for 3s ok 1 - Sleep says it slept at least 2 seconds not ok 2 - ... and no more than 10 ok 3 - Sleep says it slept at least 2 seconds not ok 4 - ... and no more than 10 # Looks like you failed 2 tests of 4 0m57.28s real 0m24.85s user 0m1.59s system Running this little program with ./perl6: print "Sleeping for 3s\n"; my $s = sleep 3; print "Result: $s\n"; gives output like Sleeping for 3s Result: 25 The result varies between 25 and 28. Running it through ktrace(1) and then reading the trace with kdump -R shows that `sleep' is implemented using poll(2), but using a wrong timeout parameter, which is different during several test runs: 25090 perl6 0.000023 CALL poll(0x5a9a0000,0x1,0x6abc) 25090 perl6 27.334955 RET poll 0 7918 perl6 0.000024 CALL poll(0x5cf04000,0x1,0x6b75) 7918 perl6 27.511825 RET poll 0 22718 perl6 0.000024 CALL poll(0x5e472000,0x1,0x6776) 22718 perl6 26.491583 RET poll 0 So something seems to be wrong with the way rakudo calculates the timeout parameter to poll(2), at least on mips64el. Ciao, Kili