Skip to content

RemoteAccess: Ktor crash when disabling / enabling network browsing

The following discussion from !1833 (merged) should be addressed:

  • @Skantes started a discussion:

    I also keep getting a ktor crash when disabling / re-enabling network browsing in the remote access settings. I would try disabling network indexing while the browser web page is loading to reproduce, if it doesn't happen by just disabling.

    
    2024-02-12 18:06:36.072 13952-14177 VLC/VlcCrashHandler     org.videolan.vlc.debug               E  java.util.concurrent.RejectedExecutionException: event executor terminated
                                                                                                        	at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:934)
                                                                                                        	at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:351)
                                                                                                        	at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:344)
                                                                                                        	at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:836)
                                                                                                        	at io.netty.util.concurrent.SingleThreadEventExecutor.execute0(SingleThreadEventExecutor.java:827)
                                                                                                        	at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:817)
                                                                                                        	at io.ktor.server.netty.NettyDispatcher.dispatch(CIO.kt:69)
                                                                                                        	at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:198)
                                                                                                        	at io.ktor.utils.io.internal.CancellableReusableContinuation.resumeWith(CancellableReusableContinuation.kt:93)
                                                                                                        	at io.ktor.utils.io.ByteBufferChannel.resumeReadOp(ByteBufferChannel.kt:2103)
                                                                                                        	at io.ktor.utils.io.ByteBufferChannel.tryTerminate$ktor_io(ByteBufferChannel.kt:390)
                                                                                                        	at io.ktor.utils.io.ByteBufferChannel.close(ByteBufferChannel.kt:135)
                                                                                                        	at io.ktor.server.netty.http2.HttpFrameAdapterKt.http2frameLoop(HttpFrameAdapter.kt:41)
                                                                                                        	at io.ktor.server.netty.http2.HttpFrameAdapterKt$http2frameLoop$1.invokeSuspend(Unknown Source:13)
                                                                                                        	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                                                        	at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:233)
                                                                                                        	at kotlinx.coroutines.DispatchedTaskKt.resumeUnconfined(DispatchedTask.kt:189)
                                                                                                        	at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:161)
                                                                                                        	at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:474)
                                                                                                        	at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:508)
                                                                                                        	at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:497)
                                                                                                        	at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:368)
                                                                                                        	at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2171)
                                                                                                        	at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2160)
                                                                                                        	at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2153)
                                                                                                        	at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1930)
                                                                                                        	at kotlinx.coroutines.channels.BufferedChannel.completeCancel(BufferedChannel.kt:1942)
                                                                                                        	at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219)
                                                                                                        	at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2184)
                                                                                                        	at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2181)
                                                                                                        	at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1902)
                                                                                                        	at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1795)
                                                                                                        	at kotlinx.coroutines.channels.BufferedChannel.cancelImpl$kotlinx_coroutines_core(BufferedChannel.kt:1765)
                                                                                                        	at kotlinx.coroutines.channels.BufferedChannel.cancel(BufferedChannel.kt:1762)
                                                                                                        	at kotlinx.coroutines.channels.ActorCoroutine.onCancelling(Actor.kt:137)
                                                                                                        	at kotlinx.coroutines.JobSupport.notifyCancelling(JobSupport.kt:330)
                                                                                                        	at kotlinx.coroutines.JobSupport.tryMakeCancelling(JobSupport.kt:798)
                                                                                                        	at kotlinx.coroutines.JobSupport.makeCancelling(JobSupport.kt:758)
                                                                                                        	at kotlinx.coroutines.JobSupport.cancelImpl$kotlinx_coroutines_core(JobSupport.kt:674)
                                                                                                        	at kotlinx.coroutines.JobSupport.parentCancelled(JobSupport.kt:640)
                                                                                                        	at kotlinx.coroutines.ChildHandleNode.invoke(JobSupport.kt:1438)
                                                                                                        	at kotlinx.coroutines.JobSupport.notifyCancelling(JobSupport.kt:1474)
                                                                                                        	at kotlinx.coroutines.JobSupport.tryMakeCompletingSlowPath(JobSupport.kt:903)
                                                                                                        	at kotlinx.coroutines.JobSupport.tryMakeCompleting(JobSupport.kt:866)
                                                                                                        	at kotlinx.coroutines.JobSupport.cancelMakeCompleting(JobSupport.kt:699)
    2024-02-12 18:06:36.072 13952-14177 VLC/VlcCrashHandler     org.videolan.vlc.debug               E  	at kotlinx.coroutines.JobSupport.cancelImpl$kotlinx_coroutines_core(JobSupport.kt:670)
                                                                                                        	at kotlinx.coroutines.JobSupport.cancelInternal(JobSupport.kt:635)
                                                                                                        	at kotlinx.coroutines.JobSupport.cancel(JobSupport.kt:620)
                                                                                                        	at kotlinx.coroutines.CoroutineScopeKt.cancel(CoroutineScope.kt:287)
                                                                                                        	at kotlinx.coroutines.CoroutineScopeKt.cancel$default(CoroutineScope.kt:285)
                                                                                                        	at io.ktor.server.netty.NettyChannelInitializer.configurePipeline$lambda$5(NettyChannelInitializer.kt:119)
                                                                                                        	at io.ktor.server.netty.NettyChannelInitializer.$r8$lambda$sLcAibrOroXR7SQP3wvziJ0hwjA(Unknown Source:0)
                                                                                                        	at io.ktor.server.netty.NettyChannelInitializer$$ExternalSyntheticLambda0.operationComplete(Unknown Source:2)
                                                                                                        	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)
                                                                                                        	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:557)
                                                                                                        	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)
                                                                                                        	at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)
                                                                                                        	at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:625)
                                                                                                        	at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:105)
                                                                                                        	at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
                                                                                                        	at io.netty.channel.AbstractChannel$CloseFuture.setClosed(AbstractChannel.java:1164)
                                                                                                        	at io.netty.channel.AbstractChannel$AbstractUnsafe.doClose0(AbstractChannel.java:755)
                                                                                                        	at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:731)
                                                                                                        	at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:620)
                                                                                                        	at io.netty.channel.nio.NioEventLoop.closeAll(NioEventLoop.java:838)
                                                                                                        	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:595)
                                                                                                        	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
                                                                                                        	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
                                                                                                        	at io.ktor.server.netty.EventLoopGroupProxy$Companion.create$lambda$1$lambda$0(NettyApplicationEngine.kt:296)
                                                                                                        	at io.ktor.server.netty.EventLoopGroupProxy$Companion.$r8$lambda$XgnKz7L6tCWRUaIAa7SVURwtFE4(Unknown Source:0)
                                                                                                        	at io.ktor.server.netty.EventLoopGroupProxy$Companion$$ExternalSyntheticLambda1.run(Unknown Source:2)
                                                                                                        	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
                                                                                                        	at java.lang.Thread.run(Thread.java:920)
                                                                                                        	at Android.MODEL(SM-G970F)
                                                                                                        	at Android.VERSION(12)
                                                                                                        	at Android.FINGERPRINT(samsung/beyond0lteeea/beyond0:12/SP1A.210812.016/G970FXXSGHWC1:user/release-keys)
                                                                                                        	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(63), "coroutine#63":ActorCoroutine{Cancelling}@fa901ce, Dispatchers.Unconfined]