Skip to content
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] IPC failed to decode big partial response #957

Closed
publicqi opened this issue Jun 22, 2024 · 3 comments · Fixed by #958
Closed

[Bug] IPC failed to decode big partial response #957

publicqi opened this issue Jun 22, 2024 · 3 comments · Fixed by #958
Assignees
Labels
bug Something isn't working

Comments

@publicqi
Copy link
Contributor

publicqi commented Jun 22, 2024

Component

provider, pubsub, rpc

What version of Alloy are you on?

v0.1.1

Operating System

macOS (Apple Silicon)

Describe the bug

OS IPC Crash?
Linux geth N
Linux reth N
macOS reth Y

To reproduce:
cast code 0xe9ff7ca11280553af56d04ecb8be6b8c4468dcb2 -r /tmp/reth.ipc
image

I don't have a geth on mac, so I cannot test. But I think it should be due to the different OS IPC implementations

Related: #605

@publicqi publicqi added the bug Something isn't working label Jun 22, 2024
@mattsse
Copy link
Member

mattsse commented Jun 22, 2024

right this check is bad and will terminate the stream if the response exceeds the default buffer capacity:

if this.buf.len() > CAPACITY {
// buffer is full, we can't decode any more
error!("IPC response too large to decode");
return Ready(None);
}

it should be removed, or increased to something more reasonable.

trace responses can exceed ~120MB so we should select a more appropriate limit, since IPC is local we could also remove this entirely.

@mattsse
Copy link
Member

mattsse commented Jun 22, 2024

do you want to take this @publicqi ?

@publicqi
Copy link
Contributor Author

publicqi commented Jun 22, 2024

Sure. I'll make a PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants