Bug#906917: sem_timedwait could always block and returns ETIMEOUT but decrements the value on i686 architecture

2019-01-16 Thread Florian Weimer
* Андрей Доценко: > The problem occurs only when using semaphores in a library that is not > linked against pthread. Yes, that's expected. Sorry I didn't see this earlier—we have an upstream bug about this: In general, underlinking

Bug#906917: sem_timedwait could always block and returns ETIMEOUT but decrements the value on i686 architecture

2019-01-16 Thread Андрей Доценко
I've made all sem_timedwait work. One of the libraries was missing *pthread* linkage but was linked to a process that links to pthread itself. Message > undefined reference to symbol 'sem_timedwait@@GLIBC_2.2' > was not shown in the project. But it is shown it the test case if I remove pthread

Bug#906917: sem_timedwait could always block and returns ETIMEOUT but decrements the value on i686 architecture

2019-01-14 Thread Андрей Доценко
An update to my last answer. A lot of time passed since I've made this issue and many changes to the project too. I tested again in Docker and critical rt semaphores start working (changes didn't touch them as git blame says). But now I still see some other strange behaviour that "cannot happen"

Bug#906917: sem_timedwait could always block and returns ETIMEOUT but decrements the value on i686 architecture

2019-01-14 Thread Андрей Доценко
No, we use single architecture for all the processes. Our software works fine with Ubuntu 14.04 (i386 and amd64 versions) and Debian 9 (amd64). Only Denian 9 i386 has this problem. Problem reproduced with Docker i386 container too. At the first time problem has been found in the Docker image, so I

Bug#906917: sem_timedwait could always block and returns ETIMEOUT but decrements the value on i686 architecture

2019-01-11 Thread Aurelien Jarno
On 2019-01-11 16:50, Андрей Доценко wrote: > > > > On your side, have you been able to reproduce the problem *without* > > ASAN, even on a bigger codebase? I wonder if it is actually a side > > effect of ASAN. > > > > All *sem_timedwait* calls do not work in the codebase of our project > without

Bug#906917: sem_timedwait could always block and returns ETIMEOUT but decrements the value on i686 architecture

2019-01-11 Thread Андрей Доценко
> > On your side, have you been able to reproduce the problem *without* > ASAN, even on a bigger codebase? I wonder if it is actually a side > effect of ASAN. > All *sem_timedwait* calls do not work in the codebase of our project without ASAN. So we cannot use i386 hardware in our embedded

Bug#906917: sem_timedwait could always block and returns ETIMEOUT but decrements the value on i686 architecture

2018-12-30 Thread Aurelien Jarno
Hi, On 2018-08-22 13:02, Андрей Доценко wrote: > Package: libc6 > Version: 2.24-11+deb9-u3 > > Using sem_timedwait on i686 gives random results. In out proprietary > software semaphore used by two processes and located in shared memory > mapped with mmap. All works under amd64 architecture and