williamcorsel / hassio-addons

My homeassistant addons
MIT License
12 stars 12 forks source link

Bedrock Server Crash - libc++abi Operation not permitted #20

Open wizk7 opened 1 month ago

wizk7 commented 1 month ago

HAMC Server Bedrock Current version: 1.0.3

Home Assistant OS Core 2024.7.3 Supervisor 2024.06.2 Operating System 12.4 Running on Odroid N2+ Note: I found in the bedrock_server_how_to.html:

<h3>Linux</h3>
<p>
 The Linux version of the Bedrock Server requires Ubuntu 18 or later. Other distributions are not supported.

This crash happens very often. It can vary in duration from restart of add-on i.e. could be within 10 seconds or could happen 15 minutes after restart. Usually occurs when I am farther away from my base. Staying close to areas that I frequent keeps it stable.

Can connect to server [2024-07-28 17:31:09:235 INFO] Player connected: uname, xuid: xuid [2024-07-28 17:31:43:840 INFO] Player Spawned: uname xuid: xuid, pfid: pfid

Then it randomly Disconnects me and the server crashes with error:

[2024-07-28 17:34:20:755 INFO] Package: com.mojang.minecraft.dedicatedserver
Version: 1.21.3.01
OS: Linux
Server start: 2024-07-28 17:27:02 PDT
Dmp timestamp: 2024-07-28 17:34:20 PDT
Upload Date: 2024-07-28 17:34:20 PDT
Session ID: 619f5c13-836a-4973-a1f8-e66bffc8bb3e
Commit hash: 60bf22dee81e74537e6397c11c0fbce219ca99d2
Build id: 26164172
CrashReporter Key: 8c4937c1-64cb-3532-a8dc-1deb28f67293

Crash
[2024-07-28 17:34:21:046 INFO] 
libc++abi: terminating due to uncaught exception of type std::__1::system_error: Operation not permitted
2024-07-28T17:35:06.741-0700    WARN    mc-server-runner    Minecraft server failed. Inspect logs above for errors that indicate cause. DO NOT report this line as an error.    {"exitCode": 1}
2024-07-28T17:35:06.948-0700    INFO    mc-server-runner    Done

Can successfully restart server with logs:

time="2024-07-28T17:36:34-07:00" level=debug msg="Using /data to match uid and gid"
time="2024-07-28T17:36:34-07:00" level=debug msg="Resolved UID=0 from match path"
time="2024-07-28T17:36:34-07:00" level=debug msg="Resolved GID=0 from match path"
Looking up latest version...
Starting Bedrock server...
NO LOG FILE! - setting up server logging...
[2024-07-28 17:36:37:918 INFO] Starting Server
[2024-07-28 17:36:37:920 INFO] Version: 1.21.3.01
[2024-07-28 17:36:37:920 INFO] Session ID: 83baf2c2-004d-4934-91d3-9a560c715067
[2024-07-28 17:36:37:920 INFO] Build ID: 26164172
[2024-07-28 17:36:37:921 INFO] Branch: r/21
[2024-07-28 17:36:37:921 INFO] Commit ID: 60bf22dee81e74537e6397c11c0fbce219ca99d2
[2024-07-28 17:36:37:921 INFO] Configuration: Publish
[2024-07-28 17:36:37:939 INFO] Level Name: Bedrock level
[2024-07-28 17:36:37:959 INFO] No CDN config file found for dedicated server
[2024-07-28 17:36:37:960 INFO] Game mode: 0 Survival
[2024-07-28 17:36:37:961 INFO] Difficulty: 1 EASY
[2024-07-28 17:36:38:011 INFO] Content logging to console is enabled.
[2024-07-28 17:36:40:762 INFO] Opening level 'worlds/Bedrock level/db'
[2024-07-28 17:36:42:650 INFO] [Packs] [SERVER] Pack Stack

[2024-07-28 17:37:05:588 INFO] IPv4 supported, port: 19132: Used for gameplay and LAN discovery
[2024-07-28 17:37:05:593 INFO] IPv6 supported, port: 19133: Used for gameplay
[2024-07-28 17:37:06:155 INFO] Server started.
[2024-07-28 17:37:06:175 INFO] ================ TELEMETRY MESSAGE ===================
[2024-07-28 17:37:06:175 INFO] Server Telemetry is currently not enabled. 
[2024-07-28 17:37:06:176 INFO] Enabling this telemetry helps us improve the game.
[2024-07-28 17:37:06:177 INFO] 
[2024-07-28 17:37:06:179 INFO] To enable this feature, add the line 'emit-server-telemetry=true'
[2024-07-28 17:37:06:180 INFO] to the server.properties file in the handheld/src-server directory
[2024-07-28 17:37:06:181 INFO] ======================================================
[2024-07-28 17:37:06:241 INFO] [Scripting] No script plugins found.
williamcorsel commented 1 month ago

Maybe it's related to the fact you're running an ARM processor. If I have time, I will see if I can recreate this issue on my AMD machine.

What you could try is to launch the underlying docker container separately and see if that fixes the issue. On HAOS, you can use the Portainer Add-on to make this easy.

wizk7 commented 1 month ago

I have an RPI 3B+ I can try to deploy it on. It only has 1GB RAM, so that might impact performance, but I think it will do. How can I export my game data and start up a new itzg Docker container with my HA Add-On data?

Same question for using Portainer, how can I export the current game data and use it for the new container?

williamcorsel commented 1 month ago

All bedrock server data is stored in the /addons/hamc-server-bedrock/data folder.

wizk7 commented 1 month ago

Is it as simple as sFTPing all the files in the /addons/hamc-server-bedrock/data directory into the /data directory in the new container and restarting the new container? Is there anything else required?

williamcorsel commented 1 month ago

As the underlying container is the same, I imagine so, you might even be able to mount the same folder in the new container. Please refer to their docs: https://github.com/itzg/docker-minecraft-bedrock-server

williamcorsel commented 1 month ago

Quick update: I can't replicate this issue on my machine (x86) atm