using latest build on my live server I'm getting some random errors making the sphere crash. I'm a bit busy this week and probably won't have some time to fix it, so I'll post these errors here if someone want take a look or even try to fix it
this error I got on random moments:
19:11:DEBUG:__ thread (15348) __ | # | _____ function _____________ | ticks passed from previous function start ______
19:11:DEBUG:>> 15348 | 0 | CWorld::OnTick | +0
19:11:DEBUG:>> 15348 | 1 | CSector::OnTick | +46
19:11:DEBUG:>> 15348 | 2 | CChar::OnTick | +0 <-- exception catch point (below is guessed and could be incorrect!)
19:11:DEBUG:>> 15348 | 3 | CChar::Skill_Done | +0
19:11:DEBUG:>> 15348 | 4 | CChar::Skill_Stage | +0
19:11:DEBUG:>> 15348 | 5 | CChar::Skill_Magery | +0
19:11:DEBUG:>> 15348 | 6 | CChar::Spell_CastDone | +0
19:11:DEBUG:>> 15348 | 7 | CVarDefMap::Empty | +32
19:11:CRITICAL:"Access Violation" (0xe79e7), in CChar::Tick() #2 "timer expired"
and this one is the critical error on CChar::Use_Item() that can make sphere crash. Probably the error is on CCharUse.cpp (the loop starting on line 1768). When the client click on a unknown item, the function Use_Item() call another Use_Item(), creating a infinite loop and making the server crash. This code already have a protection for infinite loop but probably it's not working
19:50:DEBUG:__ thread (15348) __ | # | _____ function _____________ | ticks passed from previous function start ______
19:50:DEBUG:>> 15348 | 0 | NetworkManager::processAllInput | +0
19:50:DEBUG:>> 15348 | 1 | NetworkInput::processInput | +0
19:50:DEBUG:>> 15348 | 2 | NetworkInput::processData | +0
19:50:DEBUG:>> 15348 | 3 | NetworkInput::processData | +0
19:50:DEBUG:>> 15348 | 4 | NetworkInput::processGameClientData | +0
19:50:DEBUG:>> 15348 | 5 | PacketDoubleClick::onReceive | +0
19:50:DEBUG:>> 15348 | 6 | CClient::Event_DoubleClick | +0
19:50:DEBUG:>> 15348 | 7 | CClient::Cmd_Use_Item | +0
19:50:DEBUG:>> 15348 | 8 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 9 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 10 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 11 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 12 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 13 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 14 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 15 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 16 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 17 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 18 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 19 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 20 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 21 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 22 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 23 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 24 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 25 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 26 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 27 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 28 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 29 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 30 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 31 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 32 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 33 | CChar::Use_Item | +0
[ ... ]
using latest build on my live server I'm getting some random errors making the sphere crash. I'm a bit busy this week and probably won't have some time to fix it, so I'll post these errors here if someone want take a look or even try to fix it
this error I got on random moments:
19:11:DEBUG:__ thread (15348) __ | # | _____ function _____________ | ticks passed from previous function start ______
19:11:DEBUG:>> 15348 | 0 | CWorld::OnTick | +0
19:11:DEBUG:>> 15348 | 1 | CSector::OnTick | +46
19:11:DEBUG:>> 15348 | 2 | CChar::OnTick | +0 <-- exception catch point (below is guessed and could be incorrect!)
19:11:DEBUG:>> 15348 | 3 | CChar::Skill_Done | +0
19:11:DEBUG:>> 15348 | 4 | CChar::Skill_Stage | +0
19:11:DEBUG:>> 15348 | 5 | CChar::Skill_Magery | +0
19:11:DEBUG:>> 15348 | 6 | CChar::Spell_CastDone | +0
19:11:DEBUG:>> 15348 | 7 | CVarDefMap::Empty | +32
19:11:CRITICAL:"Access Violation" (0xe79e7), in CChar::Tick() #2 "timer expired"
and this one is the critical error on CChar::Use_Item() that can make sphere crash. Probably the error is on CCharUse.cpp (the loop starting on line 1768). When the client click on a unknown item, the function Use_Item() call another Use_Item(), creating a infinite loop and making the server crash. This code already have a protection for infinite loop but probably it's not working
19:50:DEBUG:__ thread (15348) __ | # | _____ function _____________ | ticks passed from previous function start ______
19:50:DEBUG:>> 15348 | 0 | NetworkManager::processAllInput | +0
19:50:DEBUG:>> 15348 | 1 | NetworkInput::processInput | +0
19:50:DEBUG:>> 15348 | 2 | NetworkInput::processData | +0
19:50:DEBUG:>> 15348 | 3 | NetworkInput::processData | +0
19:50:DEBUG:>> 15348 | 4 | NetworkInput::processGameClientData | +0
19:50:DEBUG:>> 15348 | 5 | PacketDoubleClick::onReceive | +0
19:50:DEBUG:>> 15348 | 6 | CClient::Event_DoubleClick | +0
19:50:DEBUG:>> 15348 | 7 | CClient::Cmd_Use_Item | +0
19:50:DEBUG:>> 15348 | 8 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 9 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 10 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 11 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 12 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 13 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 14 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 15 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 16 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 17 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 18 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 19 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 20 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 21 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 22 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 23 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 24 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 25 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 26 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 27 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 28 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 29 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 30 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 31 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 32 | CChar::Use_Item | +0
19:50:DEBUG:>> 15348 | 33 | CChar::Use_Item | +0
[ ... ]