[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#788799: libc6: pthread_cond_broadcast issue when surrounded by PTHREAD_PRIO_INHERIT mutex on ARM



On 2015-06-15 10:07, Uwe Kleine-König wrote:
> Package: libc6
> Version: 2.21-0experimental0
> Severity: normal
> Tags: upstream fixed-upstream
> Forwarded: https://sourceware.org/bugzilla/show_bug.cgi?id=18463
> 
> Hello,
> 
> the attached program fails with an error on ARM platforms. (I only tested
> armhf, but I think armel is affected, too.)
> 
> The problem is that pthread_mutex_unlock() in the main thread returns
> EPERM which it shouldn't. This only happens when using
> pthread_cond_broadcast, at least two threads and PTHREAD_PRIO_INHERIT.
> 
> For more details refer to the upstream bug[1].
> 
> A possible solution documented in the upstream bug report is to pass
> --enable-kernel=3.15 (or something bigger). 
> According to
> https://buildd.debian.org/status/fetch.php?pkg=glibc&arch=armhf&ver=2.21-0experimental0&stamp=1426842906
> glibc is build using --enable-kernel=2.6.32, I guess that's from the
> setting MIN_KERNEL_SUPPORTED in debian/sysdeps/linux.mk.
> 
> Given that stable has kernel 3.16 the probably easiest solution would be
> to bump the dependency to >= 3.16?!

No, it's not a solution, just a workaround. For stretch we will switch
the minimum kernel to 3.2, that is the one from wheezy. We have always
done such a way so that people can use chroots with different
distributions, and we still have complaints that we don't allow old
enough kernel versions.

The solution would be to backport the upstream fix, but I can't find it
in current git, nor in the bug report. Could you please point it to me?

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                 http://www.aurel32.net


Reply to: