Re: futex wait failure

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

 



On Tue, Dec 22, 2009 at 10:03 AM, John David Anglin
<dave@xxxxxxxxxxxxxxxxxx> wrote:
> I recently update gsyprf11 to the latest debian testing.  I also
> tried 2.6.32.2, first SMP, then UP because of /bin/sh segmentation
> faults.
>
> I think the /bin/sh segmentation faults are the vfork issue, but
> the vfork testcases run successfully on the above.

That's a shame, the testcase was pretty straight forward. I will try
to update the test case when I have my new kernel running.

> My first attempt at running the GCC testsuite hung:
> dave@gsyprf11:~/gcc-4.5/objdir$ strace -p 18073
> Process 18073 attached - interrupt to quit
> futex(0x1c538, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
> Process 18073 detached
> dave@gsyprf11:~/gcc-4.5/objdir$ strace -p 18091
> attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted
>
> This is the backtrace for expect:
>
> 0x4039934c in __lll_lock_wait () from /lib/libpthread.so.0
> (gdb) bt
> #0  0x4039934c in __lll_lock_wait () from /lib/libpthread.so.0
> #1  0x4038f9c4 in pthread_mutex_lock () from /lib/libpthread.so.0
> #2  0x40b73008 in pthread_mutex_lock () from /lib/libc.so.6
> #3  0x4085eeb8 in Tcl_WaitForEvent () from /usr/lib/libtcl8.5.so.0
> #4  0x4081ccdc in Tcl_DoOneEvent () from /usr/lib/libtcl8.5.so.0
> #5  0x4003d9c4 in exp_get_next_event () from /usr/lib/libexpect.so.5.44.1.14
> #6  0x4001c6bc in expRead () from /usr/lib/libexpect.so.5.44.1.14
> #7  0x4001eea0 in Exp_ExpectObjCmd () from /usr/lib/libexpect.so.5.44.1.14
> ...
>
> This is just a guess but I would guess that the gfortran task either
> didn't update the futex address, or is blocked from doing so.
>
> libc6 is 2.10.2-2.
>
> This is probably related to the long standing problem with expect
> and tcl8.4 and later.  expect-tcl8.3 works better.
>
> Any thoughts?

You should be looking for the thread (not process) that is supposed to
wake this thread up. It's a private futex, meaning it isn't going to
be shared with any other process. If it is shared, and the wakeup (or
pthread_mutex_unlock) is issued from another thread in another process
then it won't be seen by the thread in this process.

We might have an hppa specific glibc bug related to the futex private flag.

The hppa lowlevellock.h is a copy of the generic version. Perhaps I
need to update our copy to get recent bug fixes from other targets.

Cheers,
Carlos.
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux