openziti / dilithium

Framework for high-performance streaming over message-passing systems. High-performance WAN protocols over UDP datagrams. Implemented in golang.
Apache License 2.0
13 stars 2 forks source link

westworld3.listenerConn.rxQueue Duplicate Close #122

Closed michaelquigley closed 3 years ago

michaelquigley commented 3 years ago

Appears to be an issue with duplicate close in westworld3.listenerConn.rxQueue:

[  43.189]   DEBUG foundation/channel2.(*channelImpl).rxer [ch{l/Kl4J}->u{classic}->i{25M2}]: EOF
[  43.189]   DEBUG foundation/channel2.(*channelImpl).Close [ch{l/Kl4J}->u{classic}->i{25M2}]: closing channel
[  43.189]    INFO fabric/router/handler_link.(*closeHandler).HandleClose [ch{l/Kl4J}->u{classic}->i{25M2}]: link closed
[  43.189]   ERROR fabric/router/handler_link.(*closeHandler).HandleClose [ch{l/Kl4J}->u{classic}->i{25M2}]: transmitted link fault
[  43.189] WARNING dilithium/protocol/westworld3.(*listenerConn).Close: close requested
[  43.189]   DEBUG foundation/channel2.(*channelImpl).rxer [ch{l/Kl4J}->u{classic}->i{25M2}]: exited
[  43.189]    INFO dilithium/protocol/westworld3.(*closer).run: got tx close seq: 16
[  43.189]    INFO dilithium/protocol/westworld3.(*txPortal).keepaliveSender: exited
[  43.189]   DEBUG foundation/channel2.(*channelImpl).txer [ch{l/Kl4J}->u{classic}->i{25M2}]: exited
[  43.189]    INFO dilithium/protocol/westworld3.(*listener).hello.func1: removed peer [45.17.199.35:54686]
[  43.189] WARNING dilithium/protocol/westworld3.(*rxPortal).run: exited
[  43.189] WARNING dilithium/protocol/westworld3.(*listenerConn).rxer: exited
[  43.192]    INFO dilithium/protocol/westworld3.(*metricsInstrumentInstance).Closed: closing snapshotter
[  43.192] WARNING dilithium/protocol/westworld3.(*retxMonitor).run: exited
[  43.241]    INFO dilithium/protocol/westworld3.(*metricsInstrumentInstance).snapshotter: exited
[  43.608]   DEBUG foundation/channel2.(*classicListener).receiveHello [u{classic}->i{231o}]: started
[  44.319]   DEBUG foundation/channel2.(*classicListener).receiveHello [u{classic}->i{231o}]: exited
[  44.319]   ERROR foundation/channel2.(*classicListener).listener [tls:0.0.0.0:443]: error receiving hello from [tls:132.147.82.220:53762] (receive error (EOF))
[  45.295]   DEBUG foundation/channel2.(*classicListener).receiveHello [u{classic}->i{0kz2}]: started
[  45.503]   DEBUG foundation/channel2.(*classicListener).receiveHello [u{classic}->i{0kz2}]: exited
[  45.503]   ERROR foundation/channel2.(*classicListener).listener [tls:0.0.0.0:443]: error receiving hello from [tls:200.192.106.16:20286] (receive error (EOF))
[  50.279]   DEBUG foundation/metrics.ProbeLatency [ch{l/Kl4J}->u{classic}->i{oRM0}]: exited
[  50.281]   DEBUG foundation/metrics.ProbeLatency [ch{l/Kl4J}->u{classic}->i{25M2}]: exited
[  57.297]   DEBUG foundation/channel2.(*classicListener).receiveHello [u{classic}->i{owZ0}]: started
[  57.552]   DEBUG foundation/channel2.(*classicListener).receiveHello [u{classic}->i{owZ0}]: exited
[  57.552]   ERROR foundation/channel2.(*classicListener).listener [tls:0.0.0.0:443]: error receiving hello from [tls:199.73.81.4:44840] (receive error (EOF))
[  58.092]    INFO dilithium/protocol/westworld3.(*closer).run: ready to close
[  58.093]    INFO runtime.gopanic: exited
panic: close of closed channel
goroutine 157 [running]:
github.com/openziti/dilithium/protocol/westworld3.newListenerConn.func1()
    /home/runner/go/pkg/mod/github.com/openziti/dilithium@v0.3.3/protocol/westworld3/listenerconn.go:51 +0x56
github.com/openziti/dilithium/protocol/westworld3.(*closer).run(0xc0006f0b40)
    /home/runner/go/pkg/mod/github.com/openziti/dilithium@v0.3.3/protocol/westworld3/closer.go:108 +0x442
created by github.com/openziti/dilithium/protocol/westworld3.(*listenerConn).hello
    /home/runner/go/pkg/mod/github.com/openziti/dilithium@v0.3.3/protocol/westworld3/listenerconn.go:223 +0x60e