Calling Close() twice on a SnowflakeConn causes a panic
In the Snowflake client, if SnowflakeConn.Close()
is called twice, you get the following panic:
panic: close of closed channel
goroutine 35 [running]:
gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2/client/lib.(*Peers).End(0xc0002e2c40)
gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2@v2.9.2/client/lib/peers.go:125 +0x3d
gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2/client/lib.(*SnowflakeConn).Close(0xc000181350)
gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2@v2.9.2/client/lib/snowflake.go:249 +0x10c
main.clientHandler({0xe01248, 0xc0003b05d0}, {0xe07e50, 0xc000410000}, 0x0)
lyrebird.go:177 +0x7f8
created by main.clientAcceptLoop in goroutine 26
lyrebird.go:119 +0x149
This is a problem with the IPtProxy integration, and with a potential integration with Lyrebird.
Edited by Cecylia Bocovich