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

Bug#816742: marked as done (libc6: sem_post/sem_wait not working for 32bit to 64bit inter-process communication)



Your message dated Mon, 7 Mar 2016 18:41:07 +0100
with message-id <20160307174107.GA29089@aurel32.net>
and subject line Re: Bug#816742: libc6: sem_post/sem_wait not working for 32bit to 64bit inter-process communication
has caused the Debian Bug report #816742,
regarding libc6: sem_post/sem_wait not working for 32bit to 64bit inter-process  communication
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
816742: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=816742
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libc6
Version: 2.21
Severity: critical
Justification: breaks unrelated software

Inter-process communication between a 64bit and a 32bit process is not working. At least pthread named semaphores are not working.
A sem_wait is not awaken if a corresponding sem_post is done on the other side, which generated a dead lock.

This problem only exists if a 64bit process communicates with a 32bit process but not for 32bit to 32bit communication or 64bit to 64bit communication.
Moreover Debian 8.3 and all other tested distributions have no problem with 64bit to 32bit inter-process communication using pthread named semaphores.

The problem seems to be related to the (new) FUTEX_PRIVATE_FLAG flag of futex. The sem_post command (for a named semaphore) seems to make a futex system call using the FUTEX_PRIVATE_FLAG which seems to be wrong.

-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (900, 'testing'), (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.3.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)


--- End Message ---
--- Begin Message ---
On 2016-03-05 08:46, Carlos O'Donell wrote:
> On Sat, Mar 5, 2016 at 7:28 AM, Aurelien Jarno <aurelien@aurel32.net> wrote:
> > control: forwarded -1 https://sourceware.org/bugzilla/show_bug.cgi?id=17980
> 
> Semaphore interoperability between two different ABIs has never been
> supported. It worked because you were lucky and the implementation was
> flawed. To fix the implementation flaws (which are real), we've had to
> adopt slightly different algorithms for 32-bit and 64-bit.

Given this was something not officially supported, but only working by
chance, we can't consider that as a regression. I am therefore closing
the bug.

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

--- End Message ---

Reply to: