-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
RPCDaemon Out of Memory Error #1458
Comments
This debug also kills Geth with the same behavior. There are no logs, just straight killed 😄 |
I concur with tyler that this tx indeed causes a crash |
Got you, thank you for reporting, will try to figure out what is going on |
It doesn't sound like the Geth team will fix this. Their answer is don't expose the debug. 🤷♂️ Nethermind won't fix the 2GB limit on their end, just say "disable memory dump" lol |
well so in ethereum/go-ethereum#22244 (comment) @holiman suggests that
I found a number more of these crashing transactions just in the process of the work I was doing, e.g.
Given that the average turbo-geth user is going to be wanting to use turbogeth probably for archive node purposes, maybe analysis of some kind, I think it probably makes sense to expose at least some API like the geth developers are doing that allows you to get at the VM traces for these complex transactions, especially since these more complex transactions are likely the most interesting ones to look at for analysis |
I suspect that the problem is that the |
I think this is useful in that it allows users to finer-tune the debugTraces and also might make pulling out many traces at once faster (as I was doing, iterating over every transaction in specific blocks for example). I also think it's a useful short term solution to the problem. But it does concern me if that's all that's done, that it is possible to have transactions that we just can't find out what those TXs did post-facto without crashing the node. Maybe you just have to turn to another piece of software (e.g. parity, whatever) to get traces for those transactions, maybe that's fine... But if you want to know using TurboGeth what contracts a transaction triggered (e.g. contract (If you have the memory and stack, the second item on the stack in the And of course the biggest most complicated transactions are likely to be the most interesting and juicy to look at for analysis... |
That's the exact reason why geth have https://geth.ethereum.org/docs/rpc/ns-debug#debug_standardtraceblocktofile |
No, we just need to specifically port every new method when it is added to |
Will be fixed by this: #1880 |
System information
Turbogeth version:
tg version 2021.01.2-alpha
commitOS & Version: Debian GNU/Linux 10 (buster)
Commit hash : 58c4e03
Expected behaviour
Rpcdaemon probably should not try to use 2234 GB of virtual memory lol
Actual behaviour
RPCDaemon is killed by the OOM manager on Linux
Steps to reproduce the behaviour
Backtrace
OOM Killer output in Dmesg
I think this is separate from #1119
I had @MysticRyuujin repro the bug on his machine and he can confirm it is a bug as well:
The text was updated successfully, but these errors were encountered: