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

Jetty uncaught exception via jsapi/input_table.html #1745

Closed
devinrsmith opened this issue Dec 28, 2021 · 0 comments · Fixed by #1772
Closed

Jetty uncaught exception via jsapi/input_table.html #1745

devinrsmith opened this issue Dec 28, 2021 · 0 comments · Fixed by #1772
Assignees
Labels
bug Something isn't working jetty
Milestone

Comments

@devinrsmith
Copy link
Member

Part of #1744

When adding to an input table via http://localhost:10000/jsapi/input_table.html, server-jetty has an uncaught exception, and prints a stacktrace out to STDERR:

SEVERE: Exception while executing runnable io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1Closed@616ad585
io.deephaven.engine.liveness.LivenessStateException: BarrageTable-248611212 could not be released as it was no longer live
        at io.deephaven.engine.liveness.ReferenceCountedLivenessNode.dropReference(ReferenceCountedLivenessNode.java:64)
        at io.deephaven.server.arrow.ArrowFlightUtil$DoPutObserver.onCancel(ArrowFlightUtil.java:196)
        at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onCancel(ServerCalls.java:279)
        at io.grpc.PartialForwardingServerCallListener.onCancel(PartialForwardingServerCallListener.java:40)
        at io.grpc.ForwardingServerCallListener.onCancel(ForwardingServerCallListener.java:23)
        at io.grpc.ForwardingServerCallListener$SimpleForwardingServerCallListener.onCancel(ForwardingServerCallListener.java:40)
        at io.grpc.Contexts$ContextualizedServerCallListener.onCancel(Contexts.java:96)
        at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.closedInternal(ServerCallImpl.java:362)
        at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.closed(ServerCallImpl.java:350)
        at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1Closed.runInContext(ServerImpl.java:913)
        at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
        at io.grpc.internal.SerializeReentrantCallsDirectExecutor.execute(SerializeReentrantCallsDirectExecutor.java:49)
        at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener.closedInternal(ServerImpl.java:920)
        at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener.closed(ServerImpl.java:887)
        at io.grpc.internal.AbstractServerStream$TransportState.closeListener(AbstractServerStream.java:332)
        at io.grpc.internal.AbstractServerStream$TransportState.transportReportStatus(AbstractServerStream.java:276)
        at io.grpc.servlet.web.websocket.WebsocketStreamImpl.transportReportStatus(WebsocketStreamImpl.java:127)
        at io.grpc.servlet.web.websocket.WebSocketServerStream.onError(WebSocketServerStream.java:130)
        at org.eclipse.jetty.websocket.jakarta.common.JakartaWebSocketFrameHandler.onError(JakartaWebSocketFrameHandler.java:312)
        at org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession.lambda$closeConnection$2(WebSocketCoreSession.java:280)
        at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1460)
        at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1479)
        at org.eclipse.jetty.websocket.core.server.internal.AbstractHandshaker$1.handle(AbstractHandshaker.java:212)
        at org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession.closeConnection(WebSocketCoreSession.java:280)
        at org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession.onEof(WebSocketCoreSession.java:251)
        at org.eclipse.jetty.websocket.core.internal.WebSocketConnection.fillAndParse(WebSocketConnection.java:485)
        at org.eclipse.jetty.websocket.core.internal.WebSocketConnection.onFillable(WebSocketConnection.java:343)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
        at org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:412)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:381)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:268)
        at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:138)
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:407)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
        at java.base/java.lang.Thread.run(Thread.java:829)

The input table does get updated correctly.

I've tried, but can't reproduce this via the java client - so might be jsapi specific in some respects.

Also, this exception does not seem to occur (or is swallowed?) when running server-netty.

As a follow up to this ticket, or as part of this ticket, we may want to see what sort of logging hooks we can get into jetty to pipe uncaught exceptions through our logger.

@devinrsmith devinrsmith added bug Something isn't working jetty labels Dec 28, 2021
@devinrsmith devinrsmith added this to the Dec 2021 milestone Dec 28, 2021
@pete-petey pete-petey modified the milestones: Dec 2021, Jan 2022 Dec 29, 2021
niloc132 added a commit to niloc132/deephaven-core that referenced this issue Jan 3, 2022
A typed array cannot hold nulls, and our uncheckedCast makes it appear
that this is sane while it isn't.

Fixes deephaven#1745
niloc132 added a commit that referenced this issue Jan 14, 2022
Websocket-based gRPC-web streams were not correctly notifying gRPC internals when the stream was finished, this patch removes a poor attempt at that and correctly ends the stream.

This diff also adds java.util.logging support, forwarding it to slf4j, and sending slf4j's log level configuration back into java.util.logging.

Finally, this patch simplifies directly running main()s in the server project, so that they share configuration with the actual declared gradle application.

Fixes #1745
mofojed pushed a commit that referenced this issue Jan 26, 2024
Release notes https://github.com/deephaven/web-client-ui/releases/tag/v0.60.0

# [0.60.0](deephaven/web-client-ui@v0.59.0...v0.60.0) (2024-01-26)


### Bug Fixes

* Fix useDeferredApi export ([#1742](deephaven/web-client-ui#1742)) ([af5f5f4](deephaven/web-client-ui@af5f5f4))
* Handle undefined DashboardData props ([#1726](deephaven/web-client-ui#1726)) ([45fa929](deephaven/web-client-ui@45fa929586c0b13a738eceaa064b261eecbd8308))(https://github.com/deephaven/web-client-ui/issues/1684) [#1685](deephaven/web-client-ui#1685)
* hcm caret shouldn't be allowed to shrink ([#1733](deephaven/web-client-ui#1733)) ([6547814](deephaven/web-client-ui@6547814))
* keep manually entered value in GoToRow when changing to same column type ([#1743](deephaven/web-client-ui#1743)) ([689a1e2](deephaven/web-client-ui@689a1e2))
* loading spinner finishes before all series load ([#1729](deephaven/web-client-ui#1729)) ([e79297b](deephaven/web-client-ui@e79297b))


### Features

* Add pluginDataMap to redux, add useDashboardPluginData hook ([#1737](deephaven/web-client-ui#1737)) ([e1b4562](deephaven/web-client-ui@e1b4562))
* added shortcut for copying version info and added browser/os to info ([#1739](deephaven/web-client-ui#1739)) ([3312133](deephaven/web-client-ui@3312133))
* Adds icons dhUnderline and dhStrikethrough ([#1732](deephaven/web-client-ui#1732)) ([c6a099d](deephaven/web-client-ui@c6a099d))
* adjust display of  theme palette in styleguide ([#1745](deephaven/web-client-ui#1745)) ([0ab0c93](deephaven/web-client-ui@0ab0c93))
* Create UI to Display Partitioned Tables ([#1663](deephaven/web-client-ui#1663)) ([db219ca](deephaven/web-client-ui@db219ca))
* Default Plotly map colors ([#1721](deephaven/web-client-ui#1721)) ([e8b9f12](deephaven/web-client-ui@e8b9f12))
* double-clicking grid rows should select the row rather than toggle selection twice ([#1740](deephaven/web-client-ui#1740)) ([f892e97](deephaven/web-client-ui@f892e97))
* Multiple dashboards ([#1714](deephaven/web-client-ui#1714)) ([32dde3c](deephaven/web-client-ui@32dde3c))

Co-authored-by: deephaven-internal <deephaven-internal@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working jetty
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants