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)

Reply via email to