-
Notifications
You must be signed in to change notification settings - Fork 95
Open
Labels
bugSomething isn't workingSomething isn't working
Description
I was having a wifi issue (my outline connection had stalled silently) where all my connection were hanging. When I tried to run essentially (simplified)
ssURL = "ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTprSzdEdHQ0MkJLOE9hRjBKYjdpWGFK@1.1.1.1:9953/?outline=1"
config, err := configurl.ParseConfig(ssURL)
ctx := context.Background()
streamDialer, err := providers.NewStreamDialer(ctx, config.URL.String())
testAddr := net.JoinHostPort("www.rferl.org", "443")
ctx, cancel := context.WithTimeout(ctx, f.TestTimeout)
defer cancel()
testConn, err := dialer.DialStream(ctx, testAddr)
(in reality I was calling
go run -C ./x/examples/smart-proxy/ . -v -localAddr=localhost:1080 --transport="" --domain www.rferl.org --config=/Users/2385180/Projects/outline-sdk/x/examples/smart-proxy/config_proxy_only.yaml
against 8149786 )
I got an unexpected segfault.
Expected
I should get a timeout error, or some kind of failure (the server doesn't exist anyway)
Actual
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x18 pc=0x1029bd890]
goroutine 41 [running]:
crypto/tls.(*Conn).handshakeContext.func2()
/usr/local/go/src/crypto/tls/conn.go:1547 +0xa0
created by crypto/tls.(*Conn).handshakeContext in goroutine 1
/usr/local/go/src/crypto/tls/conn.go:1543 +0x1e8
exit status 2
I'm not certain if it's an error in StreamDialer, or actually in the golang tls code.
I'm not going to look more into replicating this now, but maybe later.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working