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

regexp: "go test -race -run=OnePass -v ." fails on windows #8216

Closed
alexbrainman opened this issue Jun 16, 2014 · 6 comments
Closed

regexp: "go test -race -run=OnePass -v ." fails on windows #8216

alexbrainman opened this issue Jun 16, 2014 · 6 comments

Comments

@alexbrainman
Copy link
Member

c:\go\root\src\pkg\regexp>go test -race -run=OnePass -v .
=== RUN TestOnePassCutoff
==7508==ERROR: Failed to allocate 0x24b80000 (616038400) bytes at 0x03028e000000 (1455)
runtime: newstack framesize=0x0 argsize=0x18 sp=0x29cf098 stack=[0xc085fb6000,
0xc085ff5fa8]
        morebuf={pc:0x0 sp:0x0 lr:0x0}
        sched={pc:0x410430 sp:0x29cf0a0 lr:0x0 ctxt:0x0}
runtime: split stack overflow: 0x29cf098 < 0xc085fb6000
fatal error: runtime: split stack overflow

runtime stack:
runtime.throw(0x78ee0b)
        c:/go/root/src/pkg/runtime/panic.c:520 +0x7e
runtime.newstack()
        c:/go/root/src/pkg/runtime/stack.c:725 +0x2e3
runtime.morestack()
        c:/go/root/src/pkg/runtime/asm_amd64.s:228 +0x64

goroutine 20 [stack growth]:
runtime.sighandler(0x29cfd50, 0x29cf860, 0xc0820127e0)
        c:/go/root/src/pkg/runtime/os_windows_amd64.c:41 fp=0x29cf0a8 sp=0x29cf0a0
----- exception handler -----
runtime: unexpected return pc for runtime.asmcgocall called from 0x41235200000009
runtime.asmcgocall(0x412352000000c0, 0x40fa6f00000000)
        c:/go/root/src/pkg/runtime/asm_amd64.s:705 +0x64 fp=0x29cfa14 sp=0x29cfa0c
created by testing.RunTests
        c:/go/root/src/pkg/testing/testing.go:504 +0xb4d

goroutine 16 [chan receive]:
testing.RunTests(0x6d3c08, 0x78dca0, 0x23, 0x23, 0x460801)
        c:/go/root/src/pkg/testing/testing.go:505 +0xbbf
testing.Main(0x6d3c08, 0x78dca0, 0x23, 0x23, 0x78e000, 0x23, 0x23, 0x78c520, 0xb, 0xb)
        c:/go/root/src/pkg/testing/testing.go:435 +0xaa
main.main()
        regexp/_test/_testmain.go:209 +0xe4

goroutine 17 [syscall]:
runtime.goexit()
        c:/go/root/src/pkg/runtime/proc.c:1445

goroutine 19 [finalizer wait]:
runtime.park(0x415a60, 0x7cd7d0, 0x790749)
        c:/go/root/src/pkg/runtime/proc.c:1369 +0xac
runtime.parkunlock(0x7cd7d0, 0x790749)
        c:/go/root/src/pkg/runtime/proc.c:1385 +0x42
runfinq()
        c:/go/root/src/pkg/runtime/mgc0.c:2644 +0xdd
runtime.goexit()
        c:/go/root/src/pkg/runtime/proc.c:1445
exit status 2
FAIL    regexp  17.503s

hg id is 7d2e78c502ab

Alex
@dvyukov
Copy link
Member

dvyukov commented Jun 18, 2014

Comment 1:

It looks like that machine just don't have enough memory.
The program tries to allocate 150MB object, this causes additional allocation of 600MB
shadow object, and the OS says:
ERROR_COMMITMENT_LIMIT 1455 (0x5AF)
The paging file is too small for this operation to complete.
I think you just need to increase paging file size.

Owner changed to @dvyukov.

Status changed to Unfortunate.

@alexbrainman
Copy link
Member Author

Comment 2:

> ERROR_COMMITMENT_LIMIT 1455 (0x5AF)
> The paging file is too small for this operation to complete.
Can this be part of the error message? If not, perhaps, windows error number could be
made more prominent. At lease label it as "windows errno" or something. Thank you.
Alex

@dvyukov
Copy link
Member

dvyukov commented Jun 20, 2014

Comment 3:

I will look into improving the error message.
I am also not sure why it prints all these stacks, I would expect it to print the
message and die.

Status changed to Accepted.

@dvyukov
Copy link
Member

dvyukov commented Jun 20, 2014

Comment 4:

Labels changed: added release-go1.4.

@dvyukov
Copy link
Member

dvyukov commented Jun 28, 2014

Comment 5:

The race runtime now must say "(error code: 1455)"
That was done by somebody else, so I had not altered it.

Status changed to Fixed.

@alexbrainman
Copy link
Member Author

Comment 6:

It does indeed:
c:\go\root\src\pkg\regexp>go test -race -run=OnePass -v .
=== RUN TestOnePassCutoff
==7664==ERROR: ThreadSanitizer failed to allocate 0x000024b80000 (616038400) bytes at
0x03028e000000 (error code: 1455)
runtime: newstack framesize=0x0 argsize=0x18 sp=0x446f098 stack=[0xc085fb8000,
0xc085ff7fa8]
        morebuf={pc:0x0 sp:0x0 lr:0x0}
        sched={pc:0x4121f0 sp:0x446f0a0 lr:0x0 ctxt:0x0}
runtime: split stack overflow: 0x446f098 < 0xc085fb8000
fatal error: runtime: split stack overflow
runtime stack:
runtime.throw(0x1979deb)
        c:/go/root/src/pkg/runtime/panic.c:523 +0x8c
runtime.newstack()
        c:/go/root/src/pkg/runtime/stack.c:725 +0x35a
runtime.morestack()
        c:/go/root/src/pkg/runtime/asm_amd64.s:230 +0x64
goroutine 20 [stack growth]:
runtime.sighandler(0x446fd50, 0x446f860, 0xc0820127e0)
        c:/go/root/src/pkg/runtime/os_windows_amd64.c:41 fp=0x446f0a8 sp=0x446f0a0
----- exception handler -----
runtime: unexpected return pc for runtime.asmcgocall called from 0x41415200000009
runtime.asmcgocall(0x414152000000c0, 0x41181b00000000)
        c:/go/root/src/pkg/runtime/asm_amd64.s:715 +0x6b fp=0x446fa14 sp=0x446fa0c
created by testing.RunTests
        c:/go/root/src/pkg/testing/testing.go:509 +0xb4d
goroutine 16 [chan receive]:
testing.RunTests(0x18bbe58, 0x1978c80, 0x23, 0x23, 0x462701)
        c:/go/root/src/pkg/testing/testing.go:510 +0xbbf
testing.Main(0x18bbe58, 0x1978c80, 0x23, 0x23, 0x1978fe0, 0x23, 0x23, 0x1977500, 0xb,
0xb)
        c:/go/root/src/pkg/testing/testing.go:440 +0xaa
main.main()
        regexp/_test/_testmain.go:209 +0xe4
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
        c:/go/root/src/pkg/runtime/proc.c:1449
goroutine 19 [finalizer wait]:
runtime.park(0x417ad0, 0x22a90f0, 0x197b729)
        c:/go/root/src/pkg/runtime/proc.c:1373 +0xba
runtime.parkunlock(0x22a90f0, 0x197b729)
        c:/go/root/src/pkg/runtime/proc.c:1389 +0x42
runfinq()
        c:/go/root/src/pkg/runtime/mgc0.c:2615 +0xdd
runtime.goexit()
        c:/go/root/src/pkg/runtime/proc.c:1449
exit status 2
FAIL    regexp  21.205s
Thank you.
Alex

@rsc rsc added this to the Go1.4 milestone Apr 14, 2015
@rsc rsc removed the release-go1.4 label Apr 14, 2015
@golang golang locked and limited conversation to collaborators Jun 25, 2016
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants