[ https://issues.apache.org/jira/browse/THRIFT-3597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aki Sukegawa resolved THRIFT-3597. ---------------------------------- Resolution: Fixed Assignee: John Sirois Fix Version/s: 0.9.4 Committed, it's great, thanks for looking into it ! > `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 > Assignee: John Sirois > Fix For: 0.9.4 > > > 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)