-
Notifications
You must be signed in to change notification settings - Fork 564
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
Unknown segfault error 4
in Talos init process
#8628
Comments
Ok I'm a little bit stuck here. I'm trying to get the original binary: buildbox-am:1.22.2 > make initramfs WITH_DEBUG=true
buildbox-am:1.22.2 > unxz -k initramfs-amd64.xz
buildbox-am:1.22.2 > ls
initramfs-amd64 initramfs-amd64.xz signing_key.x509 talosctl-linux-amd64* vmlinuz-amd64
buildbox-am:1.22.2 > cpio -i -F initramfs-amd64
176138 blocks
buildbox-am:1.22.2 > ls
init* initramfs-amd64 initramfs-amd64.xz rootfs.sqsh signing_key.x509 talosctl-linux-amd64* vmlinuz-amd64
buildbox-am:1.22.2 > unsquashfs -d unsqsh rootfs.sqsh
Parallel unsquashfs: Using 16 processors
534 inodes (5076 blocks) to write
[========================================================================================================================================================/] 5076/5076 100%
created 411 files
created 172 directories
created 123 symlinks
created 0 devices
created 0 fifos
created 0 sockets
buildbox-am:1.22.2 > file ./unsqsh/sbin/init
./unsqsh/sbin/init: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=JvWuT5KlgY8tfTBWFiaA/a8XXu9_4_UdkdmYO0Hgd/8r1W5er2ZsleI4dyphLy/IJg0khWPfyIgfmUHbOjC, stripped Why is it stripped? |
I believe our |
Looks correct to me:
|
|
Currently I'm positively certain that this is because Go code |
Okay we found the root of the problem. To disable stripping you also have to remove diff --git a/Dockerfile b/Dockerfile
@@ -595,9 +595,7 @@
END
# NB: We run the cleanup step before creating extra directories, files, and
# symlinks to avoid accidentally cleaning them up.
-COPY ./hack/cleanup.sh /toolchain/bin/cleanup.sh
RUN <<END
- cleanup.sh /rootfs
mkdir -pv /rootfs/{boot/EFI,etc/cri/conf.d/hosts,lib/firmware,usr/local/share,usr/share/zoneinfo/Etc,mnt,system,opt,.extra}
mkdir -pv /rootfs/{etc/kubernetes/manifests,etc/cni/net.d,usr/libexec/kubernetes,/usr/local/lib/kubelet/credentialproviders}
mkdir -pv /rootfs/opt/{containerd/bin,containerd/lib}
@@ -659,9 +657,7 @@
END
# NB: We run the cleanup step before creating extra directories, files, and
# symlinks to avoid accidentally cleaning them up.
-COPY ./hack/cleanup.sh /toolchain/bin/cleanup.sh
RUN <<END
- cleanup.sh /rootfs
mkdir -pv /rootfs/{boot/EFI,etc/cri/conf.d/hosts,lib/firmware,usr/local/share,usr/share/zoneinfo/Etc,mnt,system,opt,.extra}
mkdir -pv /rootfs/{etc/kubernetes/manifests,etc/cni/net.d,usr/libexec/kubernetes,/usr/local/lib/kubelet/credentialproviders}
mkdir -pv /rootfs/opt/{containerd/bin,containerd/lib} Then Currently
Looking at the TEXT google.golang.org/grpc/internal/channelz.(*Channel).String(SB) /.cache/mod/google.golang.org/grpc@v1.63.0/internal/channelz/channel.go
0x8cf4e0 493b6610 CMPQ SP, 0x10(R14)
0x8cf4e4 0f86b4000000 JBE 0x8cf59e
0x8cf4ea 55 PUSHQ BP
0x8cf4eb 4889e5 MOVQ SP, BP
0x8cf4ee 4883ec58 SUBQ $0x58, SP
0x8cf4f2 4883784000 CMPQ 0x40(AX), $0x0 // segfaults here
0x8cf4f7 7461 JE 0x8cf55a Or in Go code func (c *Channel) String() string {
if c.Parent == nil { // segfaults here if c is nil and we have a panic
return fmt.Sprintf("Channel #%d", c.ID)
}
return fmt.Sprintf("%s Channel #%d", c.Parent, c.ID)
} The reason we are not seeing stacktraces or anything, is because They fixed it in grpc/grpc-go#7101 which is in |
Update other modules while we are at it. Closes siderolabs#8628 Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
Update other modules while we are at it. Closes siderolabs#8628 Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
Update other modules while we are at it. Closes siderolabs#8628 Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
Update other modules while we are at it. Closes siderolabs#8628 Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
Bug Report
Reproducible with google.golang.org/grpc 1.63.0
Description
The text was updated successfully, but these errors were encountered: