-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pg-client now throwing unhandled exception on previously running code #571
Comments
pg code in question:
|
@binarytide can you point in the code where this exception is being thrown? I'm trying to figure out which callback is on the wrong thread, but I see you are also using eventbus messaging. I'm not sure which callback is the offender. |
the exception happens at deployment. we have some wrapper code around deployment but that has been stable and untouched to this point. |
I'm looking at the changes, and in 0.15.0 the startup become an execute blocking: To avoid annoying logs at startup that the event loop was blocked. This could be the reason, as the deployment is happening on a thread pool. But you're saying that you were on 0.16.1 and it worked... I can create a test branch you can build and test with that change reverted, would that work for you? @binarytide |
I def remember seeing logs about blocking so I know that was something happening for me during startup, how it's only now turning into a brick wall is weird. but yes I can try a test branch. |
In this zip file there's a jar file, that the local build of: https://github.com/reactiverse/es4x/tree/issues/disable-blockingexecute Just replace the current:
With the one in the zip, or build that branch locally. If this works, then I think we need to live with the warnings if any as we can't disable the thread strictness from graaljs. |
still throwing:
after I confirmed that I replaced the jar both globally and within node_modules still getting the same result |
ok, so it turns out the test branch gets me what I needed, but in the course of modifying I uncommented code that gave the same amount of those exceptions but different root cause. so to confirm test branch does work. |
@binarytide @pmlopes Please confirm is it still an issue. I was facing similar issue on es4x 0.17.1 |
Hi @bkoripalli if you're facing the same issue, please share where is it happening. There are a couple of things here: I believe there was an issue reported upstream to graal about some of these exceptions being thrown wrongly. Second, it could be an issue in vert.x itself, which isn't noticed in java but probably should be fixed. |
@pmlopes I think there is no issue with fetching data from db replaying to event bus, All of sudden I got below error. ERROR io.vertx.core.impl.ContextImpl - Unhandled exception java.lang.IllegalStateException: Multi threaded access requested by thread Thread[vert.x-eventloop-thread-13,5,main] but is not allowed for language(s) js. -> at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotEngineException.illegalState(PolyglotEngineException.java:129) -> at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotContextImpl.throwDeniedThreadAccess(PolyglotContextImpl.java:1034) -> at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotContextImpl.checkAllThreadAccesses(PolyglotContextImpl.java:893) -> at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotContextImpl.enterThreadChanged(PolyglotContextImpl.java:723) -> at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotEngineImpl.enterCached(PolyglotEngineImpl.java:1991) -> at org.graalvm.truffle/com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:110) -> at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:655) -> at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:627) -> at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:544) -> at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:468) -> at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:449) -> at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotFunctionProxyHandler.invoke(PolyglotFunctionProxyHandler.java:154) -> at com.sun.proxy.$Proxy69.handle(Unknown Source) -> at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141) -> at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:60) -> at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211) -> at io.vertx.core.impl.future.PromiseImpl.tryComplete(PromiseImpl.java:23) -> at io.vertx.core.Promise.complete(Promise.java:66) -> at io.vertx.core.eventbus.impl.ReplyHandler.dispatch(ReplyHandler.java:97) -> at io.vertx.core.eventbus.impl.HandlerRegistration$InboundDeliveryContext.next(HandlerRegistration.java:169) -> at io.vertx.core.eventbus.impl.HandlerRegistration$InboundDeliveryContext.dispatch(HandlerRegistration.java:134) -> at io.vertx.core.impl.AbstractContext.dispatch(AbstractContext.java:111) -> at io.vertx.core.eventbus.impl.HandlerRegistration.dispatch(HandlerRegistration.java:105) -> at io.vertx.core.eventbus.impl.ReplyHandler.doReceive(ReplyHandler.java:81) -> at io.vertx.core.eventbus.impl.HandlerRegistration.lambda$receive$0(HandlerRegistration.java:56) -> at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) -> at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) -> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:503) -> at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) -> at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) -> at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) -> at java.base/java.lang.Thread.run(Thread.java:829) -> Caused by: com.oracle.truffle.api.TruffleStackTrace$LazyStackTrace: null -> |
The text was updated successfully, but these errors were encountered: