RELENG_7 libthr: _umtx_op -1 errno 60 Operation timed out

Andriy Gapon avg at
Fri May 23 07:28:28 UTC 2008

on 23/05/2008 10:09 Andriy Gapon said the following:
> on 13/05/2008 16:26 Andriy Gapon said the following:
>> I observe the following issue with some programs (e.g. firefox) from
>> time. A completely idle program suddenly starts using a lot of CPU and
>> sometimes memory too. For example, minimized firefox with no pages open.
>> Restarting the program make the behavior go away.
>> On one such occasion I ran ktrace on firefox and I saw a lot of messages
>> like the following in kdump:
>>  13974 firefox-bin RET   _umtx_op -1 errno 60 Operation timed out
>> Attaching with gdb I also saw a quite strange stack (unfortunately
>> firefox and the libs are without debug). I didn't save it but it looked
>> something like the following:
>> __error()
>> ??
>> ??
>> pthread_cond_init()
>> ??
>> I wonder what could be a cause of this.
>> Could it be some sort of resource limitation?
> Here is more details from userland part.
> I re-built libthr with debugging and here's a typical stack trace for 
> the described above condition:
> 0x28ad26b3 in _umtx_op_err () at 
> /system/src/lib/libthr/arch/i386/i386/_umtx_op_err.S:36
> 36      SYSCALL_ERR(_umtx_op)
> (gdb) bt
> #0  0x28ad26b3 in _umtx_op_err () at 
> /system/src/lib/libthr/arch/i386/i386/_umtx_op_err.S:36
> #1  0x28ad22bd in _thr_ucond_wait (cv=0x8209860, m=0x8209840, 
> timeout=0x0, check_unparking=1) at 
> /system/src/lib/libthr/thread/thr_umtx.c:129
> #2  0x28ad0609 in cond_wait_common (cond=0x8208108, mutex=0x820810c, 
> abstime=0x0, cancel=1) at /system/src/lib/libthr/thread/thr_cond.c:204
> #3  0x28ad06e8 in __pthread_cond_wait (cond=0x8208108, mutex=0x820810c) 
> at /system/src/lib/libthr/thread/thr_cond.c:228

oops, sorry, the above stack trace is for a good program in cond_wait.
I'll try to get one for a program in a bad state once I get it.

> I am a newbie in this area - what is the difference between 
> _pthread_cond_wait and __pthread_cond_wait? And _X vs __X in general?

Andriy Gapon

More information about the freebsd-threads mailing list