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

Bug#596990: marked as done (__pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed. (Bug 479952))



Your message dated Fri, 10 Jan 2025 19:21:41 +0100
with message-id <Z4FlNZPHfRT47ob2@aurel32.net>
and subject line Re: Bug#596990: doubly unlocking?
has caused the Debian Bug report #596990,
regarding __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed. (Bug 479952)
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.)


-- 
596990: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=596990
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libc6
Version: 2.11.2-5
Severity: normal

Hi,

unfortunately I'm able to reproduce the Bug 479952 with the current Debian
Squeeze i686 libc6-2.11.2-2 & gcc 4:4.4.4-2.
The Error comes up with my code only sometimes. While investigating the Bug I
found the 'reproduce code' from Will Murnane called 'break_pthread.cpp'. The
Error is reproducable each time I rerun his code.
Is it possible that the Bug is open again?

Thanks,

Alex Merkle

I'm sorry, but this is my first BUG Report. If you need additional information
please let me know.





-- System Information:
Debian Release: squeeze/sid
  APT prefers testing-proposed-updates
  APT policy: (500, 'testing-proposed-updates'), (500, 'testing')
Architecture: i386 (i686)

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

Versions of packages libc6 depends on:
ii  libc-bin                      2.11.2-5   Embedded GNU C Library: Binaries
ii  libgcc1                       1:4.4.4-8  GCC support library

Versions of packages libc6 recommends:
ii  libc6-i686                    2.11.2-5   Embedded GNU C Library: Shared lib

Versions of packages libc6 suggests:
ii  debconf [debconf-2.0]         1.5.35     Debian configuration management sy
pn  glibc-doc                     <none>     (no description available)
ii  locales                       2.11.2-5   Embedded GNU C Library: National L

-- debconf information excluded



--- End Message ---
--- Begin Message ---
On 2010-10-15 17:45, tad wrote:
> Hi, Alex.
> 
> Just for some hint.
> break_pthread.cpp has a doubly unlocking path in worker() function. 
> You can eliminate it like this:
> 
> --- /tmp/break_pthreads.cpp     2010-10-15 17:27:26.362761567 +0900
> +++ /tmp/break_pthreads2.cpp    2010-10-15 17:27:51.576094901 +0900
> @@ -46,8 +46,8 @@
>          toDo.pop_back();
>          workgot++;
>        }
> +      pthread_mutex_unlock(&work_lock);
>      }
> -    pthread_mutex_unlock(&work_lock);
>      for (unsigned int i = 0; i < workgot; i++)
>      {
>        finishWork(workingOn[i]);
> 
> Although I don't know whether aborting is a 'bug' or not, at least 
> with my host on rebuilt 2.11.2-6 glibc, this was the point.
> If your program has same flow, you might avoid problem.

Yep, I confirm that this is an issue in the attached test which tries to
unlock an already unlocked mutex, and that your fix is correct. Note
that broken the test still triggers the same issue even on a modern
glibc (2.40).

I am therefore closing the bug.

Regards
Aurelien

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

--- End Message ---

Reply to: