John Sirois created THRIFT-3597:
-----------------------------------
Summary: `make check` hangs in go tests
Key: THRIFT-3597
URL: https://issues.apache.org/jira/browse/THRIFT-3597
Project: Thrift
Issue Type: Bug
Components: Go - Library
Reporter: John Sirois
I noticed this in other work and bisected to THRIFT-3251. Looks like:
{noformat}
git reset --hard f8ca05528e04a24b9f843c82c6600e4de5e42291
make check
...
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
/home/jsirois/.rvm/gems/ruby-2.1.4@global/bin/bundle exec
/home/jsirois/.rvm/rubies/ruby-2.1.4/bin/ruby -I. test_suite.rb
Loaded suite test_suite
Started
............
Finished in 0.001784889 seconds.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
12 tests, 25 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0
notifications
100% passed
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
6723.11 tests/s, 14006.47 assertions/s
make[2]: Leaving directory '/home/jsirois/dev/3rdparty/jsirois-thrift/test/rb'
Making check in go
make[2]: Entering directory '/home/jsirois/dev/3rdparty/jsirois-thrift/test/go'
Makefile:649: warning: overriding recipe for target 'check'
Makefile:498: warning: ignoring old recipe for target 'check'
mkdir -p src/gen
../../compiler/cpp/thrift -out src/gen --gen go:thrift_import=thrift
ThriftTest.thrift
[WARNING:/home/jsirois/dev/3rdparty/jsirois-thrift/test/go/ThriftTest.thrift:83]
The "byte" type is a compatibility alias for "i8". Use "i8" to emphasize the
signedness of this type.
[WARNING:/home/jsirois/dev/3rdparty/jsirois-thrift/test/go/ThriftTest.thrift:44]
No generator named 'noexist' could be found!
[WARNING:/home/jsirois/dev/3rdparty/jsirois-thrift/test/go/ThriftTest.thrift:46]
cpp generator does not accept 'noexist' as sub-namespace!
../../compiler/cpp/thrift -out src/gen --gen go:thrift_import=thrift
../StressTest.thrift
[WARNING:/home/jsirois/dev/3rdparty/jsirois-thrift/test/StressTest.thrift:27]
The "byte" type is a compatibility alias for "i8". Use "i8" to emphasize the
signedness of this type.
[WARNING:/home/jsirois/dev/3rdparty/jsirois-thrift/test/StressTest.thrift:31]
Consider using the more efficient "binary" type instead of "list<byte>".
[WARNING:/home/jsirois/dev/3rdparty/jsirois-thrift/test/StressTest.thrift:31]
Consider using the more efficient "binary" type instead of "list<byte>".
ln -nfs ../../../lib/go/thrift src/thrift
GOPATH=`pwd` /usr/bin/go get github.com/golang/mock/gomock
touch gopath
GOPATH=`pwd` /usr/bin/go test -v common/...
=== RUN TestAllConnection
SIGQUIT: quit
PC=0x45f9b9 m=0
goroutine 0 [idle]:
runtime.epollwait(0x4, 0x7fff2e2496b0, 0xffffffff00000080, 0x0, 0xffffffff,
0x0, 0x0, 0x0, 0x0, 0x0, ...)
/usr/lib/go/src/runtime/sys_linux_amd64.s:420 +0x19
runtime.netpoll(0xa93501, 0x0)
/usr/lib/go/src/runtime/netpoll_epoll.go:68 +0x94
runtime.findrunnable(0xc82001c000, 0x0)
/usr/lib/go/src/runtime/proc1.go:1520 +0x598
runtime.schedule()
/usr/lib/go/src/runtime/proc1.go:1647 +0x267
runtime.park_m(0xc820001680)
/usr/lib/go/src/runtime/proc1.go:1706 +0x18b
runtime.mcall(0x7fff2e249dc0)
/usr/lib/go/src/runtime/asm_amd64.s:204 +0x5b
goroutine 1 [chan receive]:
testing.RunTests(0x93d3c0, 0xa8a5b0, 0x1, 0x1, 0x1)
/usr/lib/go/src/testing/testing.go:562 +0x8ad
testing.(*M).Run(0xc820051ef8, 0x0)
/usr/lib/go/src/testing/testing.go:494 +0x70
main.main()
common/_test/_testmain.go:54 +0x116
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/usr/lib/go/src/runtime/asm_amd64.s:1721 +0x1
goroutine 5 [IO wait]:
net.runtime_pollWait(0x7f1b6ce4afa0, 0x72, 0xc820010250)
/usr/lib/go/src/runtime/netpoll.go:157 +0x60
net.(*pollDesc).Wait(0xc82005c370, 0x72, 0x0, 0x0)
/usr/lib/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82005c370, 0x0, 0x0)
/usr/lib/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).accept(0xc82005c310, 0x0, 0x7f1b6ce4b060, 0xc82000a9c0)
/usr/lib/go/src/net/fd_unix.go:408 +0x27c
net.(*TCPListener).AcceptTCP(0xc820030048, 0xffffffff, 0x0, 0x0)
/usr/lib/go/src/net/tcpsock_posix.go:254 +0x4d
net.(*TCPListener).Accept(0xc820030048, 0x0, 0x0, 0x0, 0x0)
/usr/lib/go/src/net/tcpsock_posix.go:264 +0x3d
thrift.(*TServerSocket).Accept(0xc820014640, 0x0, 0x0, 0x0, 0x0)
/home/jsirois/dev/3rdparty/jsirois-thrift/test/go/src/thrift/server_socket.go:73
+0x313
thrift.(*TSimpleServer).AcceptLoop(0xc82005c2a0, 0x0, 0x0)
/home/jsirois/dev/3rdparty/jsirois-thrift/test/go/src/thrift/simple_server.go:123
+0x4e
thrift.(*TSimpleServer).Serve(0xc82005c2a0, 0x0, 0x0)
/home/jsirois/dev/3rdparty/jsirois-thrift/test/go/src/thrift/simple_server.go:147
+0x64
common.doUnit(0xc820098120, 0xc820053e60)
/home/jsirois/dev/3rdparty/jsirois-thrift/test/go/src/common/clientserver_test.go:68
+0x6f0
common.TestAllConnection(0xc820098120)
/home/jsirois/dev/3rdparty/jsirois-thrift/test/go/src/common/clientserver_test.go:52
+0x1bc
testing.tRunner(0xc820098120, 0xa8a5b0)
/usr/lib/go/src/testing/testing.go:456 +0x98
created by testing.RunTests
/usr/lib/go/src/testing/testing.go:561 +0x86d
goroutine 6 [semacquire]:
net.runtime_Semacquire(0xc82005c318)
/usr/lib/go/src/runtime/sema.go:48 +0x26
net.(*fdMutex).RWLock(0xc82005c310, 0x1, 0x4b7554)
/usr/lib/go/src/net/fd_mutex.go:143 +0x16c
net.(*netFD).readLock(0xc82005c310, 0x0, 0x0)
/usr/lib/go/src/net/fd_unix.go:160 +0x39
net.(*netFD).accept(0xc82005c310, 0x0, 0x0, 0x0)
/usr/lib/go/src/net/fd_unix.go:389 +0x6c
net.(*TCPListener).AcceptTCP(0xc820030048, 0xffffffff, 0x0, 0x0)
/usr/lib/go/src/net/tcpsock_posix.go:254 +0x4d
net.(*TCPListener).Accept(0xc820030048, 0x0, 0x0, 0x0, 0x0)
/usr/lib/go/src/net/tcpsock_posix.go:264 +0x3d
thrift.(*TServerSocket).Accept(0xc820014640, 0x0, 0x0, 0x0, 0x0)
/home/jsirois/dev/3rdparty/jsirois-thrift/test/go/src/thrift/server_socket.go:73
+0x313
thrift.(*TSimpleServer).AcceptLoop(0xc82005c2a0, 0x0, 0x0)
/home/jsirois/dev/3rdparty/jsirois-thrift/test/go/src/thrift/simple_server.go:123
+0x4e
created by common.doUnit
/home/jsirois/dev/3rdparty/jsirois-thrift/test/go/src/common/clientserver_test.go:67
+0x6df
rax 0xfffffffffffffffc
rbx 0xffffffff
rcx 0x45f9b9
rdx 0x80
rdi 0x4
rsi 0x7fff2e2496b0
rbp 0xa93e00
rsp 0x7fff2e249670
r8 0xa93e00
r9 0x0
r10 0xffffffff
r11 0x246
r12 0x8
r13 0x93a7e4
r14 0x9
r15 0x8
rip 0x45f9b9
rflags 0x246
cs 0x33
fs 0x0
gs 0x0
*** Test killed with quit: ran too long (10m0s).
FAIL common 600.004s
Makefile:649: recipe for target 'check' failed
make[2]: *** [check] Error 1
make[2]: Leaving directory '/home/jsirois/dev/3rdparty/jsirois-thrift/test/go'
Makefile:593: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/home/jsirois/dev/3rdparty/jsirois-thrift/test'
Makefile:635: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1
{noformat}
A {{git reset --hard f8ca05528e04a24b9f843c82c6600e4de5e42291^}} restores a
passing make check.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)