Bug 1371784 - possible a futex_wait seems to starve my IntelliJ
Summary: possible a futex_wait seems to starve my IntelliJ
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 23
Hardware: x86_64
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-08-31 06:19 UTC by GroovieMan
Modified: 2016-09-24 21:25 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-09-24 21:25:49 UTC
Type: Bug


Attachments (Terms of Use)

Description GroovieMan 2016-08-31 06:19:20 UTC
Description of problem:
Sometime my IntelliJ (Java IDE) locks up and eats up CPU time.
When i perform a strace on that process i get a lot of traced
os-function call:

[pid  6254] fstat(659,  <unfinished ...>
[pid  6255] futex(0x7f58b0051f54, FUTEX_WAIT_BITSET_PRIVATE, 1, {2305, 953203816}, ffffffff <unfinished ...>
[pid  6254] <... fstat resumed> {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
[pid  6254] ioctl(659, FIONREAD, [0])   = 0
[pid  6254] futex(0x7f58b003e354, FUTEX_WAIT_BITSET_PRIVATE, 1, {2305, 953244167}, ffffffff <unfinished ...>
[pid  6255] <... futex resumed> )       = -1 ETIMEDOUT (Connection timed out)
[pid  6254] <... futex resumed> )       = -1 ETIMEDOUT (Connection timed out)
[pid  6255] futex(0x7f58b0051f28, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid  6254] futex(0x7f58b003e328, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid  6255] <... futex resumed> )       = 0
[pid  6254] <... futex resumed> )       = 0
[pid  6255] fstat(661,  <unfinished ...>
[pid  6254] fstat(659,  <unfinished ...>
[pid  6255] <... fstat resumed> {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
[pid  6254] <... fstat resumed> {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
[pid  6255] ioctl(661, FIONREAD <unfinished ...>
[pid  6254] ioctl(659, FIONREAD <unfinished ...>
[pid  6255] <... ioctl resumed> , [0])  = 0
[pid  6254] <... ioctl resumed> , [0])  = 0
[pid  6255] futex(0x7f58b0051f54, FUTEX_WAIT_BITSET_PRIVATE, 1, {2305, 958417877}, ffffffff <unfinished ...>
[pid  6254] futex(0x7f58b003e354, FUTEX_WAIT_BITSET_PRIVATE, 1, {2305, 958422545}, ffffffff <unfinished ...>
[pid  6255] <... futex resumed> )       = -1 ETIMEDOUT (Connection timed out)
[pid  6254] <... futex resumed> )       = -1 ETIMEDOUT (Connection timed out)
[pid  6255] futex(0x7f58b0051f28, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid  6254] futex(0x7f58b003e328, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid  6255] <... futex resumed> )       = 0
[pid  6254] <... futex resumed> )       = 0
[pid  6255] fstat(661,  <unfinished ...>
[pid  6254] fstat(659,  <unfinished ...>
[pid  6255] <... fstat resumed> {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
[pid  6254] <... fstat resumed> {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
[pid  6255] ioctl(661, FIONREAD <unfinished ...>
[pid  6254] ioctl(659, FIONREAD <unfinished ...>
[

I was googl'ing around and found a page that seems to describe
the behaviour of that behaviour quite well:

https://support.datastax.com/hc/en-us/articles/206259833-Nodes-appear-unresponsive-due-to-a-Linux-futex-wait-kernel-bug

Version-Release number of selected component (if applicable):
see this using:
jdk1.8.0_91-1.8.0_91-fcs.x86_64
jdk1.8.0_102-1.8.0_102-fcs.x86_64

How reproducible:
Any time, when IntelliJ is inspecting code with heavy use
of Generics and functional programming (Yes its Java8).

Steps to Reproduce:
1.
2.
3.

Actual results:
IntelliJ UI lockup for several minutes

Expected results:
Responsive behaviour!

Additional info:
https://groups.google.com/forum/#!searchin/mechanical-sympathy/futex_wait$20bug%7Csort:relevance/mechanical-sympathy/QbmpZxp6C64/BonaHiVbEmsJ

Comment 1 Laura Abbott 2016-09-23 19:50:17 UTC
*********** MASS BUG UPDATE **************
 
We apologize for the inconvenience.  There is a large number of bugs to go through and several of them have gone stale.  Due to this, we are doing a mass bug update across all of the Fedora 23 kernel bugs.
 
Fedora 23 has now been rebased to 4.7.4-100.fc23.  Please test this kernel update (or newer) and let us know if you issue has been resolved or if it is still present with the newer kernel.
 
If you have moved on to Fedora 24 or 25, and are still experiencing this issue, please change the version to Fedora 24 or 25.
 
If you experience different issues, please open a new bug report for those.

Comment 2 GroovieMan 2016-09-24 21:24:46 UTC
This issue was fixed by IntelliJ.
They had some imperforment implementation
with the analysation of lambda expression
in Java.


Note You need to log in before you can comment on or make changes to this bug.