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

error in 1.131.x crashes go process #3044

Open
aviramha opened this issue Jan 28, 2025 · 7 comments
Open

error in 1.131.x crashes go process #3044

aviramha opened this issue Jan 28, 2025 · 7 comments
Assignees

Comments

@aviramha
Copy link
Member

aviramha commented Jan 28, 2025

User sees


2025-01-28T19:12:11.654285Z ERROR ThreadId(02) mirrord_layer::error: Error occured in Layer >> ResponseError(NotImplemented)
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xd30786]

go 1.23.2 - running on arm64 macOS inside Docker

Copy link

linear bot commented Jan 28, 2025

@aviramha
Copy link
Member Author

I'm not sure it solves users' issue yet

Copy link
Member Author

My fix didn't fix 😒

@aviramha
Copy link
Member Author

I believe the issue is that go calls the syscall statfs which uses the statfs64 struct in libc, and we use the statfs struct which is backward compatible, hence when coming from go we should actually call statfs64_detour instead.
this is probably relevant to other syscalls that were added as part of the PR (I think there are 2 structs/functions?)

@t4lz
Copy link
Member

t4lz commented Jan 29, 2025

Is there a reproduction you guys worked with?

Copy link
Member Author

I couldn't reproduce, but I am pretty sure that if you write a go app that calls statfs when using mirrord it'd get wrong data in the last fields, and that's how we can add some verification to it.

Copy link
Member Author

(On Linux)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants