Details
-
Type: Bug
-
Status: Closed
-
Priority: Minor
-
Resolution: Fixed
-
Fix Version/s: OpenVZ-legacy
-
Component/s: Containers::Kernel
-
Security Level: Public
-
Environment:Operating System: All
Platform: x86_64 (AMD64)
-
External issue URL:
-
External issue ID:2206
Description
Hi,
i've seen this bug very often using java based applications in VPS using OpenVZ. Sadly i wasn't able to provide an example with public aivalable software in the past.
Now i am.
1st some details:
1.) CT0 / Hostsystem is running Debian lenny with a custom configured RHEL6 2.6.32-049.5 based kernel
2.) CT100 is running Debian Squeeze
I'm able to reproduce these FUTEX hangs using a the minecraft_server.jar. I can reproduce this with OpenJDK and Sun Java JRE (different versions tested).
I'm starting the minecraft server with:
~# java -Xms512M -Xmx850M -jar minecraft_server.jar nogui
then it seems to start fine but at some point preparing spawn area it just stops. This point is different on every start.
Example output:
177 recipes
27 achievements
2012-03-05 18:58:19 [INFO] Starting minecraft server version 1.2.3
2012-03-05 18:58:19 [INFO] Loading properties
2012-03-05 18:58:19 [INFO] Starting Minecraft server on X:25565
2012-03-05 18:58:19 [WARNING] **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
2012-03-05 18:58:19 [WARNING] The server will make no attempt to authenticate usernames. Beware.
2012-03-05 18:58:19 [WARNING] While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
2012-03-05 18:58:19 [WARNING] To change this, set "online-mode" to "true" in the server.settings file.
2012-03-05 18:58:19 [INFO] Preparing level "Lets Mine Together"
2012-03-05 18:58:19 [INFO] Default game type: 0
2012-03-05 18:58:20 [INFO] Preparing start region for level 0
2012-03-05 18:58:21 [INFO] Preparing spawn area: 12%
2012-03-05 18:58:22 [INFO] Preparing spawn area: 16%
2012-03-05 18:58:23 [INFO] Preparing spawn area: 24%
2012-03-05 18:58:24 [INFO] Preparing spawn area: 32%
2012-03-05 18:58:25 [INFO] Preparing spawn area: 40%
2012-03-05 18:58:26 [INFO] Preparing spawn area: 52%
2012-03-05 18:58:27 [INFO] Preparing spawn area: 65%
2012-03-05 18:58:28 [INFO] Preparing spawn area: 81%
As strace just shows this:
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 492738000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 542959000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 593345000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 643570000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 694108000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 744438000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 794845000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 845246000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 895815000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 946122000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
Why do i think this is a bug?
This is plain simple i've seen exactly this behaviour on totally different java based apps. For example on Amazons AMTU server too. Also this work absolutely fine using an OpenVZ 2.6.18 based kernel.
Stefan
i've seen this bug very often using java based applications in VPS using OpenVZ. Sadly i wasn't able to provide an example with public aivalable software in the past.
Now i am.
1st some details:
1.) CT0 / Hostsystem is running Debian lenny with a custom configured RHEL6 2.6.32-049.5 based kernel
2.) CT100 is running Debian Squeeze
I'm able to reproduce these FUTEX hangs using a the minecraft_server.jar. I can reproduce this with OpenJDK and Sun Java JRE (different versions tested).
I'm starting the minecraft server with:
~# java -Xms512M -Xmx850M -jar minecraft_server.jar nogui
then it seems to start fine but at some point preparing spawn area it just stops. This point is different on every start.
Example output:
177 recipes
27 achievements
2012-03-05 18:58:19 [INFO] Starting minecraft server version 1.2.3
2012-03-05 18:58:19 [INFO] Loading properties
2012-03-05 18:58:19 [INFO] Starting Minecraft server on X:25565
2012-03-05 18:58:19 [WARNING] **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
2012-03-05 18:58:19 [WARNING] The server will make no attempt to authenticate usernames. Beware.
2012-03-05 18:58:19 [WARNING] While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
2012-03-05 18:58:19 [WARNING] To change this, set "online-mode" to "true" in the server.settings file.
2012-03-05 18:58:19 [INFO] Preparing level "Lets Mine Together"
2012-03-05 18:58:19 [INFO] Default game type: 0
2012-03-05 18:58:20 [INFO] Preparing start region for level 0
2012-03-05 18:58:21 [INFO] Preparing spawn area: 12%
2012-03-05 18:58:22 [INFO] Preparing spawn area: 16%
2012-03-05 18:58:23 [INFO] Preparing spawn area: 24%
2012-03-05 18:58:24 [INFO] Preparing spawn area: 32%
2012-03-05 18:58:25 [INFO] Preparing spawn area: 40%
2012-03-05 18:58:26 [INFO] Preparing spawn area: 52%
2012-03-05 18:58:27 [INFO] Preparing spawn area: 65%
2012-03-05 18:58:28 [INFO] Preparing spawn area: 81%
As strace just shows this:
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 492738000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 542959000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 593345000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 643570000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 694108000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 744438000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 794845000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 845246000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 895815000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 5011] futex(0x162a054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1330974452, 946122000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 5011] futex(0x162a028, FUTEX_WAKE_PRIVATE, 1) = 0
Why do i think this is a bug?
This is plain simple i've seen exactly this behaviour on totally different java based apps. For example on Amazons AMTU server too. Also this work absolutely fine using an OpenVZ 2.6.18 based kernel.
Stefan