NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-amd64/50730: Go test panics the kernel (kqueue related?)



>Number:         50730
>Category:       port-amd64
>Synopsis:       Go test panics the kernel (kqueue related?)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-amd64-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jan 30 17:10:01 +0000 2016
>Originator:     Benny Siegert
>Release:        NetBSD 7-amd64
>Organization:
The NetBSD Foundation
>Environment:
>Description:
This is from https://github.com/golang/go/issues/14127.

Running the TestRoundTripGzip from the net/http testsuite (in Go 1.6rc1) results in a kernel panic on amd64:

/netbsd: uvm_fault(0xfffffe8079bc8e80, 0x0, 1) -> e
netbsd-amd64 /netbsd: fatal page fault in supervisor mode
netbsd-amd64 /netbsd: trap type 6 code 0 rip ffffffff805bf9d5 cs 8 rflags 10246 cr2 18 ilevel 0 rsp fffffe80443f5c88
netbsd-amd64 /netbsd: curlwp 0xfffffe805bc46a80 pid 23983.2 lowest kstack 0xfffffe80443f32c0
netbsd-amd64 /netbsd: panic: trap
netbsd-amd64 /netbsd: cpu0: Begin traceback...
netbsd-amd64 /netbsd: vpanic() at netbsd:vpanic+0x13c
netbsd-amd64 /netbsd: snprintf() at netbsd:snprintf
netbsd-amd64 /netbsd: startlwp() at netbsd:startlwp
netbsd-amd64 /netbsd: alltraps() at netbsd:alltraps+0x96
netbsd-amd64 /netbsd: sys___kevent50() at netbsd:sys___kevent50+0x33
netbsd-amd64 /netbsd: syscall() at netbsd:syscall+0x9a
netbsd-amd64 /netbsd: --- syscall (number 435) ---
netbsd-amd64 /netbsd: 45f643:
netbsd-amd64 /netbsd: cpu0: End traceback...
netbsd-amd64 /netbsd: 
netbsd-amd64 /netbsd: dumping to dev 0,1 (offset=0, size=0): not possible
netbsd-amd64 /netbsd: rebooting...

That crash is in kqueue_scan().

This does not happen on my i386 test system.
>How-To-Repeat:
1. Install lang/go14 from pkgsrc.
2. Download and unpack https://github.com/golang/go/archive/go1.6rc1.tar.gz
3. cd go/src; env GOROOT_BOOTSTRAP=/usr/lang/go14
4. Add the bin dir to PATH.
5. cd net/http; go test -c
6. ./http.test -test.v -test.run=TestRoundTripGzip

Boom.
>Fix:



Home | Main Index | Thread Index | Old Index