On Sun, Mar 06, 2011 at 11:06:06AM +0100, Matthias Kilian wrote:
> This is similar to the results on amd64, except for
> t/spec/S29-context/sleep.t, which passes on amd64.
[...]
> 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.

FWIW, amd64 has the same strangeness, but here the timeout parameter
is smaller than on mips64el, so it passes the test case. ktrace/kdump
examples on amd64:

          7989 perl6    0.000004 CALL  poll(0x202a42800,0x1,0x14ef)
          7989 perl6    5.361508 RET   poll 0

         13736 perl6    0.000004 CALL  poll(0x210134400,0x1,0x15a4)
         13736 perl6    5.544580 RET   poll 0

Ciao,
        Kili

Reply via email to