TLS and UML = PITA

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.

2 thoughts on “TLS and UML = PITA”

  1. 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.

Leave a Reply

Your email address will not be published. Required fields are marked *