-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
MSSQL container fails due to missing syscal argument #11112
Comments
|
Thanks for the update, @avagin. Considering the current architecture, do you think it’s feasible to resolve? |
@liron-l yes, it is feasible. |
@avagin maybe you can share some guidelines on how to fix that (even only for ptrace)? |
It should be something like that: |
Thanks @avagin 👑 , i also tried a similar solution, but SQL server still crashed
|
I found this crash too. I am investigating it, but haven't have any ideas so far. |
The issue occurs within a SIGSEGV signal handler, where different code paths are taken between Linux and gVisor. Here's the relevant assembly snippet:
On Linux, rax holds the value 0xe, while in gVisor it does not. Investigating the memory location where rax is loaded:
This appears to be the sigcontext structure, as indicated by cs = 33 and ds = 2b. Therefore, 0xc8(%rax) likely accesses sigcontext->trapno, where 0xe corresponds to X86_TRAP_PF (page fault). |
Here is a small reproducer for this issue:
|
sqlserver starts successfully with this patch:
|
Thanks for the detailed analysis, 👑 @avagin, you are a star! |
Description
Crashes with the following logs:
Debug logs:
And this:
Why are those syscall arguments not implemented?
Steps to reproduce
runsc version
runsc version release-20241028.0
spec: 1.1.0-rc.1
docker version (if using docker)
uname
Linux liron-ThinkPad 6.8.0-47-generic #47~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Oct 2 16:16:55 UTC 2 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)
The text was updated successfully, but these errors were encountered: