Actions
Bug #19444
closedYJIT String#+@ miscompilations
Description
We noticed two issues with YJIT's String#+@
(String unary plus) implementation.
- It has issues with GC allocation tracing. We saw it SEGV with the
Stackprof
gem - It has a type confusion issue from assuming that the method always return an
::String
instance. It can return subclass instances
The YJIT override does not exist on the 3.1 series.
Updated by alanwu (Alan Wu) almost 2 years ago
- Status changed from Open to Closed
Applied in changeset git|c178926fbe879045fa711444a1fd9e906af23e3b.
YJIT: jit_prepare_routine_call() for String#+@ missing
We saw SEGVs due to this when running with StackProf, which needs a
correct PC for RUBY_INTERNAL_EVENT_NEWOBJ, the same event used for
ObjectSpace allocation tracing.
[Bug #19444]
Updated by byroot (Jean Boussier) almost 2 years ago
- Backport changed from 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: REQUIRED to 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED, 3.2: REQUIRED
Updated by naruse (Yui NARUSE) almost 2 years ago
- Backport changed from 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED, 3.2: REQUIRED to 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED, 3.2: DONE
ruby_3_2 4d75035e1762a23d38c5192b30bb47f40b752bee merged revision(s) c178926fbe879045fa711444a1fd9e906af23e3b,a4b7ec12298c78392797e5ba7704076550e4f100.
Actions
Like0
Like0Like0Like0