Skip to content

fix(coroutines): swallowed exception in global scopes - #9396

Merged
MukjepScarlet merged 1 commit into
nextgenfrom
fix/coroutines
Oct 13, 2026
Merged

MukjepScarlet merged 1 commit into
nextgenfrom
fix/coroutines

Conversation

@MukjepScarlet

Copy link
Copy Markdown
Contributor

No description provided.

@liquidbounce-support-bot

Copy link
Copy Markdown
Contributor

Thanks for this — centralising the handler is a clear win over the two lambdas that silently dropped everything that was not a ReportedException, and the clientLogger("ChunkScanner") / withFormat() cleanups are nice.

A couple of things worth a second look before merge:

  • ModuleMobOwners now launches the Mojang lookup on Dispatchers.Main, where it previously ran in ioScope (Dispatchers.IO). If the suspend call does not dispatch itself off the main thread, that puts a network request on the render thread — was the switch to Dispatchers.Main deliberate (e.g. for the cache write) rather than using IO plus a main-thread hand-off?
  • uuidNameCache drops ConcurrentHashMap for a plain hashMapOf, so it is only correct while every read and write happens on one thread (putIfAbsent here resolves to the JDK default, not a CAS). Worth confirming getOwnerInfoText is only ever reached from the main thread.
  • ChunkScanner.scope becomes private — fine as long as nothing outside the object (or an add-on) referenced it.
  • Style: override val key on CommonCoroutineExceptionHandler is redundant, CoroutineExceptionHandler already defines it as its own key.

No documentation impact that I can see.


🤖 Automated support reply — a human maintainer will review if this doesn't help.

@MukjepScarlet
MukjepScarlet merged commit 54922d0 into nextgen Oct 13, 2026
6 checks passed
@MukjepScarlet
MukjepScarlet deleted the fix/coroutines branch October 13, 2026 16:32
@MukjepScarlet MukjepScarlet added this to the 0.42.0 milestone Oct 13, 2026
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