Closed xiam closed 11 years ago
There is a race condition with go1.1.2 and redis-server 2.6.16.
Sometimes go test hungs or fails with a SIGSEGV. Session log below.
go test
SIGSEGV: segmentation violation PC=0x1000 signal arrived during cgo execution menteslibres.net/gosexy/redis._Cfunc_redisGoroutineReadEvent(0x7fd4dc000990) menteslibres.net/gosexy/redis/_test/_cgo_defun.c:187 +0x2f menteslibres.net/gosexy/redis.func·002() menteslibres.net/gosexy/redis/_test/_cgo_gotypes.go:418 +0x27 menteslibres.net/gosexy/redis.(*pollServer).Run(0xc2000840e0) /home/reventlov/go/src/menteslibres.net/gosexy/redis/fd.go:123 +0x1ea created by menteslibres.net/gosexy/redis.newPollServer /home/reventlov/go/src/menteslibres.net/gosexy/redis/newpollserver.go:31 +0xcf goroutine 1 [chan receive]: testing.RunTests(0x589868, 0x83d540, 0x1e, 0x1e, 0x43ac01, ...) /usr/local/go/src/pkg/testing/testing.go:434 +0x88e testing.Main(0x589868, 0x83d540, 0x1e, 0x1e, 0x83b6a0, ...) /usr/local/go/src/pkg/testing/testing.go:365 +0x8a main.main() menteslibres.net/gosexy/redis/_test/_testmain.go:117 +0x9a goroutine 2 [syscall]: goroutine 22 [syscall]: menteslibres.net/gosexy/redis._Cfunc_redisConnectNonBlock(0x7fd4dc0008c0, 0x18eb, 0x7fd4dc0008c0) menteslibres.net/gosexy/redis/_test/_cgo_defun.c:115 +0x2f menteslibres.net/gosexy/redis.(*Client).ConnectNonBlock(0xc2000b8c20, 0x55cbd0, 0x4, 0x5065e0, 0xc2000ade00, ...) menteslibres.net/gosexy/redis/_test/_cgo_gotypes.go:537 +0x4d menteslibres.net/gosexy/redis.TestPSubscriptions(0xc20008cd80) /home/reventlov/go/src/menteslibres.net/gosexy/redis/main_test.go:1095 +0x8a testing.tRunner(0xc20008cd80, 0x83d6c0) /usr/local/go/src/pkg/testing/testing.go:353 +0x8a created by testing.RunTests /usr/local/go/src/pkg/testing/testing.go:433 +0x86b rax 0x1000 rbx 0x7fd4dc000d30 rcx 0x7fd4d8000028 rdx 0x7fd4fa5ed060 rdi 0x7fd4dc000d30 rsi 0x7fd4d80008e0 rbp 0x7fd4dc000e28 rsp 0x7fd4e95d7d48 r8 0x0 r9 0x3a r10 0x50 r11 0x7fd4f9f71f80 r12 0x7fd4dc000c10 r13 0x7fd4d8000aa8 r14 0x7fd4d8000a40 r15 0x7fd4d80008e0 rip 0x1000 rflags 0x10206 cs 0x33 fs 0x0 gs 0x0 exit status 2 FAIL menteslibres.net/gosexy/redis 0.057s
Happened due to SUBSCRIBE and PSUBSCRIBE tests using non-blocking connections. Fixed.
https://github.com/gosexy/redis/commit/cccd90c38c9dc6bb9038459ab6da0e15b4c52a8f
There is a race condition with go1.1.2 and redis-server 2.6.16.
Sometimes
go test
hungs or fails with a SIGSEGV. Session log below.