hyperfiddle

noonian 2026-05-09T15:14:38.303149Z

I'm posting an electric error because it said "please report this issue", but the root cause was I was throwing exceptions in my code (likely in cleanup thunk to m/observe?). Message in ๐Ÿงต

leonoel 2026-05-10T09:22:55.094979Z

it is safe to throw an exception in cleanup thunk

noonian 2026-05-09T15:15:38.303019Z

<<< error <<<
Root: clojure.lang.ExceptionInfo - assertion failed: (some? (aget state on-message-slot)) for (aget state on-message-slot) = nil

    electric on-message handler is not available. The electric server process failed to properly shut down *before* receiving the current message. Please report this issue.
data: {:dustingetz.check/v nil, :dustingetz.check/pred #function[clojure.core/some?]}

Root stack trace:
  dustingetz.check$_is/invokeStatic at check.cljc:25
  dustingetz.check$_is/invoke at check.cljc:22
  hyperfiddle.electric_ring_adapter3$electric_ws_handler$on_message__96602/invoke at electric_ring_adapter3.clj:206
  clojure.lang.AFn/applyToHelper at AFn.java:156
  clojure.lang.AFn/applyTo at AFn.java:144
  clojure.core$apply/invokeStatic at core.clj:669
  clojure.core$apply/invoke at core.clj:662
  hyperfiddle.electric_ring_adapter3$ring_ws_handler$fn__96612$fn__96613/doInvoke at electric_ring_adapter3.clj:236
  clojure.lang.RestFn/invoke at RestFn.java:426
  ring.websocket$eval96250$fn__96254/invoke at websocket.clj:13
  ring.websocket.protocols$fn__310$G__299__319/invoke at protocols.clj:3
  ring.adapter.jetty9.websocket$proxy_ws_adapter$reify__522/onWebSocketText at websocket.clj:53
  org.eclipse.jetty.websocket.core.util.MethodHolder/doInvoke at MethodHolder.java:85
  org.eclipse.jetty.websocket.core.util.MethodHolder$Binding/invoke at MethodHolder.java:119
  org.eclipse.jetty.websocket.core.messages.StringMessageSink/accept at StringMessageSink.java:66
  org.eclipse.jetty.websocket.common.JettyWebSocketFrameHandler/acceptFrame at JettyWebSocketFrameHandler.java:398
  org.eclipse.jetty.websocket.common.JettyWebSocketFrameHandler/onTextFrame at JettyWebSocketFrameHandler.java:369
  org.eclipse.jetty.websocket.common.JettyWebSocketFrameHandler/onFrame at JettyWebSocketFrameHandler.java:219
  org.eclipse.jetty.websocket.core.WebSocketCoreSession$IncomingAdaptor/lambda$onFrame$0 at WebSocketCoreSession.java:666
  org.eclipse.jetty.server.handler.ContextHandler$ScopedContext/run at ContextHandler.java:1699
  org.eclipse.jetty.server.handler.ContextHandler$ScopedContext/run at ContextHandler.java:1686
  org.eclipse.jetty.websocket.core.server.internal.AbstractHandshaker$1/handle at AbstractHandshaker.java:178
  org.eclipse.jetty.websocket.core.WebSocketCoreSession$IncomingAdaptor/onFrame at WebSocketCoreSession.java:666
  org.eclipse.jetty.websocket.core.AbstractExtension/nextIncomingFrame at AbstractExtension.java:146
  org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension/nextIncomingFrame at PerMessageDeflateExtension.java:242
  org.eclipse.jetty.websocket.core.util.WebSocketDemander/emitFrame at WebSocketDemander.java:113
  org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension$IncomingDemander/inflate at PerMessageDeflateExtension.java:490
  org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension$IncomingDemander/handle at PerMessageDeflateExtension.java:415
  org.eclipse.jetty.websocket.core.util.WebSocketDemander/process at WebSocketDemander.java:236
  org.eclipse.jetty.util.IteratingCallback/processing at IteratingCallback.java:377
  org.eclipse.jetty.util.IteratingCallback/lambda$doOnSuccessProcessing$0 at IteratingCallback.java:271
  org.eclipse.jetty.util.ExceptionUtil/callAndThen at ExceptionUtil.java:503
  org.eclipse.jetty.util.IteratingCallback/doOnSuccessProcessing at IteratingCallback.java:271
  org.eclipse.jetty.util.IteratingCallback/succeeded at IteratingCallback.java:575
  org.eclipse.jetty.websocket.core.util.WebSocketDemander/onFrame at WebSocketDemander.java:168
  org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension/onFrame at PerMessageDeflateExtension.java:97
  org.eclipse.jetty.websocket.core.ExtensionStack/onFrame at ExtensionStack.java:115
  org.eclipse.jetty.websocket.core.WebSocketCoreSession/onFrame at WebSocketCoreSession.java:475
  org.eclipse.jetty.websocket.core.WebSocketConnection/onFrame at WebSocketConnection.java:296
  org.eclipse.jetty.websocket.core.WebSocketConnection/fillAndParse at WebSocketConnection.java:499
  org.eclipse.jetty.websocket.core.WebSocketConnection/onFillable at WebSocketConnection.java:365
  org.eclipse.jetty.io.AbstractConnection$FillableCallback/succeeded at AbstractConnection.java:319
  org.eclipse.jetty.io.FillInterest/fillable at FillInterest.java:105
  org.eclipse.jetty.io.SelectableChannelEndPoint$1/run at SelectableChannelEndPoint.java:54
  org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy/runTask at AdaptiveExecutionStrategy.java:492
  org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy/epcRunTask at AdaptiveExecutionStrategy.java:428
  org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy/consumeTask at AdaptiveExecutionStrategy.java:401
  org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy/tryProduce at AdaptiveExecutionStrategy.java:255
  org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy/run at AdaptiveExecutionStrategy.java:204
  org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread/run at ReservedThreadExecutor.java:317
  org.eclipse.jetty.util.thread.QueuedThreadPool/runJob at QueuedThreadPool.java:1009
  org.eclipse.jetty.util.thread.QueuedThreadPool$Runner/doRunJob at QueuedThreadPool.java:1240
  org.eclipse.jetty.util.thread.QueuedThreadPool$Runner/run at QueuedThreadPool.java:1194
  java.lang.Thread/run at Thread.java:1447
>>> error >>>

Dustin Getz (Hyperfiddle) 2026-05-09T15:28:27.599949Z

thanks

Dustin Getz (Hyperfiddle) 2026-05-09T15:29:17.311379Z

yeah iirc i don't think you can throw in the disposal phase, it's a missionary flow protocol violation iirc (the team will correct me if this is wrong)

1
Dustin Getz (Hyperfiddle) 2026-05-09T15:29:31.747399Z

thank you for reporting

๐Ÿ‘ 1