So it’s sunday and I decide to run apt-get on my Debian box which hosts this here blog and the peapod project page. Mysql 5 gets an update. apt-get stops it: apt-get starts it: and it dies on it’s arse.
Feb 11 15:54:02 hlynes mysqld[707]: 070211 15:54:02 [Note] /usr/sbin/mysqld: Shutdown complete Feb 11 15:54:02 hlynes mysqld[707]: Feb 11 15:54:03 hlynes mysqld_safe[6754]: ended Feb 11 15:55:46 hlynes init: Trying to re-exec init Feb 11 16:01:45 hlynes mysqld_safe[10043]: mysqld got signal 11; Feb 11 16:01:45 hlynes mysqld_safe[10043]: This could be because you hit a bug. It is also possible that this binary Feb 11 16:01:45 hlynes mysqld_safe[10043]: or one of the libraries it was linked against is corrupt, improperly built, Feb 11 16:01:45 hlynes mysqld_safe[10043]: or misconfigured. This error can also be caused by malfunctioning hardware. Feb 11 16:01:45 hlynes mysqld_safe[10043]: We will try our best to scrape up som e info that will hopefully help diagnose Feb 11 16:01:45 hlynes mysqld_safe[10043]: the problem, but since we have alread y crashed, something is definitely wrong Feb 11 16:01:45 hlynes mysqld_safe[10043]: and this may fail.
After much googling it turns out to be to do with the fact that this is a Bytemark virtual machine running under UML. Apparently the tls library which is part of NPTL does some very strange things with memory that work just fine on a normal kernel but not one running under UML.
Anyway the workaround is to move /lib/tls out of the way. Apparently this can fox apache also.
Urm I think you are confusing two completely different things here.
The /lib/tls directory contains the NPTL (Native POSIX Threading Library) enabled version of GlibC – aka the replacement for LinuxThreads. IIRC the name ‘tls’ in this case refers to ‘Thread Local Storage’, or some approximation thereof.
Meanwhile GNU TLS is a library implementing the SSL / TLS encryption protcols. The ‘tls’ in this case refers to ‘Transport Layer Security’.
It is indeed known that UML does not implement the bits neccessary to make NPTL version of GLibC work. The GNU TLS encryption library meanwhile works just fine under UML.
Thanks,
yes, you are absolutely correct. GNU TLS and /lib/tls are not related at all.