Skip to content

runtime: heapBitsForSpan: base out of range #20259

Closed
@karalabe

Description

@karalabe

We've received another crash report on android/arm (ARMv7) with Go 1.8.1 around memory allocations: ethereum/go-ethereum#14422.

The report claims that it was a one off event and couldn't reproduce it, so we can't really tell much more about it than the crash log. The crash part of the dump is below, but you can look ad the linked issue for the full version.

E/Go: fatal error: heapBitsForSpan: base out of range
E/Go: runtime stack:
E/Go: runtime.throw(0x9f0a62d5, 0x22)
E/Go: 	/home/travis/build/ethereum/go-ethereum/go/src/runtime/panic.go:596 +0x78
E/Go: runtime.heapBitsForSpan(0x93fd0000, 0x1, 0x16)
E/Go: 	/home/travis/build/ethereum/go-ethereum/go/src/runtime/mbitmap.go:377 +0x84
E/Go: runtime.(*mcentral).grow(0x9f92fc08, 0x0)
E/Go: 	/home/travis/build/ethereum/go-ethereum/go/src/runtime/mcentral.go:220 +0xc0
E/Go: runtime.(*mcentral).cacheSpan(0x9f92fc08, 0xf0)
E/Go: 	/home/travis/build/ethereum/go-ethereum/go/src/runtime/mcentral.go:93 +0x10c
E/Go: runtime.(*mcache).refill(0x7e4484b0, 0x16, 0x744)
E/Go: 	/home/travis/build/ethereum/go-ethereum/go/src/runtime/mcache.go:122 +0x84
E/Go: runtime.(*mcache).nextFree.func1()
E/Go: 	/home/travis/build/ethereum/go-ethereum/go/src/runtime/malloc.go:526 +0x24
E/Go: runtime.systemstack(0x8e698a80)
E/Go: 	/home/travis/build/ethereum/go-ethereum/go/src/runtime/asm_arm.s:264 +0x8c
E/Go: runtime.mstart()
E/Go: 	/home/travis/build/ethereum/go-ethereum/go/src/runtime/proc.go:1132
E/Go: goroutine 26327 [running]:
E/Go: runtime.systemstack_switch()
E/Go: 	/home/travis/build/ethereum/go-ethereum/go/src/runtime/asm_arm.s:209 +0x4 fp=0x98a02bb8 sp=0x98a02bb4
E/Go: runtime.(*mcache).nextFree(0x7e4484b0, 0x16, 0x0, 0x9ed7102c, 0x0)
E/Go: 	/home/travis/build/ethereum/go-ethereum/go/src/runtime/malloc.go:527 +0xa0 fp=0x98a02be4 sp=0x98a02bb8
E/Go: runtime.mallocgc(0x1a0, 0x9f4abc98, 0x9e90ed01, 0x93449a00)
E/Go: 	/home/travis/build/ethereum/go-ethereum/go/src/runtime/malloc.go:679 +0x918 fp=0x98a02c3c sp=0x98a02be4
E/Go: runtime.newobject(0x9f4abc98, 0x93449a00)
E/Go: 	/home/travis/build/ethereum/go-ethereum/go/src/runtime/malloc.go:808 +0x2c fp=0x98a02c50 sp=0x98a02c3c
E/Go: github.com/ethereum/go-ethereum/consensus/clique.sigHash(0x8fad6200, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
E/Go: 	/home/travis/go/src/github.com/ethereum/go-ethereum/consensus/clique/clique.go:141 +0x50 fp=0x98a02c9c sp=0x98a02c50
E/Go: github.com/ethereum/go-ethereum/consensus/clique.ecrecover(0x8fad6200, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd59502e1, 0x67d94ad7)
E/Go: 	/home/travis/go/src/github.com/ethereum/go-ethereum/consensus/clique/clique.go:173 +0x9c fp=0x98a02d00 sp=0x98a02c9c
E/Go: github.com/ethereum/go-ethereum/consensus/clique.(*Clique).verifySeal(0x8ee910e0, 0x9f873ac8, 0x8ee91180, 0x8fad6200, 0x8f7ec000, 0x21e, 0x1580, 0xf4ccd9d, 0x6ddf6dff)
E/Go: 	/home/travis/go/src/github.com/ethereum/go-ethereum/consensus/clique/clique.go:467 +0x14c fp=0x98a02e14 sp=0x98a02d00
E/Go: github.com/ethereum/go-ethereum/consensus/clique.(*Clique).verifyCascadingFields(0x8ee910e0, 0x9f873ac8, 0x8ee91180, 0x8fad6200, 0x8f7ec000, 0x21e, 0x1580, 0x2, 0x0)
E/Go: 	/home/travis/go/src/github.com/ethereum/go-ethereum/consensus/clique/clique.go:354 +0x49c fp=0x98a02edc sp=0x98a02e14
E/Go: github.com/ethereum/go-ethereum/consensus/clique.(*Clique).verifyHeader(0x8ee910e0, 0x9f873ac8, 0x8ee91180, 0x8fad6200, 0x8f7ec000, 0x21e, 0x1580, 0x0, 0x0)
E/Go: 	/home/travis/go/src/github.com/ethereum/go-ethereum/consensus/clique/clique.go:311 +0x2fc fp=0x98a02f48 sp=0x98a02edc
E/Go: github.com/ethereum/go-ethereum/consensus/clique.(*Clique).VerifyHeaders.func1(0x8f7ec000, 0x800, 0x1580, 0x8ee910e0, 0x9f873ac8, 0x8ee91180, 0x94022d00, 0x94022d40)
E/Go: 	/home/travis/go/src/github.com/ethereum/go-ethereum/consensus/clique/clique.go:243 +0x70 fp=0x98a02fcc sp=0x98a02f48
E/Go: runtime.goexit()
E/Go: 	/home/travis/build/ethereum/go-ethereum/go/src/runtime/asm_arm.s:1017 +0x4 fp=0x98a02fcc sp=0x98a02fcc
E/Go: created by github.com/ethereum/go-ethereum/consensus/clique.(*Clique).VerifyHeaders
E/Go: 	/home/travis/go/src/github.com/ethereum/go-ethereum/consensus/clique/clique.go:251 +0xb4

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions