Skip to content

ZJIT: Assertion Failed: VM_ENV_FLAGS:FIXNUM_P(flags) #620

@st0012

Description

@st0012

Script to reproduce:

def test(*arr, &b)
  arr.first

  yield
end

test

Command:

./build/miniruby --zjit --zjit-dump-hir --zjit-call-threshold=1 --zjit-num-profiles=1 test.rb

Crash Report:

../vm_core.h:1439: Assertion Failed: VM_ENV_FLAGS:FIXNUM_P(flags)
ruby 3.5.0dev (2025-07-05T16:57:55Z zjit-test-against-.. 9ac0040139) +ZJIT dev +PRISM [arm64-darwin24]

-- Crash Report log information --------------------------------------------
   See Crash Report log file in one of the following locations:             
     * ~/Library/Logs/DiagnosticReports                                     
     * /Library/Logs/DiagnosticReports                                      
   for more details.                                                        
Don't forget to include the above Crash Report log file in bug reports.     

-- Control frame information -----------------------------------------------
../vm_core.h:1439: Assertion Failed: VM_ENV_FLAGS:FIXNUM_P(flags)
ruby 3.5.0dev (2025-07-05T16:57:55Z zjit-test-against-.. 9ac0040139) +ZJIT dev +PRISM [arm64-darwin24]

-- Crash Report log information --------------------------------------------
   See Crash Report log file in one of the following locations:             
     * ~/Library/Logs/DiagnosticReports                                     
     * /Library/Logs/DiagnosticReports                                      
   for more details.                                                        
Don't forget to include the above Crash Report log file in bug reports.     

Crashed while printing bug report
[IMPORTANT]
Don't forget to include the Crash Report log file under
DiagnosticReports directory in bug reports.

[1]    4834 abort      ./build/miniruby --zjit --zjit-dump-hir --zjit-call-threshold=1  test.rb

HIR:

HIR:
fn <main>:
bb0(v0:BasicObject):
  SideExit UnknownOpcode(definemethod)

HIR:
fn test:
bb0(v0:BasicObject, v1:ArrayExact, v2:BasicObject):
  PatchPoint MethodRedefined(Array@0x101bd0a90, first@0x16f1)
  v9:BasicObject = SendWithoutBlockDirect v1, :first (0x16f330ff8)
  SideExit UnknownOpcode(invokeblock)

HIR:
fn first:
bb0(v0:BasicObject):
  v3:BasicObject = InvokeBuiltin _bi132, v0
  Return v3

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions