Skip to content

crypto/tls: apparent deadlock in (*Conn).Handshake via TestHostnameInSNI on arm64 #43915

Description

@bcmills

2021-01-25T22:54:28-e6b6d10/android-arm64-corellium
2020-10-15T18:07:26-3c9488e/linux-arm64-aws

Details
panic: test timed out after 3m0s

goroutine 194 [running]:
testing.(*M).startAlarm.func1()
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/testing/testing.go:1701 +0xc0
created by time.goFunc
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/time/sleep.go:180 +0x38

goroutine 1 [chan receive, 2 minutes]:
testing.(*T).Run(0x40000f8780, 0x62e2ddffe4, 0x11, 0x62e31104f8, 0x600f5001)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/testing/testing.go:1240 +0x22c
testing.runTests.func1(0x4000001c80)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/testing/testing.go:1512 +0x6c
testing.tRunner(0x4000001c80, 0x40003fbc48)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/testing/testing.go:1194 +0xc4
testing.runTests(0x400000e4c8, 0x62e32b7580, 0x90, 0x90, 0xbffbf2115111fdbf, 0x29ead26018, 0x62e32bb7c0, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/testing/testing.go:1510 +0x27c
testing.(*M).Run(0x40000b8080, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/testing/testing.go:1418 +0x19c
crypto/tls.runMain(0x40000b8080, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/handshake_test.go:388 +0x508
crypto/tls.TestMain(0x40000b8080)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/handshake_test.go:334 +0x74
main.main()
	_testmain.go:339 +0x148

goroutine 6 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x70e714e8e8, 0x72, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/runtime/netpoll.go:222 +0x3c
internal/poll.(*pollDesc).wait(0x40000b8118, 0x72, 0x0, 0x0, 0x62e2ddc79d)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/internal/poll/fd_poll_runtime.go:87 +0x30
internal/poll.(*pollDesc).waitRead(...)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0x40000b8100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/internal/poll/fd_unix.go:401 +0x1a4
net.(*netFD).accept(0x40000b8100, 0x37e11d600, 0x0, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/net/fd_unix.go:172 +0x24
net.(*TCPListener).accept(0x400000e168, 0x400004dfa8, 0x1, 0x62e304583c)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/net/tcpsock_posix.go:139 +0x24
net.(*TCPListener).Accept(0x400000e168, 0x400004dfa8, 0x4000010138, 0x0, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/net/tcpsock.go:261 +0x50
crypto/tls.localServer(0x62e311b940, 0x400000e168)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/handshake_test.go:248 +0x54
created by crypto/tls.runMain
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/handshake_test.go:360 +0x204

goroutine 184 [semacquire, 2 minutes]:
internal/poll.runtime_Semacquire(0x4000495128)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/runtime/sema.go:61 +0x30
internal/poll.(*FD).Close(0x4000495100, 0x4000495100, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/internal/poll/fd_unix.go:115 +0x78
net.(*netFD).Close(0x4000495100, 0x0, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/net/fd_posix.go:37 +0x40
net.(*conn).Close(0x4000010130, 0x0, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/net/net.go:207 +0x4c
crypto/tls.TestHostnameInSNI(0x40000f8780)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/handshake_client_test.go:1401 +0x264
testing.tRunner(0x40000f8780, 0x62e31104f8)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/testing/testing.go:1194 +0xc4
created by testing.(*T).Run
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/testing/testing.go:1239 +0x210

goroutine 186 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x70e714e718, 0x72, 0xffffffffffffffff)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/runtime/netpoll.go:222 +0x3c
internal/poll.(*pollDesc).wait(0x4000495118, 0x72, 0x200, 0x205, 0xffffffffffffffff)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/internal/poll/fd_poll_runtime.go:87 +0x30
internal/poll.(*pollDesc).waitRead(...)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x4000495100, 0x4000224000, 0x205, 0x205, 0x0, 0x0, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/internal/poll/fd_unix.go:166 +0x178
net.(*netFD).Read(0x4000495100, 0x4000224000, 0x205, 0x205, 0xffffa4d318024b01, 0x62e2e53901, 0xffffffffff853301)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/net/fd_posix.go:55 +0x3c
net.(*conn).Read(0x4000010130, 0x4000224000, 0x205, 0x205, 0x0, 0x0, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/net/net.go:183 +0x68
crypto/tls.(*atLeastReader).Read(0x4000204810, 0x4000224000, 0x205, 0x205, 0x400003ec00, 0x62e30009b8, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/conn.go:776 +0x50
bytes.(*Buffer).ReadFrom(0x40000c9e78, 0x62e31176b8, 0x4000204810, 0x62e2ffe22c, 0x62e30c9f00, 0x62e3103060)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/bytes/buffer.go:204 +0x9c
crypto/tls.(*Conn).readFromUntil(0x40000c9c00, 0x62e3117918, 0x4000010130, 0x5, 0x4000010130, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/conn.go:798 +0xc8
crypto/tls.(*Conn).readRecordOrCCS(0x40000c9c00, 0x0, 0x100, 0x100)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/conn.go:605 +0xd0
crypto/tls.(*Conn).readRecord(...)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/conn.go:573
crypto/tls.(*Conn).readHandshake(0x40000c9c00, 0x40004c7216, 0x40004c7200, 0x100, 0x180)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/conn.go:1008 +0x40
crypto/tls.(*Conn).clientHandshake(0x40000c9c00, 0x0, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/handshake_client.go:171 +0x1d0
crypto/tls.(*Conn).Handshake(0x40000c9c00, 0x0, 0x0)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/conn.go:1391 +0xdc
crypto/tls.TestHostnameInSNI.func1(0x62e311e778, 0x4000010130, 0x62e2ddd2a8, 0x9)
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/handshake_client_test.go:1387 +0xe0
created by crypto/tls.TestHostnameInSNI
	/data/data/com.termux/files/home/tmpdir/workdir-host-android-arm64-corellium-android/go/src/crypto/tls/handshake_client_test.go:1386 +0xe0
FAIL	crypto/tls	180.053s

Possibly a duplicate of #38870; see also #39406. (CC @FiloSottile @katiehockman @rolandshoemaker)

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.arch-arm64

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions