jolestar/go-commons-pool

unit test failed on respberry, 32bit ARM, linux system

ludanfeng opened this issue · 3 comments

--- FAIL: TestBaseInvalidateObject (0.00s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x12208]

goroutine 27 [running]:
testing.tRunner.func1(0x24cce60)
/usr/local/go/src/testing/testing.go:792 +0x30c
panic(0x2f5e68, 0x59bfb0)
/usr/local/go/src/runtime/panic.go:513 +0x194
runtime/internal/atomic.goLoad64(0x250b7ac, 0x243ed44, 0x243ed4c)
/usr/local/go/src/runtime/internal/atomic/atomic_arm.go:124 +0x1c
github.com/jolestar/go-commons-pool/concurrent.(*TimeoutCond).HasWaiters(0x250b7a0, 0x344f10)
/home/pi/go/src/github.com/jolestar/go-commons-pool/concurrent/cond.go:42 +0x24
github.com/jolestar/go-commons-pool/collections.(*LinkedBlockingDeque).HasTakeWaiters(0x250b7e0, 0x2479100)
/home/pi/go/src/github.com/jolestar/go-commons-pool/collections/queue.go:441 +0x60
github.com/jolestar/go-commons-pool.(*ObjectPool).ensureIdle(0x249c720, 0x38dea0, 0x24160a8, 0x1, 0x2479000)
/home/pi/go/src/github.com/jolestar/go-commons-pool/pool.go:339 +0x124
github.com/jolestar/go-commons-pool.(*ObjectPool).InvalidateObject(0x249c720, 0x38dea0, 0x24160a8, 0x2ceac0, 0x251c8c8, 0x2ceac0, 0x251c8cc)
/home/pi/go/src/github.com/jolestar/go-commons-pool/pool.go:477 +0x118
github.com/jolestar/go-commons-pool.(*PoolTestSuite).TestBaseInvalidateObject(0x24ea040)
/home/pi/go/src/github.com/jolestar/go-commons-pool/pool_test.go:426 +0x234
reflect.Value.call(0x2510540, 0x24ee450, 0x13, 0x32da11, 0x4, 0x24fafac, 0x1, 0x1, 0x24faf78, 0xc, ...)
/usr/local/go/src/reflect/value.go:447 +0x368
reflect.Value.Call(0x2510540, 0x24ee450, 0x13, 0x24fafac, 0x1, 0x1, 0x2d1b6e3, 0x0, 0xb9930664)
/usr/local/go/src/reflect/value.go:308 +0x74
github.com/jolestar/go-commons-pool/vendor/github.com/stretchr/testify/suite.Run.func2(0x24cce60)
/home/pi/go/src/github.com/jolestar/go-commons-pool/vendor/github.com/stretchr/testify/suite/suite.go:95 +0x190
testing.tRunner(0x24cce60, 0x2511e80)
/usr/local/go/src/testing/testing.go:827 +0xac
created by testing.(*T).Run
/usr/local/go/src/testing/testing.go:878 +0x2b0
exit status 2
FAIL github.com/jolestar/go-commons-pool 0.073s

go test github.com/jolestar/go-commons-pool/concurrent
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x120a8]

goroutine 23 [running]:
runtime/internal/atomic.goXadd64(0x145310c, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/runtime/internal/atomic/atomic_arm.go:96 +0x1c
github.com/jolestar/go-commons-pool/concurrent.(*TimeoutCond).addWaiter(0x1453100)
/home/pi/go/src/github.com/jolestar/go-commons-pool/concurrent/cond.go:25 +0x34
github.com/jolestar/go-commons-pool/concurrent.(*TimeoutCond).Wait(0x1453100, 0x2d2690, 0x1454b00, 0x71a00)
/home/pi/go/src/github.com/jolestar/go-commons-pool/concurrent/cond.go:47 +0x24
github.com/jolestar/go-commons-pool/concurrent.(*LockTestObject).lockAndWaitWithTimeout(0x140c240, 0x498d0000, 0x71afd, 0x0)
/home/pi/go/src/github.com/jolestar/go-commons-pool/concurrent/cond_test.go:31 +0xc4
github.com/jolestar/go-commons-pool/concurrent.TestTimeoutCondWaitTimeoutNotify.func1(0x140c240, 0x77359400, 0x0, 0x1418e40, 0x14166f0)
/home/pi/go/src/github.com/jolestar/go-commons-pool/concurrent/cond_test.go:96 +0x5c
created by github.com/jolestar/go-commons-pool/concurrent.TestTimeoutCondWaitTimeoutNotify
/home/pi/go/src/github.com/jolestar/go-commons-pool/concurrent/cond_test.go:94 +0x1a0
FAIL github.com/jolestar/go-commons-pool/concurrent 0.034s

@ludanfeng How to reproduce this error?

@ludanfeng How to reproduce this error?

fixed in #42, refer to golang/go#23345

merged