Upgrading to RHEL 6.6, 7.0 or 7.1 may result in an application, using futexes, appearing to stall in futex_wait()
- Softlockup with pThreads, Mutexes on Haswell CPUs and PowerPC CPUs (but may not be limited to just these)
- After upgrading to Red Hat Enterprise Linux 6.6 (specifically 2.6.32-504 up to and including 2.6.32-504.12.2) may result in an application hang.
- Cannot get a thread dump using
kill -3doesn't respond.
/proc/shows all threads are stuck waiting on a futex. For example:
Where nnnn = the PID # of the parent task in question mmmm = the PID # of the thread task Note. Under the parent /proc/nnnn/task structure you will see the PID's of all of the threads including the parents number repeated. cat /proc/nnnn/task/mmmm/stack [<ffffffff810b226a>] futex_wait_queue_me+0xba/0xf0 [<ffffffff810b33a0>] futex_wait+0x1c0/0x310 [<ffffffff810b4c91>] do_futex+0x121/0xae0 [<ffffffff810b56cb>] sys_futex+0x7b/0x170 [<ffffffff8100b072>] system_call_fastpath+0x16/0x1b [<ffffffffffffffff>] 0xffffffffffffffff
stracecauses the application to wake up and continue processing.
- Red Hat Enterprise Linux (RHEL) 6.6, 7.0 and 7.1
Application uses syscall FUTEX with Private Userspace futex locking
- Does not affect Shared or Inode Futex locking
Other possible packages may include:
- IBM JDK 6 32-bit
- Oracle JDK 7 64-bit
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.