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

sshfs uses /dev/fuse, but got segmentation fault #11086

Open
iamryanchia opened this issue Oct 27, 2024 · 1 comment
Open

sshfs uses /dev/fuse, but got segmentation fault #11086

iamryanchia opened this issue Oct 27, 2024 · 1 comment
Labels
type: bug Something isn't working

Comments

@iamryanchia
Copy link

Description

Hi, I found that /dev/fuse exists in the gvisor container. I guess tools like sshfs that rely on fuse should be able to run in the gvisor container. I tried it and found that sshfs will report a segmentation error. Is it because the relevant system calls are not fully implemented? Thank you!

Steps to reproduce

Use gvisor to run an ubuntu 22.04 container, and use the sshfs -f -v <remote> <local> command to mount the remote directory in the container, and then use the ls <local> command to view the files in the mounted directory.

runsc version

runsc version release-20241021.0
spec: 1.1.0-rc.1

docker version (if using docker)

Directly use OCI to run container.

uname

Linux lighthouse 5.15.0-72-generic #79-Ubuntu SMP Wed Apr 19 08:22:18 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

kubectl (if using Kubernetes)

No response

repo state (if built from source)

No response

runsc debug logs (if available)

I1027 18:21:18.704127 1 strace.go:570] [ 35: 35] ls E rt_sigaction(SIGPROF, 0x7edbb88d0f40 {Handler: 0x55c3d55c1c20, Flags: SA_RESTORER|SA_RESTART, Restorer: 0x7ee889642520, Mask: [SIGHUP SIGINT SIGQUIT SIGPIPE SIGALRM SIGTERM SIGTSTP SIGXCPU SIGXFSZ SIGVTALRM SIGPROF SIGIO]}, 0x0, 0x8)
D1027 18:21:18.704131 1 task_log.go:73] [ 29: 32] FDTable:
fd:2 => name host:[4]
fd:3 => name /dev/fuse
fd:4 => name socket:[27]
fd:5 => name pipe:[19]
fd:6 => name pipe:[19]
fd:0 => name host:[4]
fd:1 => name host:[4]

D1027 18:21:18.704159 1 task_signals.go:466] [ 29: 32] Notified of signal 11
D1027 18:21:18.704172 1 task_signals.go:202] [ 29: 32] Signal 11, PID: 29, TID: 32, fault addr: 0x149: terminating thread group
D1027 18:21:18.704187 1 task_exit.go:214] [ 29: 32] Transitioning from exit state TaskExitNone to TaskExitInitiated
D1027 18:21:18.704209 1 task_exit.go:214] [ 29: 32] Transitioning from exit state TaskExitInitiated to TaskExitZombie
D1027 18:21:18.704215 1 task_exit.go:214] [ 29: 32] Transitioning from exit state TaskExitZombie to TaskExitDead
I1027 18:21:18.704203 1 strace.go:614] [ 29: 29] sshfs X futex(0x7eaedc28d398, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME|FUTEX_PRIVATE_FLAG, 0x0, null, 0x0, 0xffffffff) = 0 (0x0) errno=512 (to be restarted if SA_RESTART is set) (21.231837891s)
I1027 18:21:18.704232 1 strace.go:605] [ 29: 36] sshfs X read(0x3 /dev/fuse, 0x7eca2dd99010, 0x101000) = 0 (0x0) errno=512 (to be restarted if SA_RESTART is set) (1.307154ms)
D1027 18:21:18.704243 1 task_signals.go:202] [ 29: 29] Signal 9, PID: 29, TID: 29, fault addr: 0x0: terminating thread group
D1027 18:21:18.704251 1 task_signals.go:202] [ 29: 36] Signal 9, PID: 29, TID: 36, fault addr: 0x0: terminating thread group

@iamryanchia iamryanchia added the type: bug Something isn't working label Oct 27, 2024
@manninglucas manninglucas self-assigned this Oct 29, 2024
@manninglucas
Copy link
Contributor

Hi thanks for reporting. This seems to be a real issue, but we don't have the resources on the team to look too far deep into right now. If you're interested in investigating yourself I would start by looking into our fuse implementation here https://github.com/google/gvisor/tree/master/pkg/sentry/fsimpl/fuse.

@manninglucas manninglucas removed their assignment Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants