Skip to content

Fix onnxruntime executable stack crash on ARM64/Rosetta#82

Merged
NeonDaniel merged 4 commits into
NeonGeckoCom:devfrom
mikejgray:fix/onnxruntime-arm64-execstack
May 15, 2026
Merged

Fix onnxruntime executable stack crash on ARM64/Rosetta#82
NeonDaniel merged 4 commits into
NeonGeckoCom:devfrom
mikejgray:fix/onnxruntime-arm64-execstack

Conversation

@mikejgray
Copy link
Copy Markdown
Contributor

Summary

  • Bump onnxruntime from ~=1.16.3 to ~=1.17 — v1.16.x ships with PT_GNU_STACK (executable stack), which fails under Rosetta 2 with ImportError: cannot enable executable stack as shared object requires: Invalid argument. Fixed upstream in onnxruntime v1.17.0.
  • Pin ovos-utils>=0.8,<0.8.5 — v0.8.5 removed ovos_utils.signal, which neon_utils 1.14.0 still imports, breaking container startup.

Test plan

  • Built ARM64 image locally with EXTRAS=web_sat
  • Verified import onnxruntime succeeds (v1.23.2 installed, no executable stack error)
  • Verified from openwakeword.vad import VAD succeeds
  • Verified container starts and connects to MQ (waiting on MQ is expected without RabbitMQ)

Closes #81

@mikejgray mikejgray requested a review from NeonDaniel May 13, 2026 03:42
Copy link
Copy Markdown
Member

@NeonDaniel NeonDaniel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updating neon-utils should be a better option instead of putting an upper limit on ovos-utils

Comment thread requirements/requirements.txt Outdated
Comment thread requirements/requirements.txt Outdated
@mikejgray mikejgray requested a review from NeonDaniel May 13, 2026 23:58
@NeonDaniel NeonDaniel mentioned this pull request May 15, 2026
NeonDaniel added a commit that referenced this pull request May 15, 2026
# Description
Update Python versions used in unit tests
Update test dependency installation
Fix error in GHA workflow causing partial test execution

# Issues
- Addresses test failures observed in #82 

# Other Notes
<!-- Note any breaking changes, WIP changes, requests for input, etc.
here -->
mikejgray and others added 4 commits May 15, 2026 14:30
)

onnxruntime~=1.16.3 ships with PT_GNU_STACK set, which fails under
Rosetta 2 ("cannot enable executable stack"). Bump to ~=1.17 which
includes the noexecstack fix (onnxruntime v1.17.0).

Also pin ovos-utils<0.8.5 — 0.8.5 removed the signal module that
neon_utils 1.14.0 still imports.
Add platforms: linux/amd64,linux/arm64 to both publish workflows.
Also fix indentation bug in publish_release.yml where the websat
job was nested under the gradio job instead of being a sibling.
Co-authored-by: Daniel McKnight <34697904+NeonDaniel@users.noreply.github.com>
@mikejgray mikejgray force-pushed the fix/onnxruntime-arm64-execstack branch from e80d8cf to d92ce4a Compare May 15, 2026 19:30
@NeonDaniel NeonDaniel merged commit fad4b4f into NeonGeckoCom:dev May 15, 2026
5 checks passed
@mikejgray mikejgray deleted the fix/onnxruntime-arm64-execstack branch May 16, 2026 21:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add linux/arm64 (aarch64) Docker image

2 participants