-
Notifications
You must be signed in to change notification settings - Fork 414
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
Bug: "oversized vector allocation" due to large transaction (lots of witness inputs) #783
Comments
I confirm it is broken :
|
My electrs 0.9.9 on x86_64 linux seems to be unaffected. |
My electrs v0.9.8 seems unaffected as well. |
Same here on Nodl but bricked on another implementation. |
This could be inside |
Issue confirmed electrs 0.9.7 on x86_64 linux
|
Upgrading
|
Oh, it looks like the DoS protection in |
|
@NicolasDorier you're replying to electrs issue, I guess you wanted some LND-related issue. :) |
@Kixunil I was looking for the issue and had it pinpointed to somewhere in the diff between 0.27.0 and 0.28.0 (which is a huge diff, lol) One of our servers was on 0.27 and bumping to 0.28 fixed the issue. Out of curiosity, where was the bug triggered? |
@junderw actually I just realized I got confused since the issue is actually fixed. I explicitly tried deserializing the offending tx and it works fine today. I will publish the test so you can run git-bisect if you want. |
This transaction broke past versions of `rust-bitcoin` and LND so this adds a test to avoid reintroducing the problem in the future. See also romanz/electrs#783
@junderw here's the test: rust-bitcoin/rust-bitcoin#1359 |
Since the issue should be resolved in |
I think that the issue is due to rust-bitcoin/rust-bitcoin#1359 (comment)
|
IIUC, the fix was introduced into |
Closing for now, since the fix is available in electrs 0.9.8+ |
Reposting my comment here. 0.28 does not completely fix the issue. rust-bitcoin/rust-bitcoin#1359 (comment)
This is fixed cleanly to the best of my knowledge in 0.29. |
Yeah electrs uses 0.29.2 in |
Will prepare a new release today :) |
d6ca7e4 Add a test parsing transaction with a huge witness (Martin Habovstiak) Pull request description: This transaction broke past versions of `rust-bitcoin` and LND so this adds a test to avoid reintroducing the problem in the future. See also romanz/electrs#783 I'm publishing this immediately for research purposes. I can clean it up later if required (low on time rn) or we may even not merge it if there is a better test. ACKs for top commit: tcharding: ACK d6ca7e4 Tree-SHA512: cfa9f5c82be0885a82bddb0c15f3177e05feedb369a931e58bf48d90b26eab85bc501d84d17927fa72b42ad4f1016e6042ad318662403271c738eaa91cee7748
A recent transaction broke lnd (Lightning Network) and mempool.space (block explorer). Based on reports on Twitter electrs is also affected, but I didn't check myself.
"oversized vector allocation"
btcsuite/btcd#1906
The text was updated successfully, but these errors were encountered: