spritsail / fivem

FiveM GTA modded multiplayer server
https://github.com/citizenfx/fivem
115 stars 141 forks source link

OneSync Argument #27

Closed JoeSzymkowiczFiveM closed 3 years ago

JoeSzymkowiczFiveM commented 3 years ago

Setting the OneSync option through the server.cfg is now deprecated and you're required to set it in the execution arguments. Can you add a config argument for OneSync to this image? Here is documentation regarding the change - https://forum.cfx.re/t/onesync-infinity-how-to-use-it/996612 .

onvrb commented 3 years ago

You can set that on txAdmin through Settings > FXServer. Unfortunately I don't think you can access txAdmin with spritsail/fivem image. It was asked 5 months a fix, but they never accepted it. Feel free to use my fork as an alternative where I expose the txAdmin port 40120 on the Dockerfile.

JoeSzymkowiczFiveM commented 3 years ago

It seems unnecessary to add txAdmin simply for the purpose of setting a launch argument. As the popularity and stability of OneSync increases, and deprecation of the config option occurs, I think it would be good to have this as a Docker argument. If the maintainer wants me to do a PR, I can give it my best shot.

frebib commented 3 years ago

We're open to suggestions for how you think this should be implemented. I'm happy to merge in anything that's helpful and not redundant

JoeSzymkowiczFiveM commented 3 years ago

Just a simple -e ONESYNC=true/false in the CONFIG_ARGS to add or not add +set onesync on argument to the exec command.

Adam-Ant commented 3 years ago

Indeed, nice easy fix! Added it in now, CI should build an image shortly. Any problems please reopen this issue and we'll have a look.

Adam-Ant commented 3 years ago

Apologies - reopened. Can I get you to try the image spritsail/fivem:3404 please? Want to see if the issue is the update or the onesync.

JoeSzymkowiczFiveM commented 3 years ago

Consolidating back to 1 issue. Sorry for opening the second one.

Creating script environments for sessionmanager
/proc/self/maps:
4086f000-4089f000 rwxp 00000000 00:00 0 
41ce8000-41cf8000 rwxp 00000000 00:00 0 
c6ef800000-c6ef801000 rwxp 00000000 00:00 0 
cbdc92c0000-cbdc9300000 rwxp 00000000 00:00 0 
fef5eac0000-fef5eb00000 rwxp 00000000 00:00 0 
fef74100000-fef74140000 rwxp 00000000 00:00 0 
120a23a02000-120a23a40000 ---p 00000000 00:00 0 
120a23a40000-120a23a41000 rwxp 00000000 00:00 0 
120a23a41000-120a23a42000 ---p 00000000 00:00 0 
120a23a42000-120a23a67000 r-xp 00000000 00:00 0 
120a23a67000-120a23a7f000 ---p 00000000 00:00 0 
120a23a7f000-120a2ba02000 ---p 00000000 00:00 0 
1beb79640000-1beb79680000 rwxp 00000000 00:00 0 
240788c40000-240788c80000 rwxp 00000000 00:00 0 
284fb28c0000-284fb28d6000 rwxp 00000000 00:00 0 
2a4d74ac0000-2a4d74b00000 r-xp 00000000 00:00 0 
3bde86328000-3bde86330000 rwxp 00000000 00:00 0 
55571c272000-55571c283000 r-xp 00000000 08:02 4597141                    /opt/cfx-server/FXServer
55571c283000-55571c2dc000 r-xp 00011000 08:02 4597141                    /opt/cfx-server/FXServer
55571c2dc000-55571c2ea000 r-xp 0006a000 08:02 4597141                    /opt/cfx-server/FXServer
55571c2ea000-55571c2eb000 r-xp 00077000 08:02 4597141                    /opt/cfx-server/FXServer
55571c2eb000-55571c2ec000 rwxp 00078000 08:02 4597141                    /opt/cfx-server/FXServer
55571cbd7000-55571cbd8000 ---p 00000000 00:00 0                          [heap]
55571cbd8000-55571cbee000 rwxp 00000000 00:00 0                          [heap]
7f6408c95000-7f6408c96000 rwxp 00000000 00:00 0 
Memory around native instruction pointer (0x7f64223ac68b):
0x7f64223ac67b  0f 7e d2 66 0f 70 d1 4e 66 41 0f 7e d3 44 89 d0  .~.f.p.NfA.~.D..
0x7f64223ac68b  66 41 0f 38 00 c0 66 0f 6f d0 44 31 d8 66 0f 70  fA.8..f.o.D1.f.p
0x7f64223ac69b  d9 e7 66 41 0f 7e de 66 41 0f fe d1 44 21 f0 44  ..fA.~.fA...D!.D
0x7f64223ac6ab  89 ef c1 c7 05 66 0f 7f 54 24 e8 44 31 d0 66 41  .....f..T$.D1.fA
=================================================================
Got a SIGILL while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

uname -a: Linux dockerbox 5.4.0-60-generic #67-Ubuntu SMP Tue Jan 5 18:31:36 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

I tried :3404 image, and still getting the same error so leaning towards the artifact. I reverted back to :3184 tag and server started up fine.

Adam-Ant commented 3 years ago

Frustratingly we can't seem to replicate it here. Can you try a fresh server, with no plugins or config? If possible could we also have your docker run line/compose file? Anything like that we can try to replicate the issue with would be a help.

JoeSzymkowiczFiveM commented 3 years ago

Sorry that detail was in #30 and forgot to copy over.

sudo docker run -d
--name fiveM
--restart=on-failure
-e LICENCE_KEY='asdf'
-p 30120:30120
-p 30120:30120/udp
-v /asdf/asdf/asdf:/config
-ti
spritsail/fivem

Seeing frebibs test, I even updated the resources from cfx-server-data repo to the latest. It's weird that it's crashing on the first resource it tries to load.

JoeSzymkowiczFiveM commented 3 years ago

I installed the update on another Ubuntu 20.04 box, but on a different kernel and slightly different setup, and it runs fine. This is an issue on my end. Thanks for the support boys and keep up the great work.

JoeSzymkowiczFiveM commented 3 years ago

I do want to mention that the machine with the issue was running Ubuntu inside a Hyper-V instance. I have now installed the updated image on 2 Ubuntu machines running on baremetal and no errors. I will be looking at migrating off of Hyper-V I guess.

frebib commented 3 years ago

I don't think this crash in your fault; I'm reasonably certain it's a bug that for some reason appears on your setup. Running in Docker, the host on userland shouldn't affect the application at all, so the only things that really could are the kernel version and tunables. It's a shame that the error dumped isn't more descriptive. I don't really know much about the build process for this software- we take a prebuilt alpine Linux userland and dump it into a Docker image. It's worth raising an issue upstream because if nothing else, they might be able to decode the error, or get it to be more verbose. I'm sorry we couldn't be of more help

JoeSzymkowiczFiveM commented 3 years ago

Found this in the fivem forums. https://forum.cfx.re/t/got-a-sigill-while-executing-native-code/1942714

No documentation about needing updated cpu instruction sets in any of the changelogs or documentation, but some chatter on the fivem discord seemed to confirm this. SSE4.2? or POPCNT? No clue yet, but just thought I would try and add some resolution to this issue. The change seems to take place shortly after artifact 2601. Might be the latest version for those running into this issue, not able to move to new hardware.

frebib commented 3 years ago

@JoeSzymkowiczFiveM what CPU are you running on? # I tested on a Ryzen 2 series which explains why it works

JoeSzymkowiczFiveM commented 3 years ago

AMD Phenom II X6 1100T. Built a server a while back out of some spare parts I had laying around. The processor lacks SSE4.2 but does have POPCNT. Not terribly worried about it anymore. Rebuilt my VM on an Intel NUC I had sitting in a closet, and everything up an running fine. Not sure there is anything for anyone here to do, but I will keep this in mind if I ever update the hardware in that box. Thanks for the discussion though, keep up the great work.