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

@NeonDaniel NeonDaniel left a comment

Copy link
Copy Markdown
Member

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
@github-actions github-actions Bot mentioned this pull request Jul 29, 2026
NeonDaniel added a commit that referenced this pull request Jul 29, 2026
# Changelog

## [0.1.1a23](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a23)
(2026-07-29)

[Full
Changelog](0.1.1a22...0.1.1a23)

**Merged pull requests:**

- Update dependencies
[\#85](#85)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a22](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a22)
(2026-05-15)

[Full
Changelog](0.1.1a21...0.1.1a22)

**Closed issues:**

- Add linux/arm64 \(aarch64\) Docker image
[\#81](#81)

**Merged pull requests:**

- Fix onnxruntime executable stack crash on ARM64/Rosetta
[\#82](#82)
([mikejgray](https://github.com/mikejgray))

## [0.1.1a21](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a21)
(2026-05-15)

[Full
Changelog](0.1.1a20...0.1.1a21)

**Merged pull requests:**

- Update test automation
[\#83](#83)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a20](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a20)
(2025-11-17)

[Full
Changelog](0.1.1a19...0.1.1a20)

**Fixed bugs:**

- \[BUG\] Exception logged during service init
[\#71](#71)

**Merged pull requests:**

- Refactor `_wait_for_connection` to resolve startup errors
[\#80](#80)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a19](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a19)
(2025-11-14)

[Full
Changelog](0.1.1a18...0.1.1a19)

**Fixed bugs:**

- \[BUG\] Support self-signed certificates
[\#75](#75)

**Merged pull requests:**

- Resolve dead MQ connector that leaves service in a broken state
[\#79](#79)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a18](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a18)
(2025-07-31)

[Full
Changelog](0.1.1a17...0.1.1a18)

**Merged pull requests:**

- Update to Gradio 5.x with Session Handling Fix
[\#78](#78)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a17](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a17)
(2025-06-25)

[Full
Changelog](0.1.1a16...0.1.1a17)

**Merged pull requests:**

- Implement Docker health checks
[\#76](#76)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a16](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a16)
(2025-04-15)

[Full
Changelog](0.1.1a15...0.1.1a16)

**Merged pull requests:**

- Refactor BCP-47 Language codes to ISO 639-1
[\#73](#73)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a15](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a15)
(2025-04-09)

[Full
Changelog](0.1.1a14...0.1.1a15)

**Merged pull requests:**

- Implement models from `neon-data-models`
[\#74](#74)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a14](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a14)
(2025-03-11)

[Full
Changelog](0.1.1a13...0.1.1a14)

**Merged pull requests:**

- Update dependencies
[\#72](#72)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a13](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a13)
(2025-02-18)

[Full
Changelog](0.1.1a12...0.1.1a13)

**Merged pull requests:**

- Handle reconnection to RMQ Server
[\#70](#70)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a12](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a12)
(2025-02-06)

[Full
Changelog](0.1.1a11...0.1.1a12)

**Merged pull requests:**

- Update dependency and license notices to prep for stable release
[\#68](#68)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a11](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a11)
(2025-02-03)

[Full
Changelog](0.1.1a10...0.1.1a11)

**Merged pull requests:**

- Refactor to support Async consumers
[\#67](#67)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a10](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a10)
(2025-01-20)

[Full
Changelog](0.1.1a9...0.1.1a10)

**Merged pull requests:**

- fix: require numpy\<2 for websat
[\#66](#66)
([mikejgray](https://github.com/mikejgray))

## [0.1.1a9](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a9)
(2025-01-14)

[Full
Changelog](0.1.1a8...0.1.1a9)

**Merged pull requests:**

- Refactor Docker build to override default config instead of system
[\#63](#63)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a8](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a8)
(2025-01-14)

[Full
Changelog](0.1.1a7...0.1.1a8)

**Fixed bugs:**

- \[BUG\] Upgrade Python version in Docker
[\#62](#62)

**Merged pull requests:**

- Update Python version and dependencies
[\#65](#65)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a7](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a7)
(2025-01-11)

[Full
Changelog](0.1.1a6...0.1.1a7)

**Merged pull requests:**

- Update GitHub Actions
[\#64](#64)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a6](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a6)
(2024-05-14)

[Full
Changelog](0.1.1a5...0.1.1a6)

**Fixed bugs:**

- \[BUG\] Audio input results in errors
[\#59](#59)

**Merged pull requests:**

- fix: appropriate dependencies
[\#61](#61)
([mikejgray](https://github.com/mikejgray))

## [0.1.1a5](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a5)
(2024-04-10)

[Full
Changelog](0.1.1a4...0.1.1a5)

**Merged pull requests:**

- Implement alert message handler
[\#57](#57)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a4](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a4)
(2024-01-29)

[Full
Changelog](0.1.1a2...0.1.1a4)

**Merged pull requests:**

- feat: polished UI for websat
[\#54](#54)
([mikejgray](https://github.com/mikejgray))

## [0.1.1a2](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a2)
(2023-12-29)

[Full
Changelog](0.1.1a1...0.1.1a2)

**Merged pull requests:**

- Add CLI command to get mapmaker geolocation responses
[\#53](#53)
([NeonDaniel](https://github.com/NeonDaniel))

## [0.1.1a1](https://github.com/NeonGeckoCom/neon-iris/tree/0.1.1a1)
(2023-12-28)

[Full
Changelog](0.1.0...0.1.1a1)

**Merged pull requests:**

- feat: browser sat
[\#51](#51)
([mikejgray](https://github.com/mikejgray))



\* *This Changelog was automatically generated by
[github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
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