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

runtime/race: race programs episodically crash #7008

Closed
dvyukov opened this issue Dec 23, 2013 · 2 comments
Closed

runtime/race: race programs episodically crash #7008

dvyukov opened this issue Dec 23, 2013 · 2 comments

Comments

@dvyukov
Copy link
Member

dvyukov commented Dec 23, 2013

This started around:
cmd/5g, cmd/5l, cmd/6g, cmd/6l, cmd/8g, cmd/8l, cmd/gc, runtime: generate pointer maps
by liveness analysis
and still happens. All crashes that I can find happen in the same place:

unexpected fault address 0x0
fatal error: fault
[signal 0xb code=0x80 addr=0x0 pc=0x455c15]
goroutine 36 [running]:
runtime.throw(0x8d9ff7)
    /usr/local/go/src/pkg/runtime/panic.c:462 +0x69 fp=0x7fc2819a77e0
runtime.sigpanic()
    /usr/local/go/src/pkg/runtime/os_linux.c:237 +0xe9 fp=0x7fc2819a77f8
database/sql.(*fakeDB).columnType(0xc21004e480, 0x603757, 0x2, 0x60375a, 0x4, ...)
    /usr/local/go/src/pkg/database/sql/fakedb_test.go:213 +0x175 fp=0x7fc2819a7880

http://build.golang.org/log/4a28a87adb2d49ce1aed0af7211820b6677afa71
@dvyukov
Copy link
Member Author

dvyukov commented Dec 28, 2013

Comment 1:

Here is another one I hit locally:
unexpected fault address 0x0
fatal error: fault
[signal 0xb code=0x80 addr=0x0 pc=0x49ff8b]
goroutine 7 [running]:
runtime.throw(0x9bb577)
    src/pkg/runtime/panic.c:462 +0x69 fp=0x7fae16f2b900
runtime.sigpanic()
    src/pkg/runtime/os_linux.c:237 +0xe9 fp=0x7fae16f2b918
unicode/utf8.DecodeLastRuneInString(0x636e75616c202f2f, 0x40, 0x425c92, 0x41b573)
    src/pkg/unicode/utf8/utf8.go:282 +0x6b fp=0x7fae16f2b960
strings.LastIndexAny(0x636e75616c202f2f, 0x40, 0x6897e0, 0x3, 0x7fae16f2b9e8)
    src/pkg/strings/strings.go:230 +0x89 fp=0x7fae16f2b9b8
go/doc.synopsisFmt(0x636e75616c202f2f, 0x40, 0x0, 0x0)
    src/pkg/go/doc/doc_test.go:51 +0x84 fp=0x7fae16f2ba08
runtime.call32(0x710610, 0xc21015bf60)
    src/pkg/runtime/asm_amd64.s:339 +0x32 fp=0x7fae16f2ba30
reflect.Value.call(0x620660, 0x710610, 0x0, 0x130, 0x685200, ...)
    src/pkg/reflect/value.go:614 +0x1801 fp=0x7fae16f2bf40
----- stack segment boundary -----
reflect.Value.Call(0x620660, 0x710610, 0x0, 0x130, 0xc21015bf40, ...)
    src/pkg/reflect/value.go:451 +0xb3 fp=0x7fae16f2c130
text/template.(*state).evalCall(0xc2101a4a80, 0x5e69a0, 0xc2101be6e8, 0x0, 0x166, ...)
    src/pkg/text/template/exec.go:555 +0xaaf fp=0x7fae16f2c3c0
text/template.(*state).evalFunction(0xc2101a4a80, 0x5e69a0, 0xc2101be6e8, 0x0, 0x166,
...)
    src/pkg/text/template/exec.go:447 +0x30e fp=0x7fae16f2c530
text/template.(*state).evalCommand(0xc2101a4a80, 0x5e69a0, 0xc2101be6e8, 0x0, 0x166, ...)
    src/pkg/text/template/exec.go:351 +0x226 fp=0x7fae16f2c678
text/template.(*state).evalPipeline(0xc2101a4a80, 0x5e69a0, 0xc2101be6e8, 0x0, 0x166,
...)
    src/pkg/text/template/exec.go:324 +0x1cc fp=0x7fae16f2c7f8
text/template.(*state).walk(0xc2101a4a80, 0x5e69a0, 0xc2101be6e8, 0x0, 0x166, ...)
    src/pkg/text/template/exec.go:159 +0x175 fp=0x7fae16f2c950
text/template.(*state).walk(0xc2101a4a80, 0x5e69a0, 0xc2101be6e8, 0x0, 0x166, ...)
    src/pkg/text/template/exec.go:167 +0x927 fp=0x7fae16f2caa8
text/template.func·001(0x5f8fa0, 0x0, 0x0, 0x20, 0x5e69a0, ...)
    src/pkg/text/template/exec.go:249 +0x447 fp=0x7fae16f2cbb8
text/template.(*state).walkRange(0xc2101a4a80, 0x5e6ac0, 0xc2101a4a48, 0x0, 0x166, ...)
    src/pkg/text/template/exec.go:258 +0x50e fp=0x7fae16f2cdb8
text/template.(*state).walk(0xc2101a4a80, 0x5e6ac0, 0xc2101a4a48, 0x0, 0x166, ...)
    src/pkg/text/template/exec.go:170 +0x2ed fp=0x7fae16f2cf10
text/template.(*state).walk(0xc2101a4a80, 0x5e6ac0, 0xc2101a4a48, 0x0, 0x166, ...)
    src/pkg/text/template/exec.go:167 +0x927 fp=0x7fae16f2d068
text/template.func·001(0x5f8fa0, 0x0, 0x1, 0x20, 0x5e6ac0, ...)
    src/pkg/text/template/exec.go:249 +0x447 fp=0x7fae16f2d178
text/template.(*state).walkRange(0xc2101a4a80, 0x5ed540, 0xc21014ccd8, 0x0, 0x176, ...)
    src/pkg/text/template/exec.go:258 +0x50e fp=0x7fae16f2d378
text/template.(*state).walk(0xc2101a4a80, 0x5ed540, 0xc21014ccd8, 0x0, 0x176, ...)
    src/pkg/text/template/exec.go:170 +0x2ed fp=0x7fae16f2d4d0
text/template.(*state).walk(0xc2101a4a80, 0x5ed540, 0xc21014ccd8, 0x0, 0x176, ...)
    src/pkg/text/template/exec.go:167 +0x927 fp=0x7fae16f2d628
text/template.(*state).walkIfOrWith(0xc2101a4a80, 0x13, 0x65da40, 0xc2101a2af0, 0x0, ...)
    src/pkg/text/template/exec.go:195 +0x277 fp=0x7fae16f2d708
text/template.(*state).walk(0xc2101a4a80, 0x65da40, 0xc2101a2af0, 0x0, 0x192, ...)
    src/pkg/text/template/exec.go:178 +0x796 fp=0x7fae16f2d860
text/template.(*state).walk(0xc2101a4a80, 0x65da40, 0xc2101a2af0, 0x0, 0x192, ...)
    src/pkg/text/template/exec.go:167 +0x927 fp=0x7fae16f2d9b8
text/template.(*Template).Execute(0xc21005c780, 0x7fae176da638, 0xc210176460, 0x65da40,
0xc2101a2af0, ...)
    src/pkg/text/template/exec.go:147 +0x504 fp=0x7fae16f2dbf0
go/doc.test(0xc2100703f0, 0x1)
    src/pkg/go/doc/doc_test.go:112 +0x7d1 fp=0x7fae16f2df28
go/doc.Test(0xc2100703f0)
    src/pkg/go/doc/doc_test.go:144 +0x55 fp=0x7fae16f2df40
testing.tRunner(0xc2100703f0, 0x9b9a48)
    src/pkg/testing/testing.go:391 +0x110 fp=0x7fae16f2df90
runtime.goexit()
    src/pkg/runtime/proc.c:1395 fp=0x7fae16f2df98
created by testing.RunTests
    src/pkg/testing/testing.go:471 +0xb98
goroutine 1 [chan receive]:
runtime.park(0x40adc0, 0xc2100a9110, 0x9bb30d)
    src/pkg/runtime/proc.c:1343 +0x66
runtime.chanrecv(0x5f0a20, 0xc2100a90c0, 0x7fae16f13cc0, 0x0, 0x0)
    src/pkg/runtime/chan.c:354 +0x56a
runtime.chanrecv1(0x5f0a20, 0xc2100a90c0, 0xc2100a90c0, 0x2)
    src/pkg/runtime/chan.c:446 +0x38
testing.RunTests(0x710650, 0x9b9a00, 0x6, 0x6, 0x426d01)
    src/pkg/testing/testing.go:472 +0xbe5
testing.Main(0x710650, 0x9b9a00, 0x6, 0x6, 0x9d0f20, ...)
    src/pkg/testing/testing.go:403 +0xae
main.main()
    /tmp/go-build496672830/go/doc/_test/_testmain.go:59 +0xdd
runtime.main()
    src/pkg/runtime/proc.c:221 +0x11f
runtime.goexit()
    src/pkg/runtime/proc.c:1395
goroutine 2 [syscall]:
runtime.notetsleepg(0x7fae16f31f60, 0xdf8475800)
    src/pkg/runtime/lock_futex.c:190 +0x46
runtime.MHeap_Scavenger()
    src/pkg/runtime/mheap.c:463 +0xa3
runtime.goexit()
    src/pkg/runtime/proc.c:1395
created by runtime.main
    src/pkg/runtime/proc.c:180
FAIL    go/doc  0.207s

@dvyukov
Copy link
Member Author

dvyukov commented Jan 15, 2014

Comment 2:

Status changed to Duplicate.

Merged into issue #6928.

@rsc rsc added this to the Go1.3 milestone Apr 14, 2015
@rsc rsc removed the release-go1.3 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

3 participants