You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Name the unusable backend when a model fails to load #1529
When a model needs a backend that cannot run, ExecuTorch fails with a bare Error::NotFound. Most often this is an MLX or Core ML variant picked explicitly on the iOS simulator (review).
Proposed solution
On a failed load or execute, read the method's backends from MethodMeta and name the unusable one. On a simulator, point to the XNNPACK variant. Cover both loadModel and the LLM runner.
Alternative solutions
Benefits to React Native ExecuTorch
Turns a common setup mistake into a self-explaining error.
Additional context
Draft implementation on @ms/simulator-backend-error (#1527, closed). It touches the LLM runner, so it should land after the runner rewrite.
In model.cpp this is already kind of addressed. If eager load or lazy first execute of method fails the code throws
// ..."\n""Common causes:\n"" 1. Backend not registered\n"" Ensure backends from `model.backends` are registered\n"" in the ExecuTorch runtime\n"" (use `getRegisteredBackends()` to check registered backends).\n""\n"// ...
The llm runner didn't have this as it bypassed our model abstraction but with the new TS runner the LLM inference goes through model.cpp just like any other model.
Activity
barhanc commentedon Oct 12, 2026
In
model.cppthis is already kind of addressed. If eager load or lazy first execute of method fails the code throwsThe llm runner didn't have this as it bypassed our model abstraction but with the new TS runner the LLM inference goes through model.cpp just like any other model.
msluszniak commentedon Oct 13, 2026
@barhanc I will add this issue to "resolved by" in PR with TS LLM runner implementation.