I see warning messages in the log from a logger named “EatWhatYouKill”.
I’ve seen that same logging in other threads but have yet to see anything about what is generating them.
The latest message I have seen is as follows:
java.lang.IllegalStateException: Delegate is not set
at com.inductiveautomation.perspective.gateway.session.SecuredPerspectiveProjectSession.delegateNotSet(SecuredPerspectiveProjectSession.java:183)
at java.base/java.util.Optional.orElseThrow(Unknown Source)
at com.inductiveautomation.perspective.gateway.session.SecuredPerspectiveProjectSession.notifyDisconnected(SecuredPerspectiveProjectSession.java:213)
at com.inductiveautomation.perspective.gateway.session.PerspectiveSessionCollection.notifyDisconnected(PerspectiveSessionCollection.java:358)
at com.inductiveautomation.perspective.gateway.comm.WebSocketChannel.onClose(WebSocketChannel.java:127)
at jdk.internal.reflect.GeneratedMethodAccessor136.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(CallableMethod.java:70)
at org.eclipse.jetty.websocket.common.events.annotated.OptionalSessionCallableMethod.call(OptionalSessionCallableMethod.java:72)
at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onClose(JettyAnnotatedEventDriver.java:148)
at org.eclipse.jetty.websocket.common.WebSocketSession.callApplicationOnClose(WebSocketSession.java:388)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.disconnect(AbstractWebSocketConnection.java:317)
at org.eclipse.jetty.websocket.common.io.DisconnectCallback.failed(DisconnectCallback.java:36)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.close(AbstractWebSocketConnection.java:197)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:511)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:441)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
at java.base/java.lang.Thread.run(Unknown Source)
Can anyone give me some insight into this logger? What does “Delegate is not set…” refer to? What are these “EatWhatYouKill” procedures?
Edit to add: FWIW, it looks like each “EatWhatYouKill” entry is preceded by a “WebSocketChannel” logger warning with the message, “Websocket connection closed unexpectedly. code=1006, reason=Disconnected”. As they seem to always happen at the same time and with the Web Socket message occurring first in the log, it seems logical to assume they are related.
Thanks.