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

Bug#551903: libc6-i686 pthread_cond_wait fails to reacquire mutex upon cancellation



Package: libc6-i686
Version: 2.10.1-1
Severity: critical
Justification: breaks unrelated software


	Hello,

With the upgrade to 2.10.1, pthread_cond_wait() fails to re-acquire the
provided mutex when acting on a deferred cancellation event from
another thread. This is seen if (and apparently, only if) another thread
acquires the same mutex after cancellation is initiated, but before the
cancelled thread executes cancellation cleanup handlers.

I could not reproduce the problem with plain libc6. It only occurs with
libc6-i686 installed.

I wrote a simple test case at:
http://www.remlab.net/files/divers/condfail.c

This is a violation of POSIX threads semantics, and a regression from
earlier libc6-i686. This also renders VLC media player debug versions
almost completely unusable.

Best regards,

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (100, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.30.9 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libc6-i686 depends on:
ii  libc6                         2.10.1-1   GNU C Library: Shared libraries

libc6-i686 recommends no packages.

libc6-i686 suggests no packages.

-- no debconf information



Reply to: