Jump to content
 Share

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!

Share this post


Link to post
Share on other sites


Hidden

Roy you're a cutie always on top of things


GFL Ranks

[Former] Manager for Purge/DarkRP.                 

[Former] Manager for AWP 24/7

[Former] Senior Badmin for the old Purge.

[Former] Senior Badmin for the new Purge.             

[Former] Senior Admin for Hightower. 

[Former] Server Admin for 2Fort. 

[Former] Server Admin for 2Fort 2

[Former] Human Resources.  

 

[Bans] Old Purge - 400+

 

[Joined] 2012-2013.

 

 

Share this post


Link to post
Achievements



×
×
  • Create New...