Skip to content

geth crashes while tracing a specific transaction #16426

Closed
@Har01d

Description

@Har01d

Hello,

There’s transaction 0x0c10fafe0cdbfff32abfe53d57ec861d09986cc1050c850481f79b1a862bb10a with many layers of calls (see https://etherscan.io/vmtrace?txhash=0x0c10fafe0cdbfff32abfe53d57ec861d09986cc1050c850481f79b1a862bb10a&type=parity), and when calling something like debug.traceTransaction("0x0c10fafe0cdbfff32abfe53d57ec861d09986cc1050c850481f79b1a862bb10a", {tracer: "callTracer"}), geth suddenly crashes.

System information

Geth version: geth 1.8.2 (with --syncmode full --gcmode archive flags)
OS & Version: Ubuntu

Backtrace

SIGABRT: abort
PC=0x7f440dd10428 m=34 sigcode=18446744073709551610
signal arrived during cgo execution

goroutine 6242 [syscall, locked to thread]:
runtime.cgocall(0xcf89a0, 0xc4ed87fe08, 0xf9ec98)
	/usr/lib/go-1.9/src/runtime/cgocall.go:132 +0xe4 fp=0xc4ed87fdc8 sp=0xc4ed87fd88 pc=0x416f04
github.com/ethereum/go-ethereum/vendor/gopkg.in/olebedev/go-duktape%2ev3._Cfunc_duk_json_encode(0x7f43a4005130, 0x7f43ffffffff, 0x0)
	github.com/ethereum/go-ethereum/vendor/gopkg.in/olebedev/go-duktape.v3/_obj/_cgo_gotypes.go:2104 +0x4e fp=0xc4ed87fe08 sp=0xc4ed87fdc8 pc=0xa8baae
github.com/ethereum/go-ethereum/vendor/gopkg.in/olebedev/go-duktape%2ev3.(*Context).JsonEncode.func1(0x7f43a4005130, 0xc4ffffffff, 0x7f4300000000)
	/build/ethereum-s2a8_D/ethereum-1.8.2+build12774+xenial/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/gopkg.in/olebedev/go-duktape.v3/api.go:749 +0x68 fp=0xc4ed87fe40 sp=0xc4ed87fe08 pc=0xa9cab8
github.com/ethereum/go-ethereum/vendor/gopkg.in/olebedev/go-duktape%2ev3.(*Context).JsonEncode(0xc4e463b478, 0xffffffffffffffff, 0xc4e463b478, 0x0)
	/build/ethereum-s2a8_D/ethereum-1.8.2+build12774+xenial/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/gopkg.in/olebedev/go-duktape.v3/api.go:749 +0x3b fp=0xc4ed87fe68 sp=0xc4ed87fe40 pc=0xa92f4b
github.com/ethereum/go-ethereum/eth/tracers.(*Tracer).call(0xc4c7e5aaa0, 0xf7bb8c, 0x6, 0xc4ed87ffe8, 0x2, 0x2, 0x0, 0x0, 0x0, 0x0, ...)
	/build/ethereum-s2a8_D/ethereum-1.8.2+build12774+xenial/build/_workspace/src/github.com/ethereum/go-ethereum/eth/tracers/tracer.go:485 +0x230 fp=0xc4ed87fed8 sp=0xc4ed87fe68 pc=0xaa7da0
github.com/ethereum/go-ethereum/eth/tracers.(*Tracer).GetResult(0xc4c7e5aaa0, 0x184cba0, 0xc4e13f8ea0, 0xc4e5266438, 0x0, 0x0)
	/build/ethereum-s2a8_D/ethereum-1.8.2+build12774+xenial/build/_workspace/src/github.com/ethereum/go-ethereum/eth/tracers/tracer.go:609 +0x522 fp=0xc4ed880078 sp=0xc4ed87fed8 pc=0xaa9332
github.com/ethereum/go-ethereum/eth.(*PrivateDebugAPI).traceTx(0xc43e0473d0, 0x1848140, 0xc4dcb39880, 0x184cba0, 0xc4e13f8ea0, 0x10068b0, 0x10068b8, 0xc4e492d540, 0xbd355efba711ec62, 0x3a367f8b73e249e, ...)
	/build/ethereum-s2a8_D/ethereum-1.8.2+build12774+xenial/build/_workspace/src/github.com/ethereum/go-ethereum/eth/api_tracer.go:606 +0x448 fp=0xc4ed885278 sp=0xc4ed880078 pc=0xaca928
github.com/ethereum/go-ethereum/eth.(*PrivateDebugAPI).TraceTransaction(0xc43e0473d0, 0x1848140, 0xc4dcb39880, 0xf3ffdb0cfefa100c, 0x1d86ec573de5bf2a, 0x4850c05c16c9809, 0xab12b861a9bf781, 0xc4dc5b8920, 0x0, 0x0, ...)
	/build/ethereum-s2a8_D/ethereum-1.8.2+build12774+xenial/build/_workspace/src/github.com/ethereum/go-ethereum/eth/api_tracer.go:549 +0x27b fp=0xc4ed8854a8 sp=0xc4ed885278 pc=0xaca37b
runtime.call128(0xc4ddf26270, 0xc440640298, 0xc44054f740, 0x4000000060)
	/usr/lib/go-1.9/src/runtime/asm_amd64.s:511 +0x52 fp=0xc4ed885538 sp=0xc4ed8854a8 pc=0x4705b2
reflect.Value.call(0xc44049d680, 0xc440640298, 0x13, 0xf79134, 0x4, 0xc44054f6e0, 0x4, 0x4, 0x0, 0xc44054f6e0, ...)
	/usr/lib/go-1.9/src/reflect/value.go:434 +0x905 fp=0xc4ed885810 sp=0xc4ed885538 pc=0x4d0fb5
reflect.Value.Call(0xc44049d680, 0xc440640298, 0x13, 0xc44054f6e0, 0x4, 0x4, 0x2, 0x2, 0x2)
	/usr/lib/go-1.9/src/reflect/value.go:302 +0xa4 fp=0xc4ed885878 sp=0xc4ed885810 pc=0x4d0594
github.com/ethereum/go-ethereum/rpc.(*Server).handle(0xc4405f9ca0, 0x1848140, 0xc4dcb39880, 0x184ce60, 0xc4dc5a58b0, 0xc44054f680, 0xc4dc5a5920, 0x0, 0xe34040)
	/build/ethereum-s2a8_D/ethereum-1.8.2+build12774+xenial/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/server.go:311 +0x6ce fp=0xc4ed885a20 sp=0xc4ed885878 pc=0x830ebe
github.com/ethereum/go-ethereum/rpc.(*Server).exec(0xc4405f9ca0, 0x1848140, 0xc4dcb39880, 0x184ce60, 0xc4dc5a58b0, 0xc44054f680)
	/build/ethereum-s2a8_D/ethereum-1.8.2+build12774+xenial/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/server.go:333 +0x1ba fp=0xc4ed885a90 sp=0xc4ed885a20 pc=0x831aba
github.com/ethereum/go-ethereum/rpc.(*Server).serveRequest(0xc4405f9ca0, 0x184ce60, 0xc4dc5a58b0, 0xf81d01, 0x1, 0x0, 0x0)


	/build/ethereum-s2a8_D/ethereum-1.8.2+build12774+xenial/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/server.go:194 +0x38f fp=0xc4ed885be0 sp=0xc4ed885a90 pc=0x82fa7f
github.com/ethereum/go-ethereum/rpc.(*Server).ServeSingleRequest(0xc4405f9ca0, 0x184ce60, 0xc4dc5a58b0, 0x1)
	/build/ethereum-s2a8_D/ethereum-1.8.2+build12774+xenial/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/server.go:225 +0x4e fp=0xc4ed885c28 sp=0xc4ed885be0 pc=0x83034e
github.com/ethereum/go-ethereum/rpc.(*Server).ServeHTTP(0xc4405f9ca0, 0x1846d80, 0xc4db6a4d20, 0xc4da301e00)
	/build/ethereum-s2a8_D/ethereum-1.8.2+build12774+xenial/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/http.go:176 +0x39d fp=0xc4ed885cb8 sp=0xc4ed885c28 pc=0x82971d
github.com/ethereum/go-ethereum/rpc.(*virtualHostHandler).ServeHTTP(0xc440646b20, 0x1846d80, 0xc4db6a4d20, 0xc4da301e00)
	/build/ethereum-s2a8_D/ethereum-1.8.2+build12774+xenial/build/_workspace/src/github.com/ethereum/go-ethereum/rpc/http.go:244 +0x14a fp=0xc4ed885d18 sp=0xc4ed885cb8 pc=0x829fca
net/http.serverHandler.ServeHTTP(0xc440656ea0, 0x1846d80, 0xc4db6a4d20, 0xc4da301e00)
	/usr/lib/go-1.9/src/net/http/server.go:2619 +0xb4 fp=0xc4ed885d48 sp=0xc4ed885d18 pc=0x7ee024
net/http.(*conn).serve(0xc4dc590b40, 0x1848140, 0xc4dcb39700)
	/usr/lib/go-1.9/src/net/http/server.go:1801 +0x71d fp=0xc4ed885fc8 sp=0xc4ed885d48 pc=0x7ea21d
runtime.goexit()
	/usr/lib/go-1.9/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc4ed885fd0 sp=0xc4ed885fc8 pc=0x472d01
created by net/http.(*Server).Serve
	/usr/lib/go-1.9/src/net/http/server.go:2720 +0x288

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions