Skip to content

Client fail occasionally with: fatal error: unlock of unlocked lock #71

Description

@dhschall
[36mINFO�[0m[0010] Invoked for 0 times                          
�[36mINFO�[0m[0010] Invoked for 4 times                          
�[36mINFO�[0m[0010] Invoked for 8 times                          
�[36mINFO�[0m[0010] Invoked for 12 times                         
fatal error: unlock of unlocked lock

runtime stack:
runtime.throw({0x919f3d?, 0xeb7ef29e0?})
	/usr/local/go/src/runtime/panic.go:992 +0x71
runtime.unlock2(0x0?)
	/usr/local/go/src/runtime/lock_futex.go:117 +0x8b
runtime.unlockWithRank(...)
	/usr/local/go/src/runtime/lockrank_off.go:31
runtime.unlock(...)
	/usr/local/go/src/runtime/lock_futex.go:111
runtime.selparkcommit(0xc0000021a0?, 0x400000002?)
	/usr/local/go/src/runtime/select.go:93 +0x5e
runtime.park_m(0xc0000021a0?)
	/usr/local/go/src/runtime/proc.go:3325 +0xa7
runtime.mcall()
	/usr/local/go/src/runtime/asm_amd64.s:425 +0x43

goroutine 1 [select]:
google.golang.org/grpc/internal/transport.(*Stream).waitOnHeader(0xc0004c8000)
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/internal/transport/transport.go:324 +0x7c
google.golang.org/grpc/internal/transport.(*Stream).RecvCompress(...)
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/internal/transport/transport.go:339
google.golang.org/grpc.(*csAttempt).recvMsg(0xc000477d40, {0x8b2f40?, 0xc0004bab00}, 0x7f408509a258?)
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/stream.go:986 +0xbe
google.golang.org/grpc.(*clientStream).RecvMsg.func1(0x0?)
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/stream.go:851 +0x25
google.golang.org/grpc.(*clientStream).withRetry(0xc0004afd40, 0xc0004ebba0, 0xc0004ebb70)
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/stream.go:715 +0x144
google.golang.org/grpc.(*clientStream).RecvMsg(0xc0004afd40, {0x8b2f40?, 0xc0004bab00?})
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/stream.go:850 +0x11f
google.golang.org/grpc.invoke({0x9ccf90?, 0xc000024058?}, {0x91bb2f?, 0x30?}, {0x8b3000, 0xc0004baac0}, {0x8b2f40, 0xc0004bab00}, 0x0?, {0x0, ...})
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/call.go:73 +0xd7
google.golang.org/grpc.(*ClientConn).Invoke(0x7f40add06108?, {0x9ccf90?, 0xc000024058?}, {0x91bb2f?, 0x0?}, {0x8b3000?, 0xc0004baac0?}, {0x8b2f40?, 0xc0004bab00?}, {0x0, ...})
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/call.go:37 +0x265
github.com/vhive-serverless/vSwarm-proto/proto/fibonacci.(*greeterClient).SayHello(0xc0002ccb20, {0x9ccf90, 0xc000024058}, 0xc0004ebdc8?, {0x0, 0x0, 0x0})
	/home/choi/go/pkg/mod/github.com/vhive-serverless/v!swarm-proto@v0.4.0/proto/fibonacci/fibonacci_grpc.pb.go:35 +0xce
github.com/vhive-serverless/vSwarm-proto/grpcclient.(*FibonacciClient).Request(0xc000069880, {0x9ccf90, 0xc000024058}, {{0x7ffd24424edf?, 0x1?}, {0x90c759?, 0xc000253c80?}})
	/home/choi/go/pkg/mod/github.com/vhive-serverless/v!swarm-proto@v0.4.0/grpcclient/fibonacci_client.go:47 +0xaa
main.invokeFunctionInstrumented({0x9ccf90?, 0xc000024058}, 0x14)
	/home/choi/vSwarm-u/tools/client/main.go:172 +0x150
main.main()
	/home/choi/vSwarm-u/tools/client/main.go:119 +0x6e5

goroutine 6 [select]:
google.golang.org/grpc.(*ccBalancerWrapper).watcher(0xc000069900)
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/balancer_conn_wrappers.go:112 +0x73
created by google.golang.org/grpc.newCCBalancerWrapper
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/balancer_conn_wrappers.go:73 +0x22a

goroutine 12 [IO wait]:
internal/poll.runtime_pollWait(0x7f4085077748, 0x72)
	/usr/local/go/src/runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc000092a00?, 0xc0002f0000?, 0x0)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000092a00, {0xc0002f0000, 0x8000, 0x8000})
	/usr/local/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000092a00, {0xc0002f0000?, 0x8e50e0?, 0x43a101?})
	/usr/local/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000010400, {0xc0002f0000?, 0x100c0004c6930?, 0x485000801?})
	/usr/local/go/src/net/net.go:183 +0x45
bufio.(*Reader).Read(0xc00006acc0, {0xc000020200, 0x9, 0xc0004716ec?})
	/usr/local/go/src/bufio/bufio.go:236 +0x1b4
io.ReadAtLeast({0x9c8c80, 0xc00006acc0}, {0xc000020200, 0x9, 0x9}, 0x9)
	/usr/local/go/src/io/io.go:331 +0x9a
io.ReadFull(...)
	/usr/local/go/src/io/io.go:350
golang.org/x/net/http2.readFrameHeader({0xc000020200?, 0x9?, 0xc000052d70?}, {0x9c8c80?, 0xc00006acc0?})
	/home/choi/go/pkg/mod/golang.org/x/net@v0.0.0-20220722155237-a158d28d115b/http2/frame.go:237 +0x6e
golang.org/x/net/http2.(*Framer).ReadFrame(0xc0000201c0)
	/home/choi/go/pkg/mod/golang.org/x/net@v0.0.0-20220722155237-a158d28d115b/http2/frame.go:498 +0x95
google.golang.org/grpc/internal/transport.(*http2Client).reader(0xc0000003c0)
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/internal/transport/http2_client.go:1516 +0x414
created by google.golang.org/grpc/internal/transport.newHTTP2Client
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/internal/transport/http2_client.go:369 +0x193f

goroutine 13 [runnable]:
runtime.Gosched(...)
	/usr/local/go/src/runtime/proc.go:317
google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc00006ad20)
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/internal/transport/controlbuf.go:571 +0x1f6
google.golang.org/grpc/internal/transport.newHTTP2Client.func3()
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/internal/transport/http2_client.go:419 +0x65
created by google.golang.org/grpc/internal/transport.newHTTP2Client
	/home/choi/go/pkg/mod/google.golang.org/grpc@v1.50.0/internal/transport/http2_client.go:417 +0x1f91

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions