You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I discovered this during my work on #2274, with the builds of clang and gcc provided by nix.
Specifically this test:
spec/core/io/write_spec.rb gets this error: Errno::ENOENT
But the error message is a red herring. The actual issue is that File.open gets its path argument collected and overwritten with a different (nonsensical) string value.
Args has a Vector<Value>, which in turn has a pointer to the (non-GC-managed) heap. The GC doesn't know to follow the Vector and doesn't see the Values inside it as reachable.
I discovered this during my work on #2274, with the builds of clang and gcc provided by nix.
Specifically this test:
spec/core/io/write_spec.rb
gets this error:Errno::ENOENT
But the error message is a red herring. The actual issue is that
File.open
gets its path argument collected and overwritten with a different (nonsensical) string value.Args
has aVector<Value>
, which in turn has a pointer to the (non-GC-managed) heap. The GC doesn't know to follow the Vector and doesn't see the Values inside it as reachable.There is some discussion in Discord: https://discord.com/channels/868454594085281793/1307889414457790464
The text was updated successfully, but these errors were encountered: