Skip to content

fix(#34): Handle ASR engine initialization panics#78

Open
SH20RAJ wants to merge 4 commits intomofa-org:mainfrom
SH20RAJ:fix/34-asr-engine
Open

fix(#34): Handle ASR engine initialization panics#78
SH20RAJ wants to merge 4 commits intomofa-org:mainfrom
SH20RAJ:fix/34-asr-engine

Conversation

@SH20RAJ
Copy link
Copy Markdown

@SH20RAJ SH20RAJ commented Mar 29, 2026

Fixes issue #34: Prevent ASR node panics when engine initialization fails. Applied to all ASR engines (FunASR, Qwen3-ASR). Uses try-catch pattern with graceful logging instead of unwrap().

SH20RAJ added 4 commits March 28, 2026 20:25
Fix typo 'setings' -> 'settings' in the benefits section of TabId enum documentation.
- Replace engine.as_mut().unwrap() with graceful error handling including logging
- Replace mutex poisoning expect() with into_inner() recovery mechanism
- Replace test unwrap() calls with expect() providing descriptive messages
- Affected files:
  - node-hub/dora-funasr-nano-mlx/src/main.rs
  - apps/mofa-asr/src/screen/mod.rs
  - mofa-dora-bridge/src/parser.rs
  - node-hub/dora-gpt-sovits-mlx/src/ssml.rs

Addresses potential runtime crashes from panic-based error handling.
Replace unwrap() calls on engine Option in all ASR nodes:
- node-hub/dora-funasr-mlx/src/main.rs
- node-hub/dora-qwen3-asr-mlx/src/main.rs

These panics could freeze the entire voice chat dataflow when:
- Model files are missing
- Memory is exhausted
- MLX framework fails

Now returns logged errors instead of crashing the node process.
@SH20RAJ
Copy link
Copy Markdown
Author

SH20RAJ commented Mar 29, 2026

Checked status: this PR is pending maintainer review/merge from upstream maintainers. I’m available to address feedback quickly.

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.

1 participant