RunanywhereAI / RunanywhereAI/wally

[MetalRT][macOS 15.7.4][M3] Crash in metalrt_cache_prompt during pipeline init (Failed to initialize pipeline)

Open
#24 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

P2 post-mvp
Dominant language
C++
Stars
1.5k
Forks
86
Avg merge
6h 53m
Merged PRs (30d)
50

Description

Summary

RCLI fails to initialize pipeline on MetalRT and exits with:
Failed to initialize pipeline
Error: Failed to initialize (check models dir: ~/Library/RCLI/models)

This is NOT a models-missing issue. Model files exist and are readable.

Environment

  • RCLI: 0.3.6 (Homebrew)
  • MetalRT: v0.2.1 (from rcli metalrt status)
  • macOS: 15.7.4 (24G517)
  • Hardware: Apple Silicon (arm64), Mac15,12
  • Engine config: engine=metalrt

Repro

  1. Install/setup RCLI and MetalRT models.
  2. Run:
    rcli ask "hello" --no-speak -v
    
    
  3. Observe failure:
    • [RCLI] Initializing pipeline...
    • [RCLI] Failed to initialize pipeline
    • [LLM] Shutdown complete

Expected

Pipeline initializes and returns a response.

Actual

Pipeline init fails every time; in some runs process crashes (segfault).

Verbose log excerpt

[RCLI] Personality: default
[RCLI] MetalRT fallback to largest: /Users/black_knife_air/Library/RCLI/models/metalrt/LFM2.5-1.2B-MLX-
4bit
[RCLI] MetalRT STT: Whisper Tiny (MLX 4-bit) (...)
[RCLI] MetalRT TTS: Kokoro 82M (bf16) (...)
[Tools] Set external tool definitions (1103 bytes, 9 tools parsed)
[RCLI] Initializing pipeline...
[RCLI] Failed to initialize pipeline
[LLM] Shutdown complete

Crash report

File:
~/Library/Logs/DiagnosticReports/rcli-2026-03-13-032414.ips

Key stack frames:

  • metalrt_cache_prompt
  • rastack::MetalRTEngine::cache_system_prompt(...)
  • AGX::ComputeContext...::setPipelineCommon(...)
  • Exception: EXC_BAD_ACCESS (SIGSEGV), KERN_INVALID_ADDRESS at 0x50

Additional notes

  • ~/Library/RCLI/models/metalrt/* exists with model/config/tokenizer files.
  • Downloading Qwen3-0.6B does not resolve issue.
  • Failure reproduces with --no-speak (not microphone related).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce with rcli ask "hello" --no-speak -v using the reported MetalRT setup, then inspect the crash report at ~/Library/Logs/DiagnosticReports/rcli-2026-03-13-032414.ips. Trace the metalrt_cache_prompt and rastack::MetalRTEngine::cache_system_prompt frames; done means pipeline initialization returns a response without failing or crashing.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, macos
Domain
cli, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.