-
-
Notifications
You must be signed in to change notification settings - Fork 780
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test failing on Apple Silicon: avm2/amf_vector (Serialization of NaN) #14269
Comments
@torokati44: You noticed an AMF test failing on android/ARM - did you ever open an issue for that? |
Yeah, but over there: ruffle-rs/ruffle-android#63 |
But AFAIK GH now has M1 CI runners, we can try enabling those too. |
Oooh, but:
How dare they... Lemme fetch my RPi then... |
@rogual: Would you mind cloning this repo, and running |
All passed. Output
|
Thank you! I went a few circles around this, trying the following ideas:
But neither fixed all tests. So for now, I'm not sure which way to go next. |
If ActionScript 3 source code mentions (That's if I understand how playerglobals works... which it's very possible I don't.) |
Well the ruffle/core/src/avm2/globals/number.rs Lines 400 to 402 in 41ddb31
But there are lots of other mentions of |
Yes, if those But I don't think that will fix this failing test. I might be wrong, but I couldn't find a similar Rust declaration for the value you get by typing
|
Oh, that's a good point, yeah. I did try to look specifically for the builtin I'll hopefully get back to experimenting with this in a couple of days. |
Describe the bug
The test
avm2/amf_vector
fails on my machine (M2 Mac).Test result:
It's the
NaN
that's serializing differently from in Flash Player.The test is expecting the NaN to be serialized as
0xfff8000000000000
, but Ruffle for me is giving0x7ff8000000000000
.These are both valid NaNs.
I would suggest either:
NaN
(it would still check the encode/decode round-trip), orI'd be surprised if this broke any real content, so would probably lean towards 1?
As for option 2, if we wanted to fix it: I'm not quite sure how the
NaN
is stored in the test SWF. I guess it's probably a reference to the precompiledNaN
inplayerglobals.swf
? In that case it's the compiler that compilesplayerglobals.swf
that's causing the difference. But I didn't look into it much.Expected behavior
NaN serialized with sign bit set.
Content Location
tests/tests/swfs/avm2/amf_vector/test.swf
Affected platform
Desktop app
Operating system
13.5 (22G74)
Browser
No response
Additional information
No response
The text was updated successfully, but these errors were encountered: