You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm sorry for the relatively large amount of logging and try/catching in the code but really I couldn't figure it was probably crashing because of ethers or node up until to now so I've added guards pretty much everywhere, gonna remove most of them in a couple hours.
When using indifferently one of the two, after around 100 fast calls or so on the Ethereum Holesky network (on Gnosis I haven't still encountered any issue every time I've downloaded that single 1500 chunks, 20MB file it has been published some months ago even when RPC shenanigans happen to throw exceptions), I do get the Node.js process to silently crash without returning any error code nor stack trace.
I'd like this issue I'm currently encountering may be actually caused by some typos or some quirkness I don't know about Javascript, but really error management has worked well up to now on Gnosis, so I guess it may not be an error handling issue.
Anyway, that could be an hint there may be an issue in the ethers RPC communication component (which I have no idea how is it called), I'm not sure.
Since I do not get any error code at all, I have tried running node using --trace.
The log is of course very heavy (over 180 MBs), so I am uploading only a reduced version containing its last 10.000 lines.
In case it could be useful to know, I'm currently debugging this issue and (publishing most of my work) in an almost continuous daily video livestream which has been going on for the past 6 months or so I have no issues linking. I'd say I also struggle to derive a living from my work despite of its I'd say obvious and apparent usefulness, but I suppose this is not the place to share yet another rant about how our favourite crypto communities pretty much seem to pretend developers should extract value themselves from the networks, selling themselves to some random corporation or like getting a state job, but anyway.
You know, I am also DogeOS author among other things and apparently nobody seems to care there's like a bunch of millionaires or billionaires out there who I can't really say if they are trying to take over my work and they totally ignore me on purpose while I have poor people buying groceries for me, so you know, I'm kinda very frustrated.
I suppose I am relatively allowed to tell you these things, since my work heavily relies on the ethers software for now.
Since I'm actually tired to go after this bug though, I think I'm now simply gonna write the intermediate state on disk and simply restart the node process if it crashes because I can't lose further time on this if it's not dependent on an error on my side.
Code Snippet
The code is relatively long to paste in here.
In general to reproduce the issue you can try publishing some file running
As I've said the issue is encountered when the amounts of rapidly processed 22KB string chunks is likely over 100 or so.
Contract ABI
Well, the base Ethereum Virtual Machine File System smart contract code is quite simple.
Also the call just basically loads a contract's string variable (a mapping) and write that same string.
The source code is here anyway and this is the executed function, but really it crashes already just when reading the mapping.
/** * @dev Publish chunk. * @param _namespace Namespace for the file definition. * @param _hash Hash of the file the chunk belongs. * @param _index Which chunk are you setting. * @param _chunk In which post the chunk is contained. */function publishChunk(
address_namespace,
stringmemory_hash,
uint256_index,
stringmemory_chunk) public {
checkOwner(
_namespace);
checkUnlocked(
_namespace,
_hash,
_index);
chunks[_namespace][_hash][_index] = _chunk;
if ( _index > length[msg.sender][_hash] ) {
length[_namespace][_hash] = _index;
}
}
Errors
No error is returned at all, Node just crashes with exit code 0.
Environment
node.js (v12 or newer)
Environment (Other)
DogeOS Android base, still haven't tested on DogeOS GNU base.
The text was updated successfully, but these errors were encountered:
tallero
changed the title
fast execution of baseContractMethod.staticCall and baseContractMethod.send causes Node.js process to crash
Fast execution of baseContractMethod.staticCall and baseContractMethod.send causes Node.js process to silently crash (with exit code 0).
Feb 28, 2025
tallero
changed the title
Fast execution of baseContractMethod.staticCall and baseContractMethod.send causes Node.js process to silently crash (with exit code 0).
Fast execution of baseContractMethod.staticCall and baseContractMethod.send seems to cause Node.js process to silently crash (with exit code 0).
Feb 28, 2025
Ethers Version
6.13.2
Search Terms
ive tried from google.
Describe the Problem
Hello,
in the code for the Ethereum Virtual Machine File System fast publishing routine I am using a synchronous for loop which generates in rapid successions instances of
baseContract
from which are then extracted two methods, one which performs static calls and another which sends transactions.I'm sorry for the relatively large amount of logging and try/catching in the code but really I couldn't figure it was probably crashing because of ethers or node up until to now so I've added guards pretty much everywhere, gonna remove most of them in a couple hours.
When using indifferently one of the two, after around 100 fast calls or so on the Ethereum Holesky network (on Gnosis I haven't still encountered any issue every time I've downloaded that single 1500 chunks, 20MB file it has been published some months ago even when RPC shenanigans happen to throw exceptions), I do get the Node.js process to silently crash without returning any error code nor stack trace.
I'd like this issue I'm currently encountering may be actually caused by some typos or some quirkness I don't know about Javascript, but really error management has worked well up to now on Gnosis, so I guess it may not be an error handling issue.
Anyway, that could be an hint there may be an issue in the ethers RPC communication component (which I have no idea how is it called), I'm not sure.
Since I do not get any error code at all, I have tried running node using
--trace
.The log is of course very heavy (over 180 MBs), so I am uploading only a reduced version containing its last 10.000 lines.
I still have to try reproducing this bug from pc.
In case it could be useful to know, I'm currently debugging this issue and (publishing most of my work) in an almost continuous daily video livestream which has been going on for the past 6 months or so I have no issues linking. I'd say I also struggle to derive a living from my work despite of its I'd say obvious and apparent usefulness, but I suppose this is not the place to share yet another rant about how our favourite crypto communities pretty much seem to pretend developers should extract value themselves from the networks, selling themselves to some random corporation or like getting a state job, but anyway.
You know, I am also DogeOS author among other things and apparently nobody seems to care there's like a bunch of millionaires or billionaires out there who I can't really say if they are trying to take over my work and they totally ignore me on purpose while I have poor people buying groceries for me, so you know, I'm kinda very frustrated.
I suppose I am relatively allowed to tell you these things, since my work heavily relies on the ethers software for now.
Since I'm actually tired to go after this bug though, I think I'm now simply gonna write the intermediate state on disk and simply restart the node process if it crashes because I can't lose further time on this if it's not dependent on an error on my side.
Code Snippet
The code is relatively long to paste in here.
In general to reproduce the issue you can try publishing some file running
As I've said the issue is encountered when the amounts of rapidly processed 22KB string chunks is likely over 100 or so.
Contract ABI
Well, the base Ethereum Virtual Machine File System smart contract code is quite simple.
Also the call just basically loads a contract's string variable (a mapping) and write that same string.
The source code is here anyway and this is the executed function, but really it crashes already just when reading the mapping.
Errors
No error is returned at all, Node just crashes with exit code 0.
Environment
node.js (v12 or newer)
Environment (Other)
DogeOS Android base, still haven't tested on DogeOS GNU base.
The text was updated successfully, but these errors were encountered: