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

Panic on Fedora 35 and 36 #96

Closed
hangxie opened this issue Nov 8, 2021 · 3 comments
Closed

Panic on Fedora 35 and 36 #96

hangxie opened this issue Nov 8, 2021 · 3 comments
Labels
wontfix This will not be worked on

Comments

@hangxie
Copy link
Owner

hangxie commented Nov 8, 2021

Fedora 33 and 34, but failed on 35 and 36, error from 36:

# ./parquet-tools-v1.10.1-linux-amd64
runtime/cgo: pthread_create failed: Operation not permitted
SIGABRT: abort
PC=0x7f2996e7b39c m=0 sigcode=18446744073709551610

goroutine 0 [idle]:
runtime: unknown pc 0x7f2996e7b39c
stack: frame={sp:0x7ffdc062a060, fp:0x0} stack=[0x7ffdbfe2b5b8,0x7ffdc062a5f0)
0x00007ffdc0629f60:  0x00007ffdc062a430  0x00000000033662e0
0x00007ffdc0629f70:  0x0000000000203000  0x0000000001708480
0x00007ffdc0629f80:  0x00007f297027805b  0x00007f299700ee9f
0x00007ffdc0629f90:  0x0000000000000001  0x0000000000000000
0x00007ffdc0629fa0:  0x2525252525252525  0x2525252525252525
0x00007ffdc0629fb0:  0x000000ffffffffff  0x0000000000000000
0x00007ffdc0629fc0:  0x000000ffffffffff  0x0000000000000000
0x00007ffdc0629fd0:  0x415353454d5f434c  0x505f434c00534547
0x00007ffdc0629fe0:  0x0000000000000000  0x0000000000000000
0x00007ffdc0629ff0:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a000:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a010:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a020:  0x6e75720000000000  0x6f67632f656d6974
0x00007ffdc062a030:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a040:  0x3b31303d63706d2e  0x67676f2e2a3a3633
0x00007ffdc062a050:  0x2a3a36333b31303d  0x00007f2996e7b38e
0x00007ffdc062a060: <0x3d7661772e2a3a36  0x2e2a3a36333b3130
0x00007ffdc062a070:  0x333b31303d61676f  0x7375706f2e2a3a36
0x00007ffdc062a080:  0x2a3a36333b31303d  0x3b31303d7870732e
0x00007ffdc062a090:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a0a0:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a0b0:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a0c0:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a0d0:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a0e0:  0x0000000000000000  0x83af847d47132c00
0x00007ffdc062a0f0:  0x00007f2996de9740  0x0000000000000006
0x00007ffdc062a100:  0x00000000033662e0  0x0000000000203000
0x00007ffdc062a110:  0x0000000001708480  0x00007f2996e2e696
0x00007ffdc062a120:  0x00007f2996fe8990  0x00007f2996e187f3
0x00007ffdc062a130:  0x0000000000000020  0x0000000000000000
0x00007ffdc062a140:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a150:  0x0000000000000000  0x0000000000000000
runtime: unknown pc 0x7f2996e7b39c
stack: frame={sp:0x7ffdc062a060, fp:0x0} stack=[0x7ffdbfe2b5b8,0x7ffdc062a5f0)
0x00007ffdc0629f60:  0x00007ffdc062a430  0x00000000033662e0
0x00007ffdc0629f70:  0x0000000000203000  0x0000000001708480
0x00007ffdc0629f80:  0x00007f297027805b  0x00007f299700ee9f
0x00007ffdc0629f90:  0x0000000000000001  0x0000000000000000
0x00007ffdc0629fa0:  0x2525252525252525  0x2525252525252525
0x00007ffdc0629fb0:  0x000000ffffffffff  0x0000000000000000
0x00007ffdc0629fc0:  0x000000ffffffffff  0x0000000000000000
0x00007ffdc0629fd0:  0x415353454d5f434c  0x505f434c00534547
0x00007ffdc0629fe0:  0x0000000000000000  0x0000000000000000
0x00007ffdc0629ff0:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a000:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a010:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a020:  0x6e75720000000000  0x6f67632f656d6974
0x00007ffdc062a030:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a040:  0x3b31303d63706d2e  0x67676f2e2a3a3633
0x00007ffdc062a050:  0x2a3a36333b31303d  0x00007f2996e7b38e
0x00007ffdc062a060: <0x3d7661772e2a3a36  0x2e2a3a36333b3130
0x00007ffdc062a070:  0x333b31303d61676f  0x7375706f2e2a3a36
0x00007ffdc062a080:  0x2a3a36333b31303d  0x3b31303d7870732e
0x00007ffdc062a090:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a0a0:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a0b0:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a0c0:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a0d0:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a0e0:  0x0000000000000000  0x83af847d47132c00
0x00007ffdc062a0f0:  0x00007f2996de9740  0x0000000000000006
0x00007ffdc062a100:  0x00000000033662e0  0x0000000000203000
0x00007ffdc062a110:  0x0000000001708480  0x00007f2996e2e696
0x00007ffdc062a120:  0x00007f2996fe8990  0x00007f2996e187f3
0x00007ffdc062a130:  0x0000000000000020  0x0000000000000000
0x00007ffdc062a140:  0x0000000000000000  0x0000000000000000
0x00007ffdc062a150:  0x0000000000000000  0x0000000000000000

goroutine 1 [running]:
runtime.systemstack_switch()
	/usr/local/go/src/runtime/asm_amd64.s:350 fp=0xc000050780 sp=0xc000050778 pc=0x462f60
runtime.main()
	/usr/local/go/src/runtime/proc.go:174 +0x7b fp=0xc0000507e0 sp=0xc000050780 pc=0x43771b
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc0000507e8 sp=0xc0000507e0 pc=0x465181

rax    0x0
rbx    0x7f2996de9740
rcx    0x7f2996e7b39c
rdx    0x6
rdi    0x15
rsi    0x15
rbp    0x15
rsp    0x7ffdc062a060
r8     0x7ffdc062a130
r9     0x7f2996fa24e0
r10    0x8
r11    0x246
r12    0x6
r13    0x203000
r14    0x1708480
r15    0x7f297027805b
rip    0x7f2996e7b39c
rflags 0x246
cs     0x33
fs     0x0
gs     0x0
@hangxie
Copy link
Owner Author

hangxie commented Nov 8, 2021

This seems to be caused by glibc changes, here are versions for different Fedora release:

glibc-2.32-10.fc33.x86_64
glibc-2.33-20.fc34.x86_64
glibc-2.34-7.fc35.x86_64
glibc-2.34.9000-16.fc36.x86_64

I will setup a VM to see if I can re-product this, the original error happened to docker environment and can be resolved by running container with --privileged

@hangxie
Copy link
Owner Author

hangxie commented Nov 8, 2021

Searched around and found this one may help: https://issueexplorer.com/issue/elastic/apm-server/6238:

Glibc 2.34 started to use the new clone3 syscall on thread creation (in the pthread_create() function from my understanding). This syscall sometimes returns EPERM leading to the following crash (https://github.com/golang/go/blob/4e308d73ba3610838305997b6f4793c4f4dcfc4e/src/runtime/cgo/gcc_libinit.c#L94). I say "sometimes" because there are other successful clone3() calls before.

And actions/runner-images#3812:

glibc 2.34 will try to use clone3 if available to enable hardware-assisted security hardening on recent x86-64 CPUs. Presently this does not work in Azure DevOps and Github Actions because the clone3 system call is blocked by seccomp policy.

@hangxie
Copy link
Owner Author

hangxie commented Nov 9, 2021

Tested with VM (Fedora 35) and the build runs fine, closing this one as it has nothing to do with parquet-tools code or build, and problem with container can be resolved by providing --privilege.

@hangxie hangxie closed this as completed Nov 9, 2021
@hangxie hangxie added the wontfix This will not be worked on label Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

1 participant