SphereCommunity
Crashing, Please Halp - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: General Help (/Forum-General-Help)
+--- Thread: Crashing, Please Halp (/Thread-Crashing-Please-Halp)

Pages: 1 2


Crashing, Please Halp - Soulless - 03-21-2013 02:29 PM

Hello, i've had my server live for about a month. ive had three crashes with a decent amount of players on. this truly is an inconvenience for them.

it gave me this error, im currently looking for a way to fix or stop this before my server gets a larger player base. right now my dedicated players are just glad im working through the issues and adding more content. though this is with maybe 9 players on i received this crash. my fear is that with 100 players i might crash more often. can anyone shed some light? it sbeen my biggest headache.

Code:
21:39:5b:'Kazrael' Says UNICODE 'ENU' '.levle' mode=0
21:39:5b:'Cameron1' commands 'level'=1
21:41:65:'Evilron' Says 'tekia buy' mode=0
21:42:aa:Client connected [Total:8] ('96.45.178.186' 1/1)
21:42:aa:UOG Status request from 96.45.178.186
21:42:aa:Client disconnected [Total:7] ('96.45.178.186')
21:42:65:'Evilron' Says 'tekia buy' mode=0
GC: 113282 Objects accounted for
21:43:World data saved   (save/sphereworld.scp).
21:43:Player data saved  (save/spherechars.scp).
21:43:Multi data saved   (save/spheremultis.scp).
21:43:Context data saved (save/spheredata.scp).
21:43:World save completed, took 1.5772 seconds
Memory shrinked succesfully.
21:43:DEBUG:__ thread (3040) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:43:DEBUG:>>         3040     |  0 |               CWorld::OnTick | +0 <-- exception catch point (below is guessed and could be incorrect!)
21:43:DEBUG:>>         3040     |  1 | CTimedFunctionHandler::OnTick | +0
21:43:DEBUG:>>         3040     |  2 |           ProfileData::Start | +109
21:43:CRITICAL:"Access Violation" (0x78664bf7), in SUB: CWorld::TimerFunction::Tick()
21:43:DEBUG:__ thread (3040) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:43:DEBUG:>>         3040     |  0 | NetworkManager::processAllInput | +0
21:43:DEBUG:>>         3040     |  1 |   NetworkInput::processInput | +0
21:43:DEBUG:>>         3040     |  2 |    NetworkInput::receiveData | +0
21:43:DEBUG:>>         3040     |  3 |   NetworkInput::checkForData | +0 <-- exception catch point (below is guessed and could be incorrect!)
21:43:DEBUG:__ thread (3040) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:43:DEBUG:>>         3040     |  0 | NetworkManager::processAllInput | +0
21:43:DEBUG:>>         3040     |  1 |   NetworkInput::processInput | +0
21:43:DEBUG:>>         3040     |  2 |    NetworkInput::processData | +16 <-- exception catch point (below is guessed and could be incorrect!)
21:43:DEBUG:>>         3040     |  3 |           ProfileData::Start | +0
21:43:DEBUG:__ thread (3040) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:43:DEBUG:>>         3040     |  0 |         NetworkManager::tick | +0 <-- exception catch point (below is guessed and could be incorrect!)
21:43:DEBUG:>>         3040     |  1 |          NetworkThread::tick | +0
21:43:DEBUG:>>         3040     |  2 | NetworkThread::dropInvalidStates | +0
21:43:DEBUG:__ thread (3040) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:43:DEBUG:>>         3040     |  0 | NetworkManager::processAllOutput | +0
21:43:DEBUG:>>         3040     |  1 | NetworkOutput::processOutput | +0 <-- exception catch point (below is guessed and could be incorrect!)
21:43:DEBUG:>>         3040     |  2 | NetworkOutput::checkFlushRequests | +0
21:43:DEBUG:ActiveThread=0, TickCount=131
21:45:WARNING:Forcing thread 'Main' to terminate...
21:45:CRITICAL:'Main' thread hang, restarting...
21:45:DEBUG:__ thread (6396) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:45:DEBUG:>>         6396     |  0 |               CWorld::OnTick | +0
21:45:DEBUG:>>         6396     |  1 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     |  2 |                CChar::OnTick | +0
21:45:DEBUG:>>         6396     |  3 |      CChar::NPC_OnTickAction | +0
21:45:DEBUG:>>         6396     |  4 |        CChar::NPC_Act_Wander | +0
21:45:DEBUG:>>         6396     |  5 |        CChar::NPC_LookAround | +0
21:45:DEBUG:>>         6396     |  6 |     CChar::NPC_CheckWalkHere | +0
21:45:DEBUG:>>         6396     |  7 |        CWorldSearch::GetItem | +0
21:45:DEBUG:>>         6396     |  8 |               CWorld::OnTick | +134282
21:45:DEBUG:>>         6396     |  9 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     | 10 |                CChar::OnTick | +0 <-- exception catch point (below is guessed and could be incorrect!)
21:45:DEBUG:>>         6396     | 11 |        CVarDefMap::GetKeyNum | +0
21:45:DEBUG:>>         6396     | 12 |           CVarDefMap::GetKey | +0
21:45:CRITICAL:"Access Violation" (0x7c4d3f09), in CChar::Tick() #2 "STR"
21:45:DEBUG:__ thread (6396) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:45:DEBUG:>>         6396     |  0 |               CWorld::OnTick | +0
21:45:DEBUG:>>         6396     |  1 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     |  2 |                CChar::OnTick | +0
21:45:DEBUG:>>         6396     |  3 |      CChar::NPC_OnTickAction | +0
21:45:DEBUG:>>         6396     |  4 |        CChar::NPC_Act_Wander | +0
21:45:DEBUG:>>         6396     |  5 |        CChar::NPC_LookAround | +0
21:45:DEBUG:>>         6396     |  6 |     CChar::NPC_CheckWalkHere | +0
21:45:DEBUG:>>         6396     |  7 |        CWorldSearch::GetItem | +0
21:45:DEBUG:>>         6396     |  8 |               CWorld::OnTick | +134282
21:45:DEBUG:>>         6396     |  9 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     | 10 |                CChar::OnTick | +15 <-- exception catch point (below is guessed and could be incorrect!)
21:45:DEBUG:>>         6396     | 11 |            CGObList::GetHead | +0
21:45:DEBUG:__ thread (6396) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:45:DEBUG:>>         6396     |  0 |               CWorld::OnTick | +0
21:45:DEBUG:>>         6396     |  1 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     |  2 |                CChar::OnTick | +0
21:45:DEBUG:>>         6396     |  3 |      CChar::NPC_OnTickAction | +0
21:45:DEBUG:>>         6396     |  4 |        CChar::NPC_Act_Wander | +0
21:45:DEBUG:>>         6396     |  5 |        CChar::NPC_LookAround | +0
21:45:DEBUG:>>         6396     |  6 |     CChar::NPC_CheckWalkHere | +0
21:45:DEBUG:>>         6396     |  7 |        CWorldSearch::GetItem | +0
21:45:DEBUG:>>         6396     |  8 |               CWorld::OnTick | +134282
21:45:DEBUG:>>         6396     |  9 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     | 10 |                CChar::OnTick | +15 <-- exception catch point (below is guessed and could be incorrect!)
21:45:DEBUG:>>         6396     | 11 |            CChar::OnTickFood | +16
21:45:DEBUG:>>         6396     | 12 |            CVarDefMap::Empty | +0
21:45:DEBUG:__ thread (6396) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:45:DEBUG:>>         6396     |  0 |               CWorld::OnTick | +0
21:45:DEBUG:>>         6396     |  1 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     |  2 |                CChar::OnTick | +0
21:45:DEBUG:>>         6396     |  3 |      CChar::NPC_OnTickAction | +0
21:45:DEBUG:>>         6396     |  4 |        CChar::NPC_Act_Wander | +0
21:45:DEBUG:>>         6396     |  5 |        CChar::NPC_LookAround | +0
21:45:DEBUG:>>         6396     |  6 |     CChar::NPC_CheckWalkHere | +0
21:45:DEBUG:>>         6396     |  7 |        CWorldSearch::GetItem | +0
21:45:DEBUG:>>         6396     |  8 |               CWorld::OnTick | +134282
21:45:DEBUG:>>         6396     |  9 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     | 10 |                CChar::OnTick | +47 <-- exception catch point (below is guessed and could be incorrect!)
21:45:DEBUG:>>         6396     | 11 |        CVarDefMap::GetKeyNum | +0
21:45:DEBUG:>>         6396     | 12 |           CVarDefMap::GetKey | +0
21:45:DEBUG:__ thread (6396) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:45:DEBUG:>>         6396     |  0 |               CWorld::OnTick | +0
21:45:DEBUG:>>         6396     |  1 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     |  2 |                CChar::OnTick | +0
21:45:DEBUG:>>         6396     |  3 |      CChar::NPC_OnTickAction | +0
21:45:DEBUG:>>         6396     |  4 |        CChar::NPC_Act_Wander | +0
21:45:DEBUG:>>         6396     |  5 |        CChar::NPC_LookAround | +0
21:45:DEBUG:>>         6396     |  6 |     CChar::NPC_CheckWalkHere | +0
21:45:DEBUG:>>         6396     |  7 |        CWorldSearch::GetItem | +0
21:45:DEBUG:>>         6396     |  8 |               CWorld::OnTick | +134282
21:45:DEBUG:>>         6396     |  9 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     | 10 |                CChar::OnTick | +62 <-- exception catch point (below is guessed and could be incorrect!)
21:45:DEBUG:>>         6396     | 11 |            CChar::OnTickFood | +0
21:45:DEBUG:>>         6396     | 12 |            CVarDefMap::Empty | +0
21:45:DEBUG:__ thread (6396) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:45:DEBUG:>>         6396     |  0 |               CWorld::OnTick | +0
21:45:DEBUG:>>         6396     |  1 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     |  2 |                CChar::OnTick | +0
21:45:DEBUG:>>         6396     |  3 |      CChar::NPC_OnTickAction | +0
21:45:DEBUG:>>         6396     |  4 |        CChar::NPC_Act_Wander | +0
21:45:DEBUG:>>         6396     |  5 |        CChar::NPC_LookAround | +0
21:45:DEBUG:>>         6396     |  6 |     CChar::NPC_CheckWalkHere | +0
21:45:DEBUG:>>         6396     |  7 |        CWorldSearch::GetItem | +0
21:45:DEBUG:>>         6396     |  8 |               CWorld::OnTick | +134282
21:45:DEBUG:>>         6396     |  9 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     | 10 |                CChar::OnTick | +62 <-- exception catch point (below is guessed and could be incorrect!)
21:45:DEBUG:>>         6396     | 11 |            CGObList::GetHead | +0
21:45:DEBUG:__ thread (6396) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:45:DEBUG:>>         6396     |  0 |               CWorld::OnTick | +0
21:45:DEBUG:>>         6396     |  1 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     |  2 |                CChar::OnTick | +0
21:45:DEBUG:>>         6396     |  3 |      CChar::NPC_OnTickAction | +0
21:45:DEBUG:>>         6396     |  4 |        CChar::NPC_Act_Wander | +0
21:45:DEBUG:>>         6396     |  5 |        CChar::NPC_LookAround | +0
21:45:DEBUG:>>         6396     |  6 |     CChar::NPC_CheckWalkHere | +0
21:45:DEBUG:>>         6396     |  7 |        CWorldSearch::GetItem | +0
21:45:DEBUG:>>         6396     |  8 |               CWorld::OnTick | +134282
21:45:DEBUG:>>         6396     |  9 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     | 10 |                CChar::OnTick | +62 <-- exception catch point (below is guessed and could be incorrect!)
21:45:DEBUG:>>         6396     | 11 |            CChar::OnTickFood | +16
21:45:DEBUG:>>         6396     | 12 |           CChar::Stat_GetVal | +0
21:45:DEBUG:__ thread (6396) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:45:DEBUG:>>         6396     |  0 |               CWorld::OnTick | +0
21:45:DEBUG:>>         6396     |  1 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     |  2 |                CChar::OnTick | +0
21:45:DEBUG:>>         6396     |  3 |      CChar::NPC_OnTickAction | +0
21:45:DEBUG:>>         6396     |  4 |        CChar::NPC_Act_Wander | +0
21:45:DEBUG:>>         6396     |  5 |        CChar::NPC_LookAround | +0
21:45:DEBUG:>>         6396     |  6 |     CChar::NPC_CheckWalkHere | +0
21:45:DEBUG:>>         6396     |  7 |        CWorldSearch::GetItem | +0
21:45:DEBUG:>>         6396     |  8 |               CWorld::OnTick | +134282
21:45:DEBUG:>>         6396     |  9 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     | 10 |                CChar::OnTick | +78 <-- exception catch point (below is guessed and could be incorrect!)
21:45:DEBUG:>>         6396     | 11 |            CChar::OnTickFood | +0
21:45:DEBUG:>>         6396     | 12 |           CChar::Stat_GetVal | +0
21:45:DEBUG:__ thread (6396) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:45:DEBUG:>>         6396     |  0 |               CWorld::OnTick | +0
21:45:DEBUG:>>         6396     |  1 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     |  2 |                CChar::OnTick | +0
21:45:DEBUG:>>         6396     |  3 |      CChar::NPC_OnTickAction | +0
21:45:DEBUG:>>         6396     |  4 |        CChar::NPC_Act_Wander | +0
21:45:DEBUG:>>         6396     |  5 |        CChar::NPC_LookAround | +0
21:45:DEBUG:>>         6396     |  6 |     CChar::NPC_CheckWalkHere | +0
21:45:DEBUG:>>         6396     |  7 |        CWorldSearch::GetItem | +0
21:45:DEBUG:>>         6396     |  8 |               CWorld::OnTick | +134282
21:45:DEBUG:>>         6396     |  9 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     | 10 |                CChar::OnTick | +93 <-- exception catch point (below is guessed and could be incorrect!)
21:45:DEBUG:>>         6396     | 11 |            CGObList::GetHead | +0
21:45:CRITICAL:code=0xc0000096, (0x1b72c39), in SUB: CChar::Char::Ticking items()
21:45:DEBUG:__ thread (6396) __ |  # | _____ function _____________ | ticks passed from previous function start ______
21:45:DEBUG:>>         6396     |  0 |               CWorld::OnTick | +0
21:45:DEBUG:>>         6396     |  1 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     |  2 |                CChar::OnTick | +0
21:45:DEBUG:>>         6396     |  3 |      CChar::NPC_OnTickAction | +0
21:45:DEBUG:>>         6396     |  4 |        CChar::NPC_Act_Wander | +0
21:45:DEBUG:>>         6396     |  5 |        CChar::NPC_LookAround | +0
21:45:DEBUG:>>         6396     |  6 |     CChar::NPC_CheckWalkHere | +0
21:45:DEBUG:>>         6396     |  7 |        CWorldSearch::GetItem | +0
21:45:DEBUG:>>         6396     |  8 |               CWorld::OnTick | +134282
21:45:DEBUG:>>         6396     |  9 |              CSector::OnTick | +0
21:45:DEBUG:>>         6396     | 10 |                CChar::OnTick | +93 <-- exception catch point (below is guessed and could be incorrect!)
21:45:DEBUG:>>         6396     | 11 |            CChar::OnTickFood | +16
21:45:DEBUG:>>         6396     | 12 |           CChar::Stat_GetVal | +0



RE: Crashing, Please Halp - admin phoenix - 03-21-2013 04:25 PM

you turned on the network things?


RE: Crashing, Please Halp - Staff_Stanic - 03-22-2013 03:44 AM

You are creating NPCs without use Worldgem, just seting Home and Homedist?


RE: Crashing, Please Halp - Soulless - 03-22-2013 11:12 AM

i have done that a few times stanic. setting its home by coordinates, for like tresure map chests. what network thigns do i need to turn on or off pheonix? right now i have.

// WARNING: These are advanced settings that should not normally be changed
// from the recommended default values!

// Disconnect inactive socket in x min
DeadSocketTime=5

// Maximum number of packets to send per tick
MaxPacketsPerTick=25

// Number of connections a client can make before being blocked
MaxPings=15

// Maximum number of packets before lowering packet priorities (0 for no limit)
MaxQueueSize=50

// Maximum number of bytes to send per tick (also governs maximum size of outgoing packets)
MaxSizePerTick=12000

// Time to remember previous connection history (seconds)
NetTTL=300

// Use asynchronous data sends (changing this setting at runtime may produce unexpected behaviour)
// 0 = Off
// 1 = On
// 2 = On for 4.0.0+ game clients only
UseAsyncNetwork=0

// Prioritise outgoing packets (provides a smoother experience in crowded areas)
UsePacketPriority=0

// Enables an additional buffer for outgoing data.
UseExtraBuffer=1

// Tooltip modes
// 0 = Always send full tooltip
// 1 = Wait for client to request full tooltip
TooltipMode=0

// Time to cache tooltip data for (seconds)
TooltipCache=30

// Automatically invalidate and resend tooltips when:
// 0001 item or character name changes
// 0002 item amount changes
// 0004 container weight changes
// 0008 weapon or armor durability changes
// 0010 weapon poison charge changes
// 0020 wand charge changes
// 0040 spell added to spellbook
AutoTooltipResend=07f

// Number of network threads. Clients are distributed evenly amongst each thread. Set to 0 to not
// use a separate networking thread.
NetworkThreads=0

// If network threads are used, this controls the priority they are assigned.
// 0 = Idle
// 1 = Low
// 2 = Normal
// 3 = High
// 4 = Highest
// 5 = Real-time
// 255 = Automatic (recommended)
NetworkThreadPriority=255


RE: Crashing, Please Halp - Soulless - 03-22-2013 09:28 PM

anyone got any ideas about this. Staff_Stanic, did you encounter this before? is that why you mentioned home + homedist without a gembit?


RE: Crashing, Please Halp - Mordaunt - 03-22-2013 11:48 PM

It's not the same error....
Unfortunately with an error like this it does mean little to someone who does not have access to the system code.
All you can do right now is hang on for Ben, Ranx or Shak to see it and decipher what it is.


RE: Crashing, Please Halp - Ben - 03-23-2013 04:56 AM

I have located the code area where the error happens... the part that sucks is that there isn't much info about what caused the error. I'll try to follow the code's logic to see if I can find an inconsistency, but I can't promiss you more then that.


RE: Crashing, Please Halp - Soulless - 03-23-2013 06:39 AM

is it a good bet that ive caused this by means of script ive done? ive been going through code trying to locate issues by eye. and trying to optimize and make sure i dont see anything strange.

here's to hoping ben can work his magic and come up with a definite answer.


RE: Crashing, Please Halp - Staff_Stanic - 03-23-2013 06:53 AM

I had a similar problem but Mordaunt said "It's not the same error...." :/
Here: http://forum.spherecommunity.net/Thread-Respawn-conflict-problem


RE: Crashing, Please Halp - Ben - 03-23-2013 11:04 PM

The only thing similar is that they are both errors...
your error happens in the Char::NPC_TickAction() where as Soulless' error happened in CWorld::TimerFunction::Tick()

@Soulless
It's possible that it was caused by a script, thing is, I'm not sure what the TimerFunction::Tick() actually does yet.