Skip to content

Node crashes/exits ungracefully on uncaught exceptions/events relating to QUIC connections or QUIC streams #198

@tegefaulkes

Description

@tegefaulkes

Describe the bug

The node seems to be randomly crashing with ErrorQUICConnectionIdleTimeout.

INFO:polykey.PolykeyAgent.NodeConnectionManager.QUICServer.QUICConnection f4ba6d8b49c528090fee5cab01c73326e6b46e58.QUICStream 92:Destroy QUICStream
INFO:polykey.PolykeyAgent.NodeConnectionManager.QUICServer.QUICConnection f4ba6d8b49c528090fee5cab01c73326e6b46e58.QUICStream 92:Destroyed QUICStream
INFO:polykey.PolykeyAgent.NodeConnectionManager.QUICServer.QUICConnection f4ba6d8b49c528090fee5cab01c73326e6b46e58.QUICStream 96:Create QUICStream
INFO:polykey.PolykeyAgent.NodeConnectionManager.QUICServer.QUICConnection f4ba6d8b49c528090fee5cab01c73326e6b46e58.QUICStream 96:Created QUICStream
INFO:polykey.PolykeyAgent.NodeConnectionManager.RPCServer:Handling stream with method (nodesConnectionSignalInitial)
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnectionForward [159.196.126.185:51410].QUICClient.QUICConnection 0bb985a87456834e1683140788ee89bfc5ef4f05.QUICStream 144:Create QUICStream
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnectionForward [159.196.126.185:51410].QUICClient.QUICConnection 0bb985a87456834e1683140788ee89bfc5ef4f05.QUICStream 144:Created QUICStream
INFO:polykey.PolykeyAgent.NodeConnectionManager.RPCServer:Handled stream with method (nodesConnectionSignalInitial)
INFO:polykey.PolykeyAgent.NodeConnectionManager.QUICServer.QUICConnection f4ba6d8b49c528090fee5cab01c73326e6b46e58.QUICStream 96:Destroy QUICStream
INFO:polykey.PolykeyAgent.NodeConnectionManager.QUICServer.QUICConnection f4ba6d8b49c528090fee5cab01c73326e6b46e58.QUICStream 96:Destroyed QUICStream
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnectionForward [159.196.126.185:51410].QUICClient:ErrorQUICConnectionIdleTimeout: QUIC Connection max idle timeout exhausted - 
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnectionForward [159.196.126.185:51410].QUICClient.QUICConnection 0bb985a87456834e1683140788ee89bfc5ef4f05:ErrorQUICConnectionIdleTimeout: QUIC Connection max idle timeout exhausted - 
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnectionForward [159.196.126.185:51410].QUICClient.QUICConnection 0bb985a87456834e1683140788ee89bfc5ef4f05:Stop QUICConnection
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnection [v2kgfdi6dutt0mmv78q58la30mafige86igvpch0dbtnfmb8l70sg@::ffff:159.196.126.185:51410]:Destroying NodeConnection
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnectionForward [159.196.126.185:51410].QUICClient:Destroy QUICClient to [::ffff:159.196.126.185]:51410
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnectionForward [159.196.126.185:51410].QUICClient.QUICConnection 0bb985a87456834e1683140788ee89bfc5ef4f05.QUICStream 144:Destroy QUICStream
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnectionForward [159.196.126.185:51410].QUICClient.QUICConnection 0bb985a87456834e1683140788ee89bfc5ef4f05:ErrorQUICConnectionIdleTimeout: QUIC Connection max idle timeout exhausted - 
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnectionForward [159.196.126.185:51410].QUICClient.QUICConnection 0bb985a87456834e1683140788ee89bfc5ef4f05:ErrorQUICConnectionIdleTimeout: QUIC Connection max idle timeout exhausted - 
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnectionForward [159.196.126.185:51410].QUICClient.QUICConnection 0bb985a87456834e1683140788ee89bfc5ef4f05.QUICStream 144:Destroyed QUICStream
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnectionForward [159.196.126.185:51410].QUICClient.QUICConnection 0bb985a87456834e1683140788ee89bfc5ef4f05:Stopped QUICConnection
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnectionForward [159.196.126.185:51410].QUICClient:Destroyed QUICClient to [::ffff:159.196.126.185]:51410
INFO:polykey.PolykeyAgent.NodeConnectionManager.NodeConnection [v2kgfdi6dutt0mmv78q58la30mafige86igvpch0dbtnfmb8l70sg@::ffff:159.196.126.185:51410]:Destroyed NodeConnection
ErrorQUICConnectionIdleTimeout

cmcdragonkai ➜ matrix-framework-13-ryzen-7040  ➜ ~/Projects/Polykey-CLI
 $ 

It also can produce - any of these things are being leaked up to the process for it to do an ungraceful exit/crash:

  • ErrorQUICConnectionIdleTimeout
  • ErrorNodeConnectionTransportGenericError
  • TypeError: Invalid state: WritableStream is closed

To Reproduce

  1. Run a Polykey agent.
  2. It will crash on its own after a while.

Expected behavior

Should not crash with ErrorQUICConnectionIdleTimeout

Screenshots

Platform (please complete the following information)

  • Version: Polykey-CLI 0.4.1.

Additional context

Notify maintainers

@tegefaulkes

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingr&d:polykey:core activity 4End to End Networking behind Consumer NAT Devices

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions