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

core: handle ignored error #16065

Merged
merged 1 commit into from
Feb 14, 2018
Merged

Conversation

ferhatelmas
Copy link
Contributor

  • according to implementation of IntrinsicGas
    we can continue execution since problem will be detected
    later. However, early return is future-proof for changes.

 - according to implementation of `IntrinsicGas`
we can continue execution since problem will be detected
later. However, early return is future-proof for changes.
@holiman
Copy link
Contributor

holiman commented Feb 12, 2018

Hm, interesting find!
As it is right now, we're totally ignoring this error: https://github.com/ethereum/go-ethereum/blob/master/core/state_transition.go#L98 and this error:https://github.com/ethereum/go-ethereum/blob/master/core/state_transition.go#L104

I think it means that if someone makes a tx with enough non-zero bytes to make the gas to over maxuint, then we'd return gas=0. However, if I'm reading it right, it would require data of size 135 PB.

>>> max = (1<<64 - 1) - 21000
>>> (max // 68 ) / 1e15
135.63782407139345

Btw, interesting appveyor error @karalabe:

--- FAIL: TestGetCHTProofsLes1 (3.73s)
	handler_test.go:440: proofs mismatch: message size mismatch: got 4, want 518
FAIL
coverage: 47.2% of statements
FAIL	github.com/ethereum/go-ethereum/les	129.078s
?   	github.com/ethereum/go-ethereum/les/flowcontrol	[no test files]

@karalabe
Copy link
Member

@holiman The les error is a timing issue. The test generates 32K blocks, and those are processed by the CHT/BBT processors in 4K batches with 100ms sleep in between. That sleep means that the test needs to wait for things to finish without a way to manually detect it. If CI runs slower ot schedules in a weir way, we might run out of sleep before the 100ms batches finish. I'll think about how to fix it without adding even longer timeouts.

@karalabe karalabe added this to the 1.8.1 milestone Feb 14, 2018
@karalabe karalabe merged commit dc7ca52 into ethereum:master Feb 14, 2018
prestonvanloon pushed a commit to prestonvanloon/go-ethereum that referenced this pull request Apr 2, 2018
- according to implementation of `IntrinsicGas`
we can continue execution since problem will be detected
later. However, early return is future-proof for changes.
mariameda pushed a commit to NiluPlatform/go-nilu that referenced this pull request Aug 23, 2018
- according to implementation of `IntrinsicGas`
we can continue execution since problem will be detected
later. However, early return is future-proof for changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants