Ticket #501 (closed bug: wontfix)

Opened 6 years ago

Last modified 5 years ago

t/op/trans.t failures with jit on *BSD

Reported by: rg Owned by:
Priority: normal Milestone:
Component: core Version: trunk
Severity: low Keywords:
Cc: Language:
Patch status: Platform: freebsd

Description

FreeBSD/i386 jit is failing tests 10 (sinh), 11 (tanh) and 19 (pow):

Failed Test  Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/op/trans.t    3   768    22    3  13.64%  10-11 19

I'm suspecting the same problem for all 3 failures (some kind of register clobbering maybe, though i really have no idea), so I'm filing only this one ticket for all 3 failures.

This bug has been previously filed as  RT#36086

The smallest example I can give for the problem is this:

set N1, 1.0
set N3, 2.0 # remove this to make it work
sinh N2, N1
say N2
end

Currently the result varies (NaN or small number) depending on the value in N1, but it's not the correct one. You can even use N2 (but not N1, you need a second register) instead of N3 to trigger the problem. However, if I replace sinh with cosh, I get the correct result (for cosh of course ;)) What I can't see is the difference between the two ops/calls/functions.

darbelo  reported the same problem for OpenBSD 4.5.

If anybody could give me a hint what to look for, I'd be happy to dig further. For now, I'm out of ideas.

Change History

Changed 6 years ago by rg

I've figured out the problem and attached a patch with a work-around to TT #530.

Changed 5 years ago by bacek

  • status changed from new to closed
  • resolution set to wontfix

Current JIT is deprecated.

Note: See TracTickets for help on using tickets.