Hi, On 2019-08-14 14:50, Pavel Matěja wrote: > Package: glibc > Version: 2.28-10:amd64 > > Dear Maintainer, > > We are running manually compiled Apache and OpenSSL on Debian servers in > Debian-based chroots. > After chroot upgrade from Stretch to Buster we started to see strange > SEGFAULTs. > The strange means they appear only on 2 servers out of 6. > Servers with Xeon E5606 and Pentium G6950 were running fine while Xeon > E3-1220 v6 produced crashes. > It did not matter if the host Debian was Stretch or Buster.
[snip] > SSLv3 and TLS code path looked quite distinct to cause the same problem. > Based on info that SEGFAULTs are related to memory allocation in new libc > and CPU performance I found > http://18.104.22.168/patch/17499/ > where Wilco Dijkstra discuss some problems with tcache which "leads to > various crashes in benchtests" This patch looks an early version of the one that has been merged in glibc 2.29 to fix tunables tcache issues: https://sourceware.org/bugzilla/show_bug.cgi?id=24531 The patch has been backported to the upstream glibc 2.28 branch: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=58d2672f64176fcb323859d3bd5240fb1cf8f25c Once we have the fix reaching unstable and then testing, I'll schedule an upload to buster with the changes from the upstream glibc 2.28 branch. > As workaround I tried to > export GLIBC_TUNABLES=glibc.malloc.tcache_count=0 > in Apache startup script and I saw no SEGFAULT since. > > I have coredumps but they contain production private keys for Apache which I > can't share and to make things even worse they are 1,6GB each. > > I understand this is heisenbug which you won't be able to reproduce. The CPU > model dependency is beyond my comprehension. > I'm curious if you are familiar with the new tcache and if you think if the > patch in discussion can help. > I'll try to build libc6 package with it to confirm final solution but I'm > confused by the patch tree so far. You can easily build a fixed glibc package that way (providing you have the glibc build-dependencies, devscripts and git installed): apt-get source glibc cd glibc-2.28/ quilt pop -a debian/rules update-from-upstream dch -i + set the version you want + add a new changelog entry debuild Regards, Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net