HydraIssues

hydraheadipad: crash in DataManager init — managedObjectContext unrecognized selector (v0.2.59)
open bug Project: hydraheadipad Reporter: 21 May 2026 19:40

Description

## Crash

App crashes in `StreamFrameViewController viewDidLoad` when `DataManager init` calls `managedObjectContext` on an object that does not implement that selector.

## Exception

```
Exception Reason: -[(dynamic class) managedObjectContext]: unrecognized selector sent to instance 0x109ddec60
Termination Reason: SIGNAL 6 Abort trap: 6
```

## Backtrace (key frames)

```
0 CoreFoundation __exceptionPreprocess + 164
1 libobjc.A.dylib objc_exception_throw
2 CoreFoundation -[NSObject doesNotRecognizeSelector:]
6 HydraHeadiPad -[DataManager init] + 236 (DataManager.m:33)
7 HydraHeadiPad -[StreamFrameViewController viewDidLoad] + 156 (StreamFrameViewController.m:86)
...
22 HydraHeadiPad HydraStreamSession startWithHost block (HydraStreamSession.m:63)
```

## Version

v0.2.59 (build 82), 2026-05-19

## Source issue

Crash report #288

## Root cause

`DataManager.m:33` calls `managedObjectContext` on an object. At runtime the object is a dynamic class that does not respond to that selector — likely a Core Data NSManagedObject that was deallocated or is the wrong type. `DataManager` is initialized on every `viewDidLoad` of `StreamFrameViewController`, which is presented on every stream start.

## Notes

- Distinct from #274 (MicrophoneRelay double-start)
- Versions 0.2.115+ show a different crash in MicrophoneRelay.startAsync (see issues #284-#279) suggesting DataManager may have been fixed but MicrophoneRelay regression introduced