Translated message

A translation of this page exists in English.

RHEL 6.6、7.0、または 7.1 にアップグレードすると、futex を使用しているアプリケーションが futex_wait() で停止する

Solution Verified - Updated -

Issue

  • Haswell CPU および PowerPC CPU において、pThreads や Mutexes でソフトロックアップが発生します (他の CPU でも発生する可能性があります)。
  • Red Hat Enterprise Linux 6.6 (特に 2.6.32-504.12.2 を含む 2.6.32-504 まで) にアップグレードするとアプリケーションがハングする可能性があります。
  • kill -3 を使用してスレッドダンプを取得できません。
  • kill -3 を実行しても反応がありません。
  • /proc/ を調べると、すべてのスレッドが futex を待って停止しているのが分かります。たとえば、以下のような場合です。

/proc/1234/task/12345=[<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
  • gdb または strace で接続すると、アプリケーションの処理が引き続き開始されます。

Environment

  • Red Hat Enterprise Linux (RHEL) 6.6、7.0、 7.1
  • Private Userspace futex ロックを持つ syscall FUTEX をアプリケーションが使用している

    • Shared または Inode Futex ロックには影響しません。
  • 他のパッケージにも以下が含まれている可能性があります。

    • 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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content