reach-sh/reach-lang

Compiler Error, "Not your program" - solc: stack too deep

Thomas-Bibby opened this issue · 4 comments

Describe the error

Trying to compile my code works perfectly but then it all of a sudden gave this error. "This error indicates a problem with the Reach compiler, not your program. Please report this error, along with the pertinent program, to the Reach team as soon as possible so we can fix it."

To Reproduce

Try to compile my code which is in the zip file.

Expected behavior

It is meant to compile like normal with no errors

Extra information

latest version of reach which is 0.1.10-rc.6
index.zip

I'll investigate this. Sorry for the delay!

I'm able to reproduce the error with reach 0.1.10-rc.7

reachc: The compiler has encountered an internal error:

  The Solidity compiler failed with the message:
Compiler error: Stack too deep, try removing local variables.
    --> /tmp/reachc-sol-a99c28605d4dc308/compiled.sol:1306:79:
     |
1306 |  ... lem1) + ((((_f.v1432 + _f.v1433) + _f.v1434) + _f.v1435) + _f.v1436)) /  ...
     |                                         ^^



This error indicates a problem with the Reach compiler, not your program. Please report this error, along with the pertinent program, to the Reach team as soon as possible so we can fix it.

Open an issue at: https://github.com/reach-sh/reach-lang/issues

CallStack (from HasCallStack):
  error, called at src/Reach/Util.hs:88:3 in reach-0.1.10-4cFHfyX4qYPLx26uii3BqK:Reach.Util
  impossible, called at src/Reach/Connector/ETH_Solidity.hs:1785:15 in reach-0.1.10-4cFHfyX4qYPLx26uii3BqK:Reach.Connector.ETH_Solidity
Verifying knowledge assertions
Verifying for generic connector
  Verifying when ALL participants are honest
  Verifying when NO participants are honest
Checked 144 theorems; No failures!

If you only care about running this on Algorand, you can specify setOptions({connectors: [ALGO]}) to work around the issue.

https://docs.reach.sh/rsh/appinit/#setoptions

I found and fixed the problem. Thank you!