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

Fails to work for the 0x v2 Exchange contract #21

Open
ghost opened this issue Sep 17, 2018 · 6 comments
Open

Fails to work for the 0x v2 Exchange contract #21

ghost opened this issue Sep 17, 2018 · 6 comments

Comments

@ghost
Copy link

ghost commented Sep 17, 2018

➜  rattle git:(master) ✗ python3 rattle-cli.py --input ../code.bytecode -O
Traceback (most recent call last):
  File "rattle-cli.py", line 203, in <module>
    main()
  File "rattle-cli.py", line 48, in main
    ssa = rattle.Recover(args.input.read(), edges=edges, optimize=args.optimize)
  File "/Users/___/Projects/Ethereum/rattle/rattle/recover.py", line 712, in __init__
    self.internal = InternalRecover(filedata, edges, optimize)
  File "/Users/___/Projects/Ethereum/rattle/rattle/recover.py", line 41, in __init__
    self.recover(dispatch)
  File "/Users/___/Projects/Ethereum/rattle/rattle/recover.py", line 75, in recover
    self.identify_blocks(function)
  File "/Users/___/Projects/Ethereum/rattle/rattle/recover.py", line 185, in identify_blocks
    block.set_fallthrough_target(terminator.offset + terminator.insn.size)
  File "/Users/___/Projects/Ethereum/rattle/rattle/ssa.py", line 478, in set_fallthrough_target
    target_block : SSABasicBlock = self.function.blockmap[other]
KeyError: 22707

code.bytecode created with cat code.bin | xxd -r -ps > code.bytecode whereas code.bin is https://gist.github.com/reverendus/9151b4d7b154b63fd55ae663fa6465a4. I'm on the recent master i.e. 2ec580f6963ee876b90326576bc328cca0d03c79.

@ireneGP

This comment has been minimized.

@dguido
Copy link
Member

dguido commented Dec 6, 2018

@ireneGP This project is supported, but some of these problems are difficult to fix. Today, it works for most people's use cases but every now and then we'll run across a contract where it has issues. We're planning to spend time adding more comprehensive tests and support to it soon. You're welcome to join us on Slack to discuss development of Rattle.

@lsankar4033
Copy link

I assume the tool isnt' being maintained actively anymore? Similar to the original issue poster, I have a contract that rattle isn't working for, but if you guys aren't working on it anymore, I can dig in myself.

And if there's still a discussion slack, where is it?

@dguido
Copy link
Member

dguido commented May 4, 2020

Hey @lsankar4033, we're still supporting rattle and will help debug and address any issues you can find. Please file an issue that includes the contract you ran rattle on and the error details. We'll take a look. The Slack is accessible at https://empireslacking.herokuapp.com in the #ethereum channel.

Another related tool you should be aware of from us is evm_cfg_builder. If you want to discuss your use case with us in the #ethereum channel on our Slack, then we'll be able to recommend the best approach for accomplishing it.

@lsankar4033
Copy link

lsankar4033 commented May 4, 2020

cool, will do! thanks for the quick reply

@CarstenNZ
Copy link
Contributor

@lsankar4033
The link to byte.code is broken. Please make it available if you are still interested.

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

No branches or pull requests

4 participants