Ilyaas Kapadia
Ilyaas Kapadia

Reputation: 41

Compiling Solidity Error - RangeError: Maximum call stack size exceeded

I am following this course from Stephen Grider, learning Solidity. I cam unable to use compile.js to compile solidity. I am using node.js version 12.18.3. solc version 0.4.25 and npm version 6.14.16.

Compile.js code:

const path = require('path');
const fs = require('fs');
const solc = require('solc');

const inboxPath = path.resolve(__dirname, 'contracts', 'Inbox.sol');
const source = fs.readFileSync(inboxPath, 'utf8');

module.exports = solc.compile(source, 1).contracts[':Inbox'];

Course

Inbox.sol code:

pragma solidity ^0.4.25;

contract Inbox {
    string public message;

    function Inbox(string initialMessage) public {
        message = initialMessage;
    }

    function setMessage(string newMessage) public {
        message = newMessage;
    }
}

This is the full error:

RangeError: Maximum call stack size exceeded
    at Object.$db [as dynCall_viiiiii] (C:\Users\iluka\Desktop\Solidity\Inbox\no
de_modules\←[4msolc←[24m\soljson.js:12:120931)
    at invoke_viiiiii (C:\Users\iluka\Desktop\Solidity\Inbox\node_modules\←[4mso
lc←[24m\soljson.js:1:1118207)
    at Array.pva (C:\Users\iluka\Desktop\Solidity\Inbox\node_modules\←[4msolc←[2
4m\soljson.js:13:29030)
    at Object.M9a [as dynCall_vi] (C:\Users\iluka\Desktop\Solidity\Inbox\node_mo
dules\←[4msolc←[24m\soljson.js:12:99033)
    at invoke_vi (C:\Users\iluka\Desktop\Solidity\Inbox\node_modules\←[4msolc←[2
4m\soljson.js:1:1115011)
    at Array.xta (C:\Users\iluka\Desktop\Solidity\Inbox\node_modules\←[4msolc←[2
4m\soljson.js:10:704784)
    at Object.Dfb [as dynCall_iii] (C:\Users\iluka\Desktop\Solidity\Inbox\node_m
odules\←[4msolc←[24m\soljson.js:12:130740)
    at invoke_iii (C:\Users\iluka\Desktop\Solidity\Inbox\node_modules\←[4msolc←[
24m\soljson.js:1:1119442)
    at Array.vta (C:\Users\iluka\Desktop\Solidity\Inbox\node_modules\←[4msolc←[2
4m\soljson.js:10:703080)
    at Object.Yfb [as dynCall_iiiiii] (C:\Users\iluka\Desktop\Solidity\Inbox\nod
e_modules\←[4msolc←[24m\soljson.js:12:131900)

Upvotes: 4

Views: 1294

Answers (3)

Kishori
Kishori

Reputation: 1095

In my case, I was using

pragma solidity ^0.4.17;

and

constructor() public {...}

instead of function

Lottery() public{...}

If you are using 0.4.25 solc version then constructor() is supported. Otherwise we get error like "RangeError: Maximum call stack size exceeded" and "Cannot destructure property 'interface' of 'require(...)' as it is undefined".

I got these above error while running mocha test.

Upvotes: 0

jason_proger
jason_proger

Reputation: 75

I had the same error. Try this, it worked for me.

npm uninstall solc

npm install --save [email protected]

Upvotes: 1

kappa
kappa

Reputation: 1

consider downgrading module versions in package.json file followed with npm install.The above code snippet is working fine with following dependencies

  "dependencies": {
    "ganache-cli": "^6.12.2",
    "mocha": "^8.4.0",
    "solc": "^0.4.26",
    "web3": "^1.0.0-beta.26"
  }

Upvotes: 0

Related Questions