Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

net/http: tests crash with nil derefs #9161

Closed
dvyukov opened this issue Nov 25, 2014 · 4 comments

Comments

Projects
None yet
5 participants
@dvyukov
Copy link
Member

commented Nov 25, 2014

I've stress tested net/http with -cpu=1,2,4,8,16,32,64,128 and some tests episodically
crash with the following reports. The reason seems to be simply that the tests do not
check errors. Here are the crashes:


--- FAIL: TestStressSurpriseServerCloses (62.49s)
    transport_test.go:513: presumed deadlock; no HTTP client activity seen in awhile
--- FAIL: TestRoundTripGzip (30.01s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
    panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x517173]
goroutine 27995 [running]:
runtime.gopanic(0x7ca9a0, 0xc20802c050)
    /ssd/src/go1/src/runtime/panic.go:429 +0x2ef fp=0xc208a47b78 sp=0xc208a47b10
testing.func·006()
    /ssd/src/go1/src/testing/testing.go:442 +0x181 fp=0xc208a47c08 sp=0xc208a47b78
runtime.call16(0xc208a47fa0, 0xc2081ce360, 0x0)
    /ssd/src/go1/src/runtime/asm_amd64.s:388 +0x45 fp=0xc208a47c20 sp=0xc208a47c08
runtime.gopanic(0x7ca9a0, 0xc20802c050)
    /ssd/src/go1/src/runtime/panic.go:391 +0x3f4 fp=0xc208a47c88 sp=0xc208a47c20
runtime.panicmem()
    /ssd/src/go1/src/runtime/panic.go:42 +0x4e fp=0xc208a47cb0 sp=0xc208a47c88
runtime.sigpanic()
    /ssd/src/go1/src/runtime/sigpanic_unix.go:24 +0x297 fp=0xc208a47cf0 sp=0xc208a47cb0
net/http_test.TestRoundTripGzip(0xc2084f6630)
    /ssd/src/go1/src/net/http/transport_test.go:636 +0x1173 fp=0xc208a47f78 sp=0xc208a47cf0
testing.tRunner(0xc2084f6630, 0xa59878)
    /ssd/src/go1/src/testing/testing.go:448 +0xbf fp=0xc208a47fd0 sp=0xc208a47f78
runtime.goexit()
    /ssd/src/go1/src/runtime/asm_amd64.s:2219 +0x1 fp=0xc208a47fd8 sp=0xc208a47fd0
created by testing.RunTests
    /ssd/src/go1/src/testing/testing.go:559 +0xa8b



--- FAIL: TestTimeoutHandler-16 (30.00s)
    serve_test.go:1186: Get http://127.0.0.1:56230: dial tcp 127.0.0.1:56230: i/o timeout
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
    panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x10 pc=0x4f6811]
goroutine 89024 [running]:
runtime.gopanic(0x7ca9a0, 0xc20802c050)
    /ssd/src/go1/src/runtime/panic.go:429 +0x2ef fp=0xc208857c20 sp=0xc208857bb8
testing.func·006()
    /ssd/src/go1/src/testing/testing.go:442 +0x181 fp=0xc208857cb0 sp=0xc208857c20
runtime.call16(0xc208857fa0, 0xc20897e150, 0x0)
    /ssd/src/go1/src/runtime/asm_amd64.s:388 +0x45 fp=0xc208857cc8 sp=0xc208857cb0
runtime.gopanic(0x7ca9a0, 0xc20802c050)
    /ssd/src/go1/src/runtime/panic.go:391 +0x3f4 fp=0xc208857d30 sp=0xc208857cc8
runtime.panicmem()
    /ssd/src/go1/src/runtime/panic.go:42 +0x4e fp=0xc208857d58 sp=0xc208857d30
runtime.sigpanic()
    /ssd/src/go1/src/runtime/sigpanic_unix.go:24 +0x297 fp=0xc208857d98 sp=0xc208857d58
net/http_test.TestTimeoutHandler(0xc208079d40)
    /ssd/src/go1/src/net/http/serve_test.go:1188 +0x381 fp=0xc208857f78 sp=0xc208857d98
testing.tRunner(0xc208079d40, 0xa59350)
    /ssd/src/go1/src/testing/testing.go:448 +0xbf fp=0xc208857fd0 sp=0xc208857f78
runtime.goexit()
    /ssd/src/go1/src/runtime/asm_amd64.s:2219 +0x1 fp=0xc208857fd8 sp=0xc208857fd0
created by testing.RunTests
    /ssd/src/go1/src/testing/testing.go:559 +0xa8b



--- FAIL: TestStressSurpriseServerCloses (66.64s)
    transport_test.go:513: presumed deadlock; no HTTP client activity seen in awhile
--- FAIL: TestRoundTripGzip (30.01s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
    panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x517173]
goroutine 28912 [running]:
runtime.gopanic(0x7ca9a0, 0xc20802c050)
    /ssd/src/go1/src/runtime/panic.go:429 +0x2ef fp=0xc2088f1b78 sp=0xc2088f1b10
testing.func·006()
    /ssd/src/go1/src/testing/testing.go:442 +0x181 fp=0xc2088f1c08 sp=0xc2088f1b78
runtime.call16(0xc2088f1fa0, 0xc2084f0390, 0x0)
    /ssd/src/go1/src/runtime/asm_amd64.s:388 +0x45 fp=0xc2088f1c20 sp=0xc2088f1c08
runtime.gopanic(0x7ca9a0, 0xc20802c050)
    /ssd/src/go1/src/runtime/panic.go:391 +0x3f4 fp=0xc2088f1c88 sp=0xc2088f1c20
runtime.panicmem()
    /ssd/src/go1/src/runtime/panic.go:42 +0x4e fp=0xc2088f1cb0 sp=0xc2088f1c88
runtime.sigpanic()
    /ssd/src/go1/src/runtime/sigpanic_unix.go:24 +0x297 fp=0xc2088f1cf0 sp=0xc2088f1cb0
net/http_test.TestRoundTripGzip(0xc20893a630)
    /ssd/src/go1/src/net/http/transport_test.go:636 +0x1173 fp=0xc2088f1f78 sp=0xc2088f1cf0
testing.tRunner(0xc20893a630, 0xa59878)
    /ssd/src/go1/src/testing/testing.go:448 +0xbf fp=0xc2088f1fd0 sp=0xc2088f1f78
runtime.goexit()
    /ssd/src/go1/src/runtime/asm_amd64.s:2219 +0x1 fp=0xc2088f1fd8 sp=0xc2088f1fd0
created by testing.RunTests
    /ssd/src/go1/src/testing/testing.go:559 +0xa8b
@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Nov 25, 2014

Comment 1:

Labels changed: added repo-main, release-go1.5.

@dvyukov dvyukov added new labels Nov 25, 2014

@bradfitz bradfitz modified the milestone: Go1.5 Dec 16, 2014

@rsc rsc removed the repo-main label Apr 14, 2015

@bradfitz

This comment has been minimized.

Copy link
Member

commented Apr 21, 2015

@dvyukov, can you still reproduce? If so, can you include the Go revision you're at and new stacks, so I can line up files and line numbers to code?

@dvyukov

This comment has been minimized.

Copy link
Member Author

commented Apr 22, 2015

can't reproduce it anymore

@bradfitz

This comment has been minimized.

Copy link
Member

commented Apr 22, 2015

Thanks. Hopefully it was already fixed.

@bradfitz bradfitz closed this Apr 22, 2015

@golang golang locked and limited conversation to collaborators Jun 25, 2016

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.