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

Option to ignore coredump exit codes from the sandboxed container init process #11000

Open
jseba opened this issue Oct 7, 2024 · 1 comment
Labels
type: enhancement New feature or request

Comments

@jseba
Copy link
Contributor

jseba commented Oct 7, 2024

Description

We've been getting spurious coredumps from our sandboxed containers that have had no panic trace from gVisor itself. After digging into a bunch of them, I've noticed that the applications inside the container are panicking or otherwise exiting with SIGSEGV/SIGABRT signals, which the sandbox is returning as it's own exit code. This causes systemd-coredump (or whatever /proc/sys/kernel/core_pattern is configured to do) to try and process a coredump event with no data, because there was no coredump generated by the sandbox process on the host.

Is there any point to gVisor exiting with signals that indicate a coredump? From man 7 signals, this set includes

  • SIGABRT
  • SIGBUS
  • SIGFPE
  • SIGILL
  • SIGIOT (alias for SIGABRT)
  • SIGQUIT
  • SIGSEGV
  • SIGSYS
  • SIGTRAP
  • SIGXCPU

If there's no core to be generated, this just causes noise since I don't believe systemd-coredumpd can be configured to ignore empty coredumps currently.

Is this feature related to a specific bug?

No response

Do you have a specific solution in mind?

No response

@jseba jseba added the type: enhancement New feature or request label Oct 7, 2024
@kevinGC
Copy link
Collaborator

kevinGC commented Oct 7, 2024

Is there any point to gVisor exiting with signals that indicate a coredump?

I think we just haven't run into this before. gVisor returns the init process status because it's generally useful to callers.

An option to mask out the signal from the exit code could work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants