TASEmulators / TASEmulators/BizHawk
Non-graceful exit under GNOME Wayland
Open
Nobody has claimed this yet.
App: EmuHawk
Repro: Affects 2.11.1 dev
- Dominant language
- C#
- Stars
- 2.8k
- Forks
- 468
- PR merge metrics
- No merged PRs in 30d
Description
Opening EmuHawk and immediately closing it through any means except ^C results in:
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[TKey,TValue].MoveNext () [0x00016] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
at BizHawk.Bizware.Input.SDL2InputAdapter.ProcessHostGamepads (System.Action`3[T1,T2,T3] handleButton, System.Action`2[T1,T2] handleAxis) [0x00132] in <ce180a9d7f004a49ac5715aafc01c18b>:0
at BizHawk.Client.EmuHawk.Input.UpdateThreadProc () [0x000c3] in <e894146d24774d20b93bd742debe8259>:0
at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00017] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x0008d] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x00031] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
at System.Threading.ThreadHelper.ThreadStart () [0x0000b] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
I believe this goes back to 2.10 or 2.9.1.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at BizHawk.Bizware.Input.SDL2InputAdapter.ProcessHostGamepads and follow its callers into BizHawk.Client.EmuHawk.Input.UpdateThreadProc. Reproduce by opening EmuHawk under GNOME Wayland and closing it without Ctrl+C, then investigate the reported collection-modification exception. Done means the application exits without this exception through the reported close paths.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 56/100