Comment 65 for bug 1640518

Revision history for this message
William J. Schmidt (wschmidt-g) wrote :

Here's another interesting data point. The original bug description specifies that the memory corruption is not seen on Ubuntu 15. Per https://bugzilla.linux.ibm.com/show_bug.cgi?id=117535, however, transactional lock elision has been enabled by default since Ubuntu 15.04 (glibc 2.21). Yet on 16.04, the use of TLE is sufficient to cause the stack corruption.

This seems to deepen the mystery more than it illuminates it. Have there been changes to TLE between the releases that could be at fault? Is another unknown component involved?

I'm told this morning that so far no failures are observed using the mprotect canary, the working theory being that the syscall disturbs the timing too much. Otherwise our results are consistent with yours on 16.04: failures with TLE enabled, no failures with the LD_PRELOAD workaround.