all.bash failure on go1.6.2 runtime: failed to create new OS thread (have 6 already; errno=11) fatal error: newosproc

1,510 views
Skip to first unread message

Dan Kortschak

unread,
Apr 27, 2016, 9:41:02 PM4/27/16
to golang-dev
This morning I got the error below when building go1.6.2 (repeatably).
The complete output of all.bash is here

https://gist.github.com/kortschak/d5ffeb220ddbe90ec958b2a08f52b2c4

Relevant OS details:

$ uname -rpo
2.6.32-504.12.2.el6.x86_64 x86_64 GNU/Linux
$ /lib64/libc.so.6
GNU C Library stable release version 2.12, by Roland McGrath et al.
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.4.7 20120313 (Red Hat 4.4.7-9).
Compiled on a Linux 2.6.32 system on 2015-01-19.
Available extensions:
The C stubs add-on version 2.1.2.
crypt add-on version 2.1 by Michael Glad and others
GNU Libidn by Simon Josefsson
Native POSIX Threads Library by Ulrich Drepper et al
BIND-8.2.3-T5B
RT using linux kernel aio
libc ABIs: UNIQUE IFUNC


It appears to be golang#13968 since it is fixed by `ulimit -u 4096`.
Should a new bug be opened for this, at least to document the issue more
visibly or make the error a little more informative?


##### ../test
# go run run.go -- bigalg.go
exit status 2
# command-line-arguments
runtime: failed to create new OS thread (have 6 already; errno=11)
fatal error: newosproc

runtime stack:
runtime.throw(0x853780, 0x9)
/home/kortschak/go/src/runtime/panic.go:547 +0x90
runtime.newosproc(0xc82046e000, 0xc820089fc0)
/home/kortschak/go/src/runtime/os1_linux.go:149 +0x18c
runtime.newm(0x8c61c8, 0xc82001f500)
/home/kortschak/go/src/runtime/proc.go:1516 +0x135
runtime.startm(0xc82001f500, 0x100000001)
/home/kortschak/go/src/runtime/proc.go:1586 +0x122
runtime.wakep()
/home/kortschak/go/src/runtime/proc.go:1667 +0x59
runtime.resetspinning()
/home/kortschak/go/src/runtime/proc.go:1994 +0xcf
runtime.schedule()
/home/kortschak/go/src/runtime/proc.go:2082 +0x27b
runtime.park_m(0xc820000a80)
/home/kortschak/go/src/runtime/proc.go:2140 +0x18b
runtime.mcall(0x0)
/home/kortschak/go/src/runtime/asm_amd64.s:233 +0x5b

goroutine 1 [running]:
goroutine running on other thread; stack unavailable

FAIL bigalg.go 0.286s
runtime: failed to create new OS thread (have 85 already; errno=11)
fatal error: newosproc

runtime stack:
runtime.throw(0x596e90, 0x9)
/home/kortschak/go/src/runtime/panic.go:547 +0x90
runtime.newosproc(0xc820197c00, 0xc820947fc0)
/home/kortschak/go/src/runtime/os1_linux.go:149 +0x18c
runtime.newm(0x5d3dd8, 0x0)
/home/kortschak/go/src/runtime/proc.go:1516 +0x135
runtime.startTheWorldWithSema()
/home/kortschak/go/src/runtime/proc.go:1041 +0x206
runtime.systemstack(0xc82001aa00)
/home/kortschak/go/src/runtime/asm_amd64.s:291 +0x79
runtime.mstart()
/home/kortschak/go/src/runtime/proc.go:1051

goroutine 224 [running]:
runtime.systemstack_switch()
/home/kortschak/go/src/runtime/asm_amd64.s:245 fp=0xc8208aef00
sp=0xc8208aeef8
runtime.gcStart(0x0, 0x0)
/home/kortschak/go/src/runtime/mgc.go:1008 +0x31a fp=0xc8208aef28
sp=0xc8208aef00
runtime.mallocgc(0x20, 0x52a140, 0x1, 0xc820444f60)
/home/kortschak/go/src/runtime/malloc.go:744 +0x578 fp=0xc8208af000
sp=0xc8208aef28
runtime.newarray(0x52a140, 0x1b, 0xc820444f60)
/home/kortschak/go/src/runtime/malloc.go:798 +0xc9 fp=0xc8208af040
sp=0xc8208af000
runtime.makeslice(0x522040, 0x1b, 0x1b, 0x0, 0x0, 0x0)
/home/kortschak/go/src/runtime/slice.go:32 +0x165 fp=0xc8208af090
sp=0xc8208af040
syscall.ByteSliceFromString(0xc82000e020, 0x1a, 0x0, 0x0, 0x0, 0x0, 0x0)
/home/kortschak/go/src/syscall/syscall.go:53 +0x126 fp=0xc8208af118
sp=0xc8208af090
syscall.BytePtrFromString(0xc82000e020, 0x1a, 0xc820444f60, 0x0, 0x0)
/home/kortschak/go/src/syscall/syscall.go:69 +0x3b fp=0xc8208af158
sp=0xc8208af118
syscall.SlicePtrFromStrings(0xc820987080, 0x29, 0x29, 0x0, 0x0, 0x0,
0x0, 0x0)
/home/kortschak/go/src/syscall/exec_unix.go:87 +0xd6 fp=0xc8208af1c0
sp=0xc8208af158
syscall.forkExec(0xc8201bfde0, 0x19, 0xc8204be5b0, 0x7, 0x7,
0xc8208af410, 0xc8205912b0, 0x0, 0x0)
/home/kortschak/go/src/syscall/exec_unix.go:158 +0x1d0 fp=0xc8208af2e0
sp=0xc8208af1c0
syscall.StartProcess(0xc8201bfde0, 0x19, 0xc8204be5b0, 0x7, 0x7,
0xc8208af410, 0x2, 0x4, 0x0, 0x0)
/home/kortschak/go/src/syscall/exec_unix.go:240 +0x6b fp=0xc8208af330
sp=0xc8208af2e0
os.startProcess(0xc8201bfde0, 0x19, 0xc8204be5b0, 0x7, 0x7,
0xc8208af648, 0x581f40, 0x0, 0x0)
/home/kortschak/go/src/os/exec_posix.go:45 +0x33e fp=0xc8208af460
sp=0xc8208af330
os.StartProcess(0xc8201bfde0, 0x19, 0xc8204be5b0, 0x7, 0x7,
0xc8208af648, 0x0, 0x0, 0x0)
/home/kortschak/go/src/os/doc.go:28 +0x69 fp=0xc8208af4b0
sp=0xc8208af460
os/exec.(*Cmd).Start(0xc82032c8c0, 0x0, 0x0)
/home/kortschak/go/src/os/exec/exec.go:332 +0x761 fp=0xc8208af698
sp=0xc8208af4b0
os/exec.(*Cmd).Run(0xc82032c8c0, 0x0, 0x0)
/home/kortschak/go/src/os/exec/exec.go:259 +0x2d fp=0xc8208af6c8
sp=0xc8208af698
main.(*test).run.func2(0xc820900300, 0x7, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0)
/home/kortschak/go/test/run.go:520 +0x28c fp=0xc8208af7e0
sp=0xc8208af6c8
main.(*test).run(0xc8204701c0)
/home/kortschak/go/test/run.go:537 +0x3b60 fp=0xc8208aff78
sp=0xc8208af7e0
main.runTests.func1(0xc8204701c0)
/home/kortschak/go/test/run.go:275 +0x21 fp=0xc8208aff98
sp=0xc8208aff78
runtime.goexit()
/home/kortschak/go/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc8208affa0
sp=0xc8208aff98
created by main.runTests
/home/kortschak/go/test/run.go:277 +0x93



Ian Lance Taylor

unread,
Apr 28, 2016, 12:10:55 AM4/28/16
to Dan Kortschak, golang-dev
On Wed, Apr 27, 2016 at 6:40 PM, Dan Kortschak
<dan.ko...@adelaide.edu.au> wrote:
>
> It appears to be golang#13968 since it is fixed by `ulimit -u 4096`.
> Should a new bug be opened for this, at least to document the issue more
> visibly or make the error a little more informative?

Sure, open a new issue. We can do better with the error message here.

Ian
Reply all
Reply to author
Forward
0 new messages