Skip to content

Crash at startup on macOS 27 (Apple Silicon): JIT code-zone allocation fails #5100

Description

@dweinstein

GT crashes at startup on macOS 27 (Apple Silicon) — JIT code-zone allocation fails

Summary: On macOS 27.0 (Darwin 27, Apple Silicon), GlamorousToolkit segfaults during VM init while reserving the Cog code zone, before the image loads. Fully reproducible; the image is never reached.

Environment

  • macOS 27.0 beta, build 26A5353q (Darwin 27.0.0), Apple M1 Max (arm64)
  • GT v1.1.436 — also reproduces on v1.1.417 and v1.1.400
  • VM: 5.0-Pharo 10.3.9-46-gea9a2ea, built May 29 2026, Apple LLVM 14.0.0 (clang-1400.0.29.202), Production Spur 64-bit

Crash

  • EXC_BAD_ACCESS (SIGSEGV), KERN_INVALID_ADDRESS at 0x0, faulting thread is the PharoVM thread, pc = lr = 0 (jump through a null pointer).
  • Backtrace (symbolicated):
  ???                       +0
  libPharoVMCore.dylib      allocateMemoryForImagewithHeader+548
  libPharoVMCore.dylib      readImageNamed+3840
  libPharoVMCore.dylib      vm_init+208
  GlamorousToolkit          vm_bindings::interpreter::PharoInterpreter::run+36
  GlamorousToolkit          std::sys::backtrace::__rust_begin_short_backtrace+76
  GlamorousToolkit          core::ops::function::FnOnce::call_once+196
  GlamorousToolkit          std::sys::thread::unix::Thread::new::thread_start+408
  libsystem_pthread.dylib   _pthread_start+136
  libsystem_pthread.dylib   thread_start+8

allocateMemoryForImagewithHeader is allocating the JIT code zone; the disassembly of that routine contains the error string "Could not allocate codeZone in the expected place (%p), got %p", which strongly suggests the code zone can no longer be reserved at the expected virtual address under macOS 27's address-space layout.

Reproduction: Launch GlamorousToolkit on macOS 27 (Apple Silicon). Crashes immediately, every time.

Things ruled out

  • Not worker-thread specific — --worker no reproduces identically.
  • Not image corruption — the image-header size is read correctly (matches file size minus header); the crash is at heap/code-zone reservation, not parsing.
  • Not quarantine / App Translocation — reproduces from a non-translocated path.

Happy to provide the full .ips privately if useful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions