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

Unrelated tests failing in geth CI #130

Closed
gballet opened this issue Nov 12, 2021 · 4 comments
Closed

Unrelated tests failing in geth CI #130

gballet opened this issue Nov 12, 2021 · 4 comments
Assignees
Labels
bug Something isn't working

Comments

@gballet
Copy link
Member

gballet commented Nov 12, 2021

See [this build failure]https://ci.appveyor.com/project/ethereum/go-ethereum/builds/41512143/job/ef4490waxtngwnpy)

For instance, we have the following issues:

--- FAIL: TestCheckpointRegister (0.01s)
panic: undefined value in witness [recovered]
	panic: undefined value in witness
goroutine 11 [running]:

Other tests point to an uninitialized AccessWitness

@gballet gballet added the bug Something isn't working label Nov 12, 2021
@gballet
Copy link
Member Author

gballet commented Nov 12, 2021

Note that the undefined value in witness panic is probably the wrong behavior, as some values are simply not present and so a proof of absence should be created for them.

@gballet
Copy link
Member Author

gballet commented Nov 17, 2021

A further crash:

--- FAIL: TestEIP2200 (0.00s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x55d737]
goroutine 1132 [running]:
testing.tRunner.func1.2({0x66e3a0, 0xa72d40})
	/home/appveyor/.cache/geth-go-1.17.2-linux-amd64/go/src/testing/testing.go:1209 +0x24e
testing.tRunner.func1()
	/home/appveyor/.cache/geth-go-1.17.2-linux-amd64/go/src/testing/testing.go:1212 +0x218
panic({0x66e3a0, 0xa72d40})
	/home/appveyor/.cache/geth-go-1.17.2-linux-amd64/go/src/runtime/panic.go:1038 +0x215
github.com/ethereum/go-ethereum/core/types.(*AccessWitness).TouchAddress(0x0, {0xc00044c160, 0x20, 0x20}, {0xc00044c120, 0x20, 0x20})
	/home/appveyor/projects/go-ethereum/core/types/access_witness.go:59 +0xb7
github.com/ethereum/go-ethereum/core/vm.(*EVM).Call(0xc00006f500, {0x706220, 0xc0000d3e00}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...}, ...)
	/home/appveyor/projects/go-ethereum/core/vm/evm.go:234 +0xbf9
github.com/ethereum/go-ethereum/core/vm.TestEIP2200(0xc00043f520)
	/home/appveyor/projects/go-ethereum/core/vm/gas_table_test.go:96 +0x4ba
testing.tRunner(0xc00043f520, 0x6beab0)
	/home/appveyor/.cache/geth-go-1.17.2-linux-amd64/go/src/testing/testing.go:1259 +0x102
created by testing.(*T).Run

which happens to multiple tests.

This one is probably the same, but the stack trace happens in a different process:

--- FAIL: TestEVM (0.00s)
    runtime_test.go:74: crashed with: runtime error: invalid memory address or nil pointer dereference

@gballet gballet self-assigned this Nov 20, 2021
@gballet
Copy link
Member Author

gballet commented Nov 20, 2021

Progress has been made, but this test is still failing:

--- FAIL: TestBlockchain/ValidBlocks/bcStateTests/BLOCKHASH_Bounds.json/BLOCKHASH_Bounds_Berlin (0.00s)
panic: runtime error: slice bounds out of range [:93] with capacity 86 [recovered]
	panic: runtime error: slice bounds out of range [:93] with capacity 86
goroutine 24354 [running]:
testing.tRunner.func1.2({0x884b20, 0xc002bdbbf0})
	/home/appveyor/.cache/geth-go-1.17.2-linux-amd64/go/src/testing/testing.go:1209 +0x24e
testing.tRunner.func1()
	/home/appveyor/.cache/geth-go-1.17.2-linux-amd64/go/src/testing/testing.go:1212 +0x218
panic({0x884b20, 0xc002bdbbf0})
	/home/appveyor/.cache/geth-go-1.17.2-linux-amd64/go/src/runtime/panic.go:1038 +0x215
github.com/ethereum/go-ethereum/core/vm.makePush.func1(0xc002bf7a18, 0xc004d3cd00, 0xc004f1f560)
	/home/appveyor/projects/go-ethereum/core/vm/instructions.go:974 +0x579
github.com/ethereum/go-ethereum/core/vm.(*EVMInterpreter).Run(0xc004d3cd00, 0xc004919740, {0xe5cc48, 0x0, 0x0}, 0x0)
	/home/appveyor/projects/go-ethereum/core/vm/interpreter.go:308 +0xe84
github.com/ethereum/go-ethereum/core/vm.(*EVM).Call(0xc004f17500, {0x952720, 0xc002bdbb18}, {0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...}, ...)
	/home/appveyor/projects/go-ethereum/core/vm/evm.go:250 +0xfd6
github.com/ethereum/go-ethereum/core.(*StateTransition).TransitionDb(0xc004db4b00)
	/home/appveyor/projects/go-ethereum/core/state_transition.go:348 +0xe10
github.com/ethereum/go-ethereum/core.ApplyMessage(0x963118, {0x963118, 0xc004f65cb0}, 0xc0039eb400)
	/home/appveyor/projects/go-ethereum/core/state_transition.go:183 +0x2a
github.com/ethereum/go-ethereum/core.applyTransaction({0xc002bdb938, {0xa9, 0x4f, 0x53, 0x74, 0xfc, 0xe5, 0xed, 0xbc, 0x8e, ...}, ...}, ...)
	/home/appveyor/projects/go-ethereum/core/state_processor.go:103 +0x1cb
github.com/ethereum/go-ethereum/core.(*StateProcessor).Process(_, _, _, {0x0, {0x0, 0x0}, 0x0, 0x0, 0x0, {0x0, ...}, ...})
	/home/appveyor/projects/go-ethereum/core/state_processor.go:83 +0x9d1
github.com/ethereum/go-ethereum/core.(*BlockChain).insertChain(0xc004cf9c00, {0xc0000103d8, 0xde83a8, 0x1}, 0x1)
	/home/appveyor/projects/go-ethereum/core/blockchain.go:1617 +0x1ca4
github.com/ethereum/go-ethereum/core.(*BlockChain).InsertChain(0xc004cf9c00, {0xc0000103d8, 0x1, 0x1})
	/home/appveyor/projects/go-ethereum/core/blockchain.go:1385 +0xb54
github.com/ethereum/go-ethereum/tests.(*BlockTest).insertBlocks(0xc004c69600, 0x0)
	/home/appveyor/projects/go-ethereum/tests/block_test_util.go:203 +0x1e5
github.com/ethereum/go-ethereum/tests.(*BlockTest).Run(0xc004c69600, 0x0)
	/home/appveyor/projects/go-ethereum/tests/block_test_util.go:136 +0x46e
github.com/ethereum/go-ethereum/tests.TestBlockchain.func1(0xc0034e2340, {0x0, 0x0}, 0x0)
	/home/appveyor/projects/go-ethereum/tests/block_test.go:50 +0x35
reflect.Value.call({0x830b80, 0xc000188c00, 0x13}, {0x8ae3ed, 0x4}, {0xc0006abe68, 0x3, 0x3})
	/home/appveyor/.cache/geth-go-1.17.2-linux-amd64/go/src/reflect/value.go:543 +0x814
reflect.Value.Call({0x830b80, 0xc000188c00, 0xddbe60}, {0xc001241e68, 0x3, 0x3})
	/home/appveyor/.cache/geth-go-1.17.2-linux-amd64/go/src/reflect/value.go:339 +0xc5
github.com/ethereum/go-ethereum/tests.runTestFunc({0x830b80, 0xc000188c00}, 0xb2d1b0, {0xc004ed0a50, 0xf}, {0xc00339a000, 0xc000010358, 0x474}, {0xc002bdad50, 0x17})
	/home/appveyor/projects/go-ethereum/tests/init_test.go:271 +0x3b4
github.com/ethereum/go-ethereum/tests.(*testMatcher).runTestFile.func1(0xc0034e2340)
	/home/appveyor/projects/go-ethereum/tests/init_test.go:243 +0x11c
testing.tRunner(0xc0034e2340, 0xc004e7dbd0)
	/home/appveyor/.cache/geth-go-1.17.2-linux-amd64/go/src/testing/testing.go:1259 +0x102
created by testing.(*T).Run
	/home/appveyor/.cache/geth-go-1.17.2-linux-amd64/go/src/testing/testing.go:1306 +0x35a
FAIL	github.com/ethereum/go-ethereum/tests	1.433s

@gballet
Copy link
Member Author

gballet commented Nov 20, 2021

This is because there is no boundary check when copying the source code.

@gballet gballet closed this as completed Nov 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants