Open aardvarkk opened 1 year ago
For more context, I've started diving into the debugger a bit and it looks like it's stuck in the checkConfirmation
function inside web3.js? It keeps getting called over and over and doesn't seem to resolve properly for some reason.
It looks like confirmationCount
keeps having the value 2, and it maybe wants to equal method.transactionConfirmationBlocks + 1
, which is 25. Every time the polling happens the values stay the same.
Hm, you can try disabling the confirmation listener. Not sure if that would make it work better or if it'd cause it to stop working altogether, but it's worth a shot :)
See docs here about how to specify disableConfirmationListener
@gnidan Well it changed the output a bit, but it's still hanging. Now when I inspect the ganache output I see a bit more "stuff":
eth_getTransactionReceipt
eth_getCode
evm_snapshot
Saved snapshot #1
net_version
eth_blockNumber
eth_getBlockByNumber
eth_call
Normally it'd just keep repeating the eth_getBlockByNumber
until I set up the disableConfirmationListener
. Now it actually tries to call it, but then the truffle test code just sits indefinitely as it did before.
I thought maybe this was a MacOS problem so I tried on my Linux machine with the exact same results.
Hm, really weird. How much gas does the eth_call
require? It's possible that the hanging you're observing is just Ganache taking a long time to execute eth_call
. This guess is a long shot.
Not sure what else might be going wrong here. Maybe you could try running truffle test --debug
inside truffle console --verbose-rpc
(while connecting to a separately running Ganache instance). That might give you a bit more detail.
Issue
When I try to use in-test debugging, it hangs my terminal. Ganache seems to show the contract getting deployed successfully, and the output from the
truffle test
command shows the contract getting successfully compiled.However, then it just says "Contract: MyContract" and stalls. I can see pairs of calls to eth_getBlockByNumber being called about once per second in the ganache output. My contract
Steps to Reproduce
function tokenURI(address creator, uint256 tokenId) external view returns (string memory);
)tokenURI
function in the contract, and wrap it indebug()
Expected Behavior
The debugger should start in the terminal when running
truffle test --debug
Actual Results
The terminal hangs, showing only "Contract: MyContract".
Environment
truffle version
): 5.11.2node --version
): 18.17.2npm --version
): 8.19.4