Raised This Month: $ Target: $400
 0% 

Crash in Docker


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
thederpysage
Junior Member
Join Date: Mar 2022
Old 03-07-2022 , 15:18   Crash in Docker
Reply With Quote #1

I'm trying to setup a docker deployment that includes plugins that rely on TF2Items. However, it seems that TF2Items is causing crashing in the environment that I've been using.

Using this base image, and then adding a few things that shouldn't to my knowledge interact at all with TF2Items and TF2Items latest version, I've been getting a pretty persistent crash.

I installed Accelerator to figure out what the root cause is, but I'm still not quite able to make sense of it.
https://crash.limetech.org/fxpi7dqqt43k

I am unable to replicate this issue on Windows, and others don't seem to be reporting this problem so it may very well have something to do with the base deployment.

Any help would be appreciated.
thederpysage is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 03-07-2022 , 15:33   Re: Crash in Docker
Reply With Quote #2

You appear to have logging off on the server so it can't be seen from the crash dump, but check what TF2Items prints that it is using for the GiveNamedItem offset on startup.

Your Docker volume configuration isn't correct though, addons/sourcemod/data/ and addons/sourcemod/gamedata/ should be persistent - I suspect the latter is the problem and you're throwing away auto-updated SM / TF2Items gamedata (a new TF2Items snapshot hasn't been built in many years).
__________________
asherkin is offline
thederpysage
Junior Member
Join Date: Mar 2022
Old 03-07-2022 , 16:49   Re: Crash in Docker
Reply With Quote #3

Quote:
Originally Posted by asherkin View Post
You appear to have logging off on the server so it can't be seen from the crash dump, but check what TF2Items prints that it is using for the GiveNamedItem offset on startup.

Your Docker volume configuration isn't correct though, addons/sourcemod/data/ and addons/sourcemod/gamedata/ should be persistent - I suspect the latter is the problem and you're throwing away auto-updated SM / TF2Items gamedata (a new TF2Items snapshot hasn't been built in many years).
I rewrote the dockerfile to make those folders persistent.

There was some point in my testing that it was showing me the offset, but at this point it is not and will still crash when I try to join.

I tried to enable Logging but my dumps still look *generally* the same...
https://crash.limetech.org/bth3twwviby7

Update: I have some other ideas so I will continue to tinker and report back...

Last edited by thederpysage; 03-07-2022 at 17:14. Reason: Update
thederpysage is offline
thederpysage
Junior Member
Join Date: Mar 2022
Old 03-07-2022 , 19:16   Re: Crash in Docker
Reply With Quote #4

Quote:
Originally Posted by thederpysage View Post
I rewrote the dockerfile to make those folders persistent.

There was some point in my testing that it was showing me the offset, but at this point it is not and will still crash when I try to join.

I tried to enable Logging but my dumps still look *generally* the same...
https://crash.limetech.org/bth3twwviby7

Update: I have some other ideas so I will continue to tinker and report back...
Ok, I've ACTUALLY resolved Volume issues and any potential permissions issued within those folders, and I'm still getting the crash on user join.

Funnily enough, now that I've verified logging is working and can write, it's not even writing anything to the files it makes which is troublesome.
https://crash.limetech.org/5qmwarr72iqz

I'm still not seeing it print the offset of GiveNamedItem either.

Last edited by thederpysage; 03-07-2022 at 19:18.
thederpysage is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 03-08-2022 , 05:27   Re: Crash in Docker
Reply With Quote #5

It's a very strange crash, it is definitely gamedata-shaped but the stack doesn't make a lot of sense (but that is common with this sort of issue).

Could you see what you have in `addons\sourcemod\gamedata\tf2.items.txt`? And make sure you've got 1.6.4-279 installed from https://builds.limetech.io/?p=tf2items

The gamedata in the download should have 479 as the linux offset, which should then be auto-updated by SourceMod to 488 on first server start.
__________________
asherkin is offline
thederpysage
Junior Member
Join Date: Mar 2022
Old 03-08-2022 , 09:11   Re: Crash in Docker
Reply With Quote #6

Quote:
Originally Posted by asherkin View Post
It's a very strange crash, it is definitely gamedata-shaped but the stack doesn't make a lot of sense (but that is common with this sort of issue).

Could you see what you have in `addons\sourcemod\gamedata\tf2.items.txt`? And make sure you've got 1.6.4-279 installed from https://builds.limetech.io/?p=tf2items

The gamedata in the download should have 479 as the linux offset, which should then be auto-updated by SourceMod to 488 on first server start.
After server start/restart tf2.items.txt offset for linux remains 479. Console logs saying the extension is loaded but it's not attempting update? I am confident I am on the 1.6.4-279 version as well.

At what point is it supposed to update? What is supposed to kick it off?
thederpysage is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 03-08-2022 , 09:33   Re: Crash in Docker
Reply With Quote #7

updater.ext comes as part of SourceMod and checks for gamedata updates on map start. The sanest bet at this point is probably to edit the tf2items gamedata manually, but you will want to figure out why the gamedata autoupdater isn't working (do make sure you haven't turned it off if you're using a non-default core.cfg).
__________________
asherkin is offline
thederpysage
Junior Member
Join Date: Mar 2022
Old 03-08-2022 , 09:50   Re: Crash in Docker
Reply With Quote #8

Quote:
Originally Posted by asherkin View Post
updater.ext comes as part of SourceMod and checks for gamedata updates on map start. The sanest bet at this point is probably to edit the tf2items gamedata manually, but you will want to figure out why the gamedata autoupdater isn't working (do make sure you haven't turned it off if you're using a non-default core.cfg).
Youve been completely right all along. Somehow permissions keep getting changed on the tf2.items.txt. Could also be that the permissions are screwed up to begin with on a docker host where root is the only user. In any case, thanks for the help.
thederpysage is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 03-08-2022 , 10:02   Re: Crash in Docker
Reply With Quote #9

No worries, glad you’ve found the problem.
__________________
asherkin is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:57.


Powered by vBulletin®
Copyright ©2000 - 2022, vBulletin Solutions, Inc.
Theme made by Freecode