Skip to content
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

class shadow.undertow$fn$reify__11358 cannot be cast to class clojure.lang.Var$Frame #1160

Open
pesterhazy opened this issue Nov 8, 2023 · 3 comments
Labels
cannot reproduce cannot reproduce described issue, will close after a while

Comments

@pesterhazy
Copy link

This exception happens rarely (about once a day) when running the dev env for our browser code

Exception in thread "async-dispatch-6" java.lang.ClassCastException: class shadow.undertow$fn$reify__11358 cannot be cast to class clojure.lang.Var$Frame (shadow.undertow$fn$reify__11358 and clojure.lang.Var$Frame are in unnamed module of loader 'app')
	at clojure.lang.Var.resetThreadBindingFrame(Var.java:103)
	at shadow.undertow$fn$reify__11358$fn__11482$state_machine__8296__auto____11521$fn__11524.invoke(undertow.clj:468)

I think this is related to websocket handling code

Reminiscent of #175

Full stacktrace here:
stacktrace.txt

@thheller
Copy link
Owner

thheller commented Nov 8, 2023

Which version mix is this? shadow-cljs? core.async? undertow?

My first, and really only, guess is some sort of version conflict. Or something else messing with classloaders.

This is the websocket handling loop which uses core.async.

If you have something to reliably reproduce this I'm happy to take a look, otherwise I'm afraid there is nothing much I can do.

@thheller thheller added the cannot reproduce cannot reproduce described issue, will close after a while label Nov 8, 2023
@pesterhazy
Copy link
Author

pesterhazy commented Nov 9, 2023

org.clojure/clojurescript 1.11.60  (EPL-1.0)
org.clojure/core.async 1.5.648  (EPL-1.0)
thheller/shadow-client 1.3.3  (EPL-1.0)
thheller/shadow-cljs 2.25.5  (EPL-1.0)
thheller/shadow-cljsjs 0.0.22  (EPL-1.0)
thheller/shadow-undertow 0.3.1  (EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0)
thheller/shadow-util 0.7.0  (EPL-1.0)
io.undertow/undertow-core 2.2.4.Final  (Apache-2.0)

I'll try and update core.async and see if that helps

@thheller
Copy link
Owner

thheller commented Nov 9, 2023

Not necessary, this is the correct intended core.async version. The rest seems correct too.

That leaves anything messing with Classloaders, the JVM in general or maybe clojure itself such as tools.namespace. No real actual guess though from my end.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cannot reproduce cannot reproduce described issue, will close after a while
Projects
None yet
Development

No branches or pull requests

2 participants