Element-0 / ElementZero

Run windows version of BDS in linux with Mod support
GNU General Public License v3.0
272 stars 51 forks source link

Enabling any mod crashes with "abnormal program termination" #78

Closed Weissnix4711 closed 4 years ago

Weissnix4711 commented 4 years ago

Title. Setting mods-enable: true doesn't make a difference as long as all the mods are individually disabled. But, enabling any mod causes a crash. It doesn't matter which.

Output:

(Please note I use custom scripts to start and stop + remove docker containers. Just makes it a little more convenient. But they don't affect anything)

server@X453MA:~/bds_mod$ ./start_container.sh && docker attach bedrock-launcher
a33909c958a7ef3401e92b2b1bc9bd88ac8f50c503bf64a337bc255c46ea1af6

Started!

CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS                  PORTS                      NAMES
a33909c958a7        codehz/wine:bdlauncher-runtime   "/opt/wine/bin/wine6…"   1 second ago        Up Less than a second   0.0.0.0:19133->19132/udp   bedrock-launcher
Injected!
HealthCheck 0000000140000000 00000001400A5DE0
2020-05-29 16:37:43 V [Base] (Mod::Base:123) Current thread id: 9
2020-05-29 16:37:43 I [Base] (Mod::Base:124) Base mod loaded, setting up CtrlC handler...
2020-05-29 16:37:43 V [LogDatabase] (Mod::Base:164) initialized (location log.db)
2020-05-29 16:37:43 I [ModLoader] (Mod::Base:108) Starting loading mods
2020-05-29 16:37:43 V [ModLoader] (Mod::Base:125) Loading Z:\data\Mods\Audit.dll
2020-05-29 16:37:43 I [ModLoader] (Mod::Base:150) Loaded  Audit.dll

abnormal program termination
server@X453MA:~/bds_mod$ nano data/custom.yaml 
server@X453MA:~/bds_mod$ ./stop_container.sh 
bedrock-launcher
bedrock-launcher
server@X453MA:~/bds_mod$ ./start_container.sh && docker attach bedrock-launcher
900b1ca51cd383795700f9f4c4f7583b543ccb79085c0aae4a9872c6d3ab63a7

Started!

CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS                  PORTS                      NAMES
900b1ca51cd3        codehz/wine:bdlauncher-runtime   "/opt/wine/bin/wine6…"   2 seconds ago       Up Less than a second   0.0.0.0:19133->19132/udp   bedrock-launcher
Injected!
HealthCheck 0000000140000000 00000001400A5DE0
2020-05-29 16:38:14 V [Base] (Mod::Base:123) Current thread id: 9
2020-05-29 16:38:14 I [Base] (Mod::Base:124) Base mod loaded, setting up CtrlC handler...
2020-05-29 16:38:14 V [LogDatabase] (Mod::Base:164) initialized (location log.db)
2020-05-29 16:38:14 I [ModLoader] (Mod::Base:108) Starting loading mods
2020-05-29 16:38:14 V [ModLoader] (Mod::Base:125) Loading Z:\data\Mods\BasicAntiCheat.dll
2020-05-29 16:38:14 I [ModLoader] (Mod::Base:150) Loaded  BasicAntiCheat.dll

abnormal program termination
server@X453MA:~/bds_mod$ 

Edit: more info

server@X453MA:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:    10
Codename:   buster
server@X453MA:~$ docker version 
Client:
 Version:           18.09.1
 API version:       1.39
 Go version:        go1.11.6
 Git commit:        4c52b90
 Built:             Tue, 03 Sep 2019 19:59:35 +0200
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.09.1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.11.6
  Git commit:       4c52b90
  Built:            Tue Sep  3 17:59:35 2019
  OS/Arch:          linux/amd64
  Experimental:     false
Weissnix4711 commented 4 years ago

Update: tried using docker-compose even though I know that will really not change anything. At this point, idk. I'm hoping a miracle happens. But no. Docker compose doesn't fix anything. Why would it?

server@X453MA:~/bds_mod$ docker-compose up
Starting bedrockmod ... done
Attaching to bedrockmod
bedrockmod    | Injected!
bedrockmod    | HealthCheck 0000000140000000 00000001400A5DE0
bedrockmod    | 2020-06-13 09:07:51 V [Base] (Mod::Base:123) Current thread id: 9
bedrockmod    | 2020-06-13 09:07:51 I [Base] (Mod::Base:124) Base mod loaded, setting up CtrlC handler...
bedrockmod    | 2020-06-13 09:07:51 V [LogDatabase] (Mod::Base:164) initialized (location log.db)
bedrockmod    | 2020-06-13 09:07:51 I [ModLoader] (Mod::Base:108) Starting loading mods
bedrockmod    | 2020-06-13 09:07:51 V [ModLoader] (Mod::Base:125) Loading Z:\data\Mods\BasicAntiCheat.dll
bedrockmod    | 2020-06-13 09:07:51 I [ModLoader] (Mod::Base:150) Loaded  BasicAntiCheat.dll
bedrockmod    | 
bedrockmod    | abnormal program termination
bedrockmod exited with code 3
Weissnix4711 commented 4 years ago

Interesting fact: it works on Debian Bullseye. I don't know why. I don't know what would cause it to work in 11, but not 10.

Might be a problem with docker. Maybe it's just because deb 11's repo has a newer version of docker.

Debian 10 machine:

server@X453MA:~/bds_mod$ docker --version
Docker version 18.09.1, build 4c52b90

Deb 11 machine:

thomas@thom-laptop:~/bedrockmod$ docker --version
Docker version 19.03.7, build 7141c19

I'm not going to close this issue yet, because honestly telling someone to use a testing version of debian isn't exactly a permanent solution. Until this we know for certain what causes this, we can't really called it fixed, can we?

I will be installing docker 19.03.7 on my deb buster machine, and I'll keep you updated whether it works or not.

Edit: hasn't helped at all. I've now tried updating debian entirely, and it still fails. Honestly, at this point I really don't know what to do.

Weissnix4711 commented 4 years ago

Solution: Add Docker's own repository, and install the latest version of docker from there. Using the version from Debian's own repository is not sufficient.