That’s hopefully a temporary issue. We’re using the draft multithreaded coroutines for native, which isn’t really compatible with ktor. Essentially, if you stay in 1 thread, nothing gets frozen, but once you start moving across threads, things freeze. If you use ktor with a scope that crosses threads, it will freeze ktor. 2 scopes was a hacky workaround. I meant to go back and see if there’s an easier way to do it:
https://github.com/Kotlin/kotlinx.coroutines/pull/1648#issuecomment-573952582