Jump to content
Sign in to follow this  
Roy

TF2 Crash Regarding "Table DynamicModels is full"

Recommended Posts

Hi all,

 

I just wanted to post this KB thread for any other server owners experiencing this issue. A while ago, our TF2 servers (2Fort and High Tower) were experiencing a crash after 2 - 3 days of up-time. The stack trace on Linux would look something like this:

 

#0  0xf6725fe1 in Sys_Error_Internal(bool, char const*, char*) () from /home/container/bin/engine_srv.so
[Current thread is 1 (Thread 0xf7d6d700 (LWP 48))]
#0  0xf6725fe1 in Sys_Error_Internal(bool, char const*, char*) () from /home/container/bin/engine_srv.so
#1  0xf6726030 in Sys_Error(char const*, ...) () from /home/container/bin/engine_srv.so
#2  0xf6727348 in Sys_SpewFunc(SpewType_t, char const*) () from /home/container/bin/engine_srv.so
#3  0xf7d4b0ab in _SpewMessage(SpewType_t, char const*, int, Color const*, char const*, char*) () from bin/libtier0_srv.so
#4  0xf7d4b7cc in Error () from bin/libtier0_srv.so
#5  0xf197509d in UTIL_SetModel(CBaseEntity*, char const*) () from /home/container/tf/bin/server_srv.so
#6  0xf14969cf in CBaseAnimating::SetModel(char const*) () from /home/container/tf/bin/server_srv.so
#7  0xf10b7e3c in CEconEntity::UpdateModelToClass() () from /home/container/tf/bin/server_srv.so
#8  0xf10b7ec4 in CEconEntity::ReapplyProvision() () from /home/container/tf/bin/server_srv.so
#9  0xf110b5da in CEconWearable::Equip(CBasePlayer*) () from /home/container/tf/bin/server_srv.so
#10 0xf1237cfb in CTFWearable::Equip(CBasePlayer*) () from /home/container/tf/bin/server_srv.so
#11 0xf190a142 in CTFPlayer::ManageRegularWeapons(TFPlayerClassData_t*) () from /home/container/tf/bin/server_srv.so
#12 0xf190a468 in CTFPlayer::GiveDefaultItems() () from /home/container/tf/bin/server_srv.so
#13 0xf190a643 in CTFPlayer::InitClass() () from /home/container/tf/bin/server_srv.so
#14 0xf19062f3 in CTFPlayer::Spawn() () from /home/container/tf/bin/server_srv.so
#15 0xf18ed56b in CTFPlayer::ForceRespawn() () from /home/container/tf/bin/server_srv.so
#16 0xf18ecdf4 in CTFPlayer::HandleCommand_JoinClass(char const*, bool) () from /home/container/tf/bin/server_srv.so
#17 0xf191cd9e in CTFPlayer::ClientCommand(CCommand const&) () from /home/container/tf/bin/server_srv.so
#18 0xf1200cff in CTFGameRules::ClientCommand(CBaseEntity*, CCommand const&) () from /home/container/tf/bin/server_srv.so
#19 0xf14e6217 in ClientCommand(CBasePlayer*, CCommand const&) () from /home/container/tf/bin/server_srv.so
#20 0xebfec156 in __SourceHook_FHCls_IServerGameClientsClientCommand0::Func(edict_t*, CCommand const&) () from /home/container/tf/addons/metamod/bin/metamod.2.tf2.so
#21 0xffa9d7f8 in ?? ()

 

In the console.log file which can be generated by adding -condebug to the command line, we witnessed these lines when it crashed:

 

Warning:  Table DynamicModels is full, can't add models/workshop/player/items/all_class/hwn2016_toadstool_topper/hwn2016_toadstool_topper_Medic.mdl
590/ - tf_wearable:  UTIL_SetModel:  not precached: models/workshop/player/items/all_class/hwn2016_toadstool_topper/hwn2016_toadstool_topper_Medic.mdl
L 05/02/2019 - 04:50:22: Engine error: 590/ - tf_wearable:  UTIL_SetModel:  not precached: models/workshop/player/items/all_class/hwn2016_toadstool_topper/hwn2016_toadstool_topper_Medic.mdl

 

Both servers were mostly vanilla and I found it strange that it was referring to a workshop model. We didn't have any custom models on the server. Therefore, I'd assume it was adding client's custom workshop items to the Dynamic Models table to perhaps check it.

 

I found that setting the following ConVars resolved the issue on both servers:

 

sv_allowupload 0
sv_pure -1

 

I'm unsure what CVar specifically fixed this, but I would recommend setting both of these ConVars to the values above. If I had to guess, it was sv_pure checking client's custom files and adding too many custom models to the Dynamic Models table. Though, I am not certain.

 

Just thought I'd put this out there because I couldn't find anything online regarding this crash and was honestly stumped until I saw the console.log messages.

 

I hope this helps other server owners.

 

Thank you!

  • Like 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...