Created
May 30, 2021 22:24
-
-
Save eseidel/4c6211ca2d6b81a3b4dfaa480727f58f to your computer and use it in GitHub Desktop.
rusty_ethereum inc() Failure with stacks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
macbook-pro [75280:rusty_ethereum]% cargo run [~/Documents/GitHub/rusty_ethereum] | |
Finished dev [unoptimized + debuginfo] target(s) in 0.03s | |
Running `target/debug/rusty_ethereum` | |
inc(): [37, 13, 03, C0, 51, BF, F7, 26, 10, 0A, D1, 38, 71, CA, BA, BF, 50, C2, 0D, D9, 20, FC, A1, 37, E5, 19, F9, 8F, 08, 9A, 74, B4] | |
60: PUSH1 (0x80) | |
0x80 | |
60: PUSH1 (0x40) | |
0x40,0x80 | |
52: MSTORE | |
34: CALLVALUE | |
CALLVALUE: -> 0x00 | |
0x00 | |
80: DUP1 | |
DUP1: -> 0x00 | |
0x00,0x00 | |
15: ISZERO | |
ISZERO -> true | |
0x01,0x00,0x00 | |
61: PUSH2 (0x10) | |
0x10,0x01,0x00,0x00 | |
57: JUMPI | |
JUMPI (condition: 0x01 is_truthy: true) | |
Jumped from 0C to 10 | |
0x00,0x00 | |
5B: JUMPDEST | |
0x00,0x00 | |
50: POP | |
0x00 | |
61: PUSH2 (0x116) | |
0x116,0x00 | |
80: DUP1 | |
DUP1: -> 0x116 | |
0x116,0x116,0x00 | |
61: PUSH2 (0x20) | |
0x20,0x116,0x116,0x00 | |
60: PUSH1 (0x00) | |
0x00,0x20,0x116,0x116,0x00 | |
39: CODECOPY | |
CODECOPY from 32..310 to 0..278 | |
0x116,0x00 | |
60: PUSH1 (0x00) | |
0x00,0x116,0x00 | |
F3: RETURN | |
RETURN 0x00..0x116 | |
Got contract, executing! | |
60: PUSH1 (0x80) | |
0x80 | |
60: PUSH1 (0x40) | |
0x40,0x80 | |
52: MSTORE | |
34: CALLVALUE | |
CALLVALUE: -> 0x00 | |
0x00 | |
80: DUP1 | |
DUP1: -> 0x00 | |
0x00,0x00 | |
15: ISZERO | |
ISZERO -> true | |
0x01,0x00,0x00 | |
60: PUSH1 (0x0F) | |
0x0F,0x01,0x00,0x00 | |
57: JUMPI | |
JUMPI (condition: 0x01 is_truthy: true) | |
Jumped from 0B to 0F | |
0x00,0x00 | |
5B: JUMPDEST | |
0x00,0x00 | |
50: POP | |
0x00 | |
60: PUSH1 (0x04) | |
0x04,0x00 | |
36: CALLDATASIZE | |
CALLDATASIZE: -> 32 | |
0x20,0x04,0x00 | |
10: LT | |
LT: 0x20 < 0x04 -> false | |
0x00,0x00 | |
60: PUSH1 (0x46) | |
0x46,0x00,0x00 | |
57: JUMPI | |
JUMPI (condition: 0x00 is_truthy: false) | |
0x00 | |
60: PUSH1 (0x00) | |
0x00,0x00 | |
35: CALLDATALOAD | |
CALLDATALOAD: 0x00 -> 0x371303C000000000000000000000000000000000000000000000000000000000 | |
0x371303C000000000000000000000000000000000000000000000000000000000,0x00 | |
60: PUSH1 (0xE0) | |
0xE0,0x371303C000000000000000000000000000000000000000000000000000000000,0x00 | |
1C: SHR | |
73206269467518548428415557547866456064 >> 96 | |
SHR: 0x371303C000000000000000000000000000000000000000000000000000000000 >> 0xE0 -> 0x371303C0 | |
0x371303C0,0x00 | |
80: DUP1 | |
DUP1: -> 0x371303C0 | |
0x371303C0,0x371303C0,0x00 | |
63: PUSH4 (0x6661ABD) | |
0x6661ABD,0x371303C0,0x371303C0,0x00 | |
14: EQ | |
EQ: 0x6661ABD == 0x371303C0 -> false | |
0x00,0x371303C0,0x00 | |
60: PUSH1 (0x4B) | |
0x4B,0x00,0x371303C0,0x00 | |
57: JUMPI | |
JUMPI (condition: 0x00 is_truthy: false) | |
0x371303C0,0x00 | |
80: DUP1 | |
DUP1: -> 0x371303C0 | |
0x371303C0,0x371303C0,0x00 | |
63: PUSH4 (0x371303C0) | |
0x371303C0,0x371303C0,0x371303C0,0x00 | |
14: EQ | |
EQ: 0x371303C0 == 0x371303C0 -> true | |
0x01,0x371303C0,0x00 | |
60: PUSH1 (0x65) | |
0x65,0x01,0x371303C0,0x00 | |
57: JUMPI | |
JUMPI (condition: 0x01 is_truthy: true) | |
Jumped from 32 to 65 | |
0x371303C0,0x00 | |
5B: JUMPDEST | |
0x371303C0,0x00 | |
60: PUSH1 (0x6B) | |
0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x7A) | |
0x7A,0x6B,0x371303C0,0x00 | |
56: JUMP | |
Jumped from 6B to 7A | |
0x6B,0x371303C0,0x00 | |
5B: JUMPDEST | |
0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x01) | |
0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x00) | |
0x00,0x01,0x6B,0x371303C0,0x00 | |
80: DUP1 | |
DUP1: -> 0x00 | |
0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
82: DUP3 | |
DUP3: -> 0x01 | |
0x01,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
82: DUP3 | |
DUP3: -> 0x00 | |
0x00,0x01,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
54: SLOAD | |
SLOAD: 0x00 -> 0x00 | |
0x00,0x01,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x8A) | |
0x8A,0x00,0x01,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
91: SWAP2 | |
SWAP2 (old: 0x8A new: 0x01) | |
0x01,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
90: SWAP1 | |
SWAP1 (old: 0x01 new: 0x00) | |
0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0xA1) | |
0xA1,0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
56: JUMP | |
Jumped from 8A to A1 | |
0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
5B: JUMPDEST | |
0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x00) | |
0x00,0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
82: DUP3 | |
DUP3: -> 0x01 | |
0x01,0x00,0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
19: NOT | |
NOT: !0x01 -> 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE | |
0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE,0x00,0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
82: DUP3 | |
DUP3: -> 0x00 | |
0x00,0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE,0x00,0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
11: GT | |
GT: 0x00 > 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE -> false | |
0x00,0x00,0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
15: ISZERO | |
ISZERO -> true | |
0x01,0x00,0x00,0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0xB1) | |
0xB1,0x01,0x00,0x00,0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
57: JUMPI | |
JUMPI (condition: 0x01 is_truthy: true) | |
Jumped from AC to B1 | |
0x00,0x00,0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
5B: JUMPDEST | |
0x00,0x00,0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
50: POP | |
0x00,0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
01: ADD | |
ADD: 0x00 + 0x00 -> 0x00 | |
0x00,0x01,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
90: SWAP1 | |
SWAP1 (old: 0x00 new: 0x01) | |
0x01,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
56: JUMP | |
Jumped from B6 to 01 | |
0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
80: DUP1 | |
DUP1: -> 0x00 | |
0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x40) | |
0x40,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
52: MSTORE | |
0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
34: CALLVALUE | |
CALLVALUE: -> 0x00 | |
0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
80: DUP1 | |
DUP1: -> 0x00 | |
0x00,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
15: ISZERO | |
ISZERO -> true | |
0x01,0x00,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x0F) | |
0x0F,0x01,0x00,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
57: JUMPI | |
JUMPI (condition: 0x01 is_truthy: true) | |
Jumped from 0B to 0F | |
0x00,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
5B: JUMPDEST | |
0x00,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
50: POP | |
0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x04) | |
0x04,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
36: CALLDATASIZE | |
CALLDATASIZE: -> 32 | |
0x20,0x04,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
10: LT | |
LT: 0x20 < 0x04 -> false | |
0x00,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x46) | |
0x46,0x00,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
57: JUMPI | |
JUMPI (condition: 0x00 is_truthy: false) | |
0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x00) | |
0x00,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
35: CALLDATALOAD | |
CALLDATALOAD: 0x00 -> 0x371303C000000000000000000000000000000000000000000000000000000000 | |
0x371303C000000000000000000000000000000000000000000000000000000000,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0xE0) | |
0xE0,0x371303C000000000000000000000000000000000000000000000000000000000,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
1C: SHR | |
73206269467518548428415557547866456064 >> 96 | |
SHR: 0x371303C000000000000000000000000000000000000000000000000000000000 >> 0xE0 -> 0x371303C0 | |
0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
80: DUP1 | |
DUP1: -> 0x371303C0 | |
0x371303C0,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
63: PUSH4 (0x6661ABD) | |
0x6661ABD,0x371303C0,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
14: EQ | |
EQ: 0x6661ABD == 0x371303C0 -> false | |
0x00,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x4B) | |
0x4B,0x00,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
57: JUMPI | |
JUMPI (condition: 0x00 is_truthy: false) | |
0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
80: DUP1 | |
DUP1: -> 0x371303C0 | |
0x371303C0,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
63: PUSH4 (0x371303C0) | |
0x371303C0,0x371303C0,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
14: EQ | |
EQ: 0x371303C0 == 0x371303C0 -> true | |
0x01,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x65) | |
0x65,0x01,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
57: JUMPI | |
JUMPI (condition: 0x01 is_truthy: true) | |
Jumped from 32 to 65 | |
0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
5B: JUMPDEST | |
0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x6B) | |
0x6B,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x7A) | |
0x7A,0x6B,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
56: JUMP | |
Jumped from 6B to 7A | |
0x6B,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
5B: JUMPDEST | |
0x6B,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x01) | |
0x01,0x6B,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x00) | |
0x00,0x01,0x6B,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
80: DUP1 | |
DUP1: -> 0x00 | |
0x00,0x00,0x01,0x6B,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
82: DUP3 | |
DUP3: -> 0x01 | |
0x01,0x00,0x00,0x01,0x6B,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
82: DUP3 | |
DUP3: -> 0x00 | |
0x00,0x01,0x00,0x00,0x01,0x6B,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
54: SLOAD | |
SLOAD: 0x00 -> 0x00 | |
0x00,0x01,0x00,0x00,0x01,0x6B,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
60: PUSH1 (0x8A) | |
0x8A,0x00,0x01,0x00,0x00,0x01,0x6B,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
91: SWAP2 | |
SWAP2 (old: 0x8A new: 0x01) | |
0x01,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00,0x00,0x8A,0x00,0x00,0x01,0x6B,0x371303C0,0x00 | |
thread 'main' panicked at 'explicit panic', src/vm.rs:394:25 | |
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace | |
macbook-pro [75280:rusty_ethereum]% [~/Documents/GitHub/rusty_ethereum] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment