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

    pFad - Phonifier reborn

    Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

    Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy