Page 1 of 1

Current SVN issues

Posted: Tue Dec 17, 2013 10:40 pm
by John Adams
Something is terribly wrong with the current SVN code. I thought it was the x64 binary I compiled that crashed the instant I entered the world, but now I am in Win32 debug and getting deadlocks everywhere. No zones are running, or at least none with Spawns.

Console:
22:37:00 I World : Total World startup time: 63 seconds.
22:37:00 D World : Starting factory Reader
22:37:00 D World : Starting factory Writer
22:37:00 I Net : World server listening on: eq2emulator.net:9400
22:37:00 I Net : World server listening on: 192.168.1.100:9400
22:37:00 I Zone : Starting static zones...
22:37:00 D Thread : Starting console command thread...
22:37:00 I Console : Type 'help' or '?' and press enter for menu options.
22:37:00 D Thread : Starting autoinit loginserver thread...
22:37:00 I World : Connected to LoginServer: eq2emulator.net: 9100
22:37:33 D Net : AddAuth: 150 Key: 1387345053
22:37:33 D Net : New client from ip: 68.98.218.5 port: 14968
22:37:33 D Net : Adding new client...
22:37:33 D Client : Client::Process, ProcessQuestUpdates
22:37:33 E World : Exception caught in net main loop!
22:37:53 E Mutex : Possible deadlock attempt by 'Client::m_resurrect'!
22:37:53 E World : Exception caught in net main loop!

22:37:53 I ZoneAuth : Access Key: 1387345053, Character Name: Tankasaurus, Account ID: 150
22:37:53 D Player : Loading character for 'Tankasaurus' (char_id: 20)
22:37:53 I Zone : Loading new Zone 'GMHall'
22:37:53 D Zone : SpawnUpdateTimer: 200ms
22:37:53 D Recipes : Loaded 0 recipes for player: Tankasaurus (20)
22:37:53 D Achievements: Loaded 0 player achievement updates
22:37:53 I Spawn : Loaded for zone 'GMHall' (1):
0 NPC(s), 0 Object(s), 0 Widget(s)
0 Sign(s), 0 Ground Spawn(s), 0 Spawn Group(s)
0 Spawn Group Association(s), 0 Spawn Group Chance(s)
22:37:53 D Player : Loading character_details for 'Tankasaurus' (char_id: 20)
22:37:53 D Client : SendLoginInfo to new client...
22:37:53 D World : Increment Server_Accepted_Connection + 1
22:37:53 D Client : Populate Skill Map...
22:37:54 D Client : Toggle Character Online...
22:37:54 D Player : Toggling Character ONLINE!
22:37:54 D Client : Loading Character Skills for player 'Tankasaurus'...
22:37:54 D World : Loading Titles for player 'Tankasaurus'...
22:37:54 D World : Loading Languages for player 'Tankasaurus'...
22:37:54 D Client : No character languages loaded!
22:37:54 D Spells : Loading Character Spells for player Tankasaurus...
22:37:54 D Client : No character spells found!
22:37:54 D Player : Adding default spells for race: 12, class: 3 for char_id: 20
22:37:54 D Spells : Loading Character Spells for player Tankasaurus...
22:37:54 D Recipes : Loading Character Recipe Books for player 'Tankasaurus' ...
22:37:54 D Client : No character recipe books found!
22:37:54 D Packet : Sending Login Accepted packet (LS_LoginResponse, 57109)
22:37:54 D Packet : No character quickbar found!
22:37:54 D Player : Adding default skillbar for race: 12, class: 3 for char_id: 20
22:37:54 D World : Send MOTD...
22:37:54 D Packet : Sending Character Macro packet (WS_MacroInit, 57109)
22:37:54 D World : Sending FriendList...
22:37:54 D Player : Loading Player Factions...
22:37:54 D Player : Loading Character Quests...
22:37:54 D Player : Loading Player Mail...
22:37:54 D Client : Send Quest Journal...
22:37:54 D Client : Loading Faction Updates...
22:37:54 D Client : Send Command List...
22:37:54 D Client : Send Language Updates...
22:37:54 D Player : Getting current language for player 'Tankasaurus'...
22:37:54 D Client : SendFriendList
22:37:54 D Client : SendIgnoreList
22:38:14 E Mutex : Possible deadlock attempt by 'Client::m_resurrect'!
22:38:14 E World : Exception caught in net main loop!
22:38:14 E Mutex : Possible deadlock attempt by 'Client::m_resurrect'!
22:38:14 E Zone : Exception caught when in ZoneServer::ClientProcess() for zone 'GMHall'!
ZoneServer::ClientProcess, 2483
22:38:14 D CClient : Client Disconnect...
22:38:14 D Zone : Sending login equipment appearance updates...
22:38:14 D Login : Looking for Login Appearance Updates for char_id: 20
22:38:14 D Zone : Calling clients.Remove(client)...
22:38:14 D Guilds : Guild::GetGuildMember: 20
22:38:14 D Guilds : Sent guild member to a client.
22:38:14 D Guilds : Guild Member logged out.
22:38:14 D Zone : Removing client 'Tankasaurus' (20) due to LD/Exit...
22:38:14 I Zone : Scheduling client 'Tankasaurus' for removal.
22:38:14 D Player : Toggling Character OFFLINE!
22:38:14 D Zone : Starting zone shutdown timers...
22:38:34 E Mutex : Write Timeout waiting for read lock 'ClientList::MClients'
The following functions had locks:
ClientList::Process (2394)

22:38:44 D World : Removing connection...

Re: Current SVN issues

Posted: Tue Dec 17, 2013 10:54 pm
by thefoof
investigating

Re: Current SVN issues

Posted: Tue Dec 17, 2013 10:57 pm
by John Adams
Using the /D "NO_CATCH" override, I was able to break the code without the try/catch, and found the culprit.

Stack:

Code: Select all

 	EQ2World__Debug.exe!operator delete(void * pUserData) Line 52	C++
 	EQ2World__Debug.exe!Timer::`scalar deleting destructor'(unsigned int)	C++
>	EQ2World__Debug.exe!Client::Process(bool zone_process) Line 2264	C++
 	EQ2World__Debug.exe!ClientList::Process() Line 2386	C++
 	EQ2World__Debug.exe!main(int argc, char * * argv) Line 400	C++
 	EQ2World__Debug.exe!__tmainCRTStartup() Line 241	C
 	EQ2World__Debug.exe!mainCRTStartup() Line 164	C
 	kernel32.dll!@BaseThreadInitThunk@12()	Unknown
 	ntdll.dll!___RtlUserThreadStart@8()	Unknown
 	ntdll.dll!__RtlUserThreadStart@8()	Unknown
Code:

Code: Select all

	if(current_rez.should_delete || (current_rez.expire_timer && current_rez.expire_timer->Check(false))){
==>		safe_delete(current_rez.expire_timer);
I'd really like to know how I am the only one who can crash this thing?

Re: Current SVN issues

Posted: Tue Dec 17, 2013 10:59 pm
by thefoof
It probably snuck in when I was attempting some linux tweaks a few days ago, I haven't compiled in a couple days

EDIT:Think I have a fix, hold on a sec

Re: Current SVN issues

Posted: Tue Dec 17, 2013 11:04 pm
by John Adams
Yeah, definitely happened in rev 2358, since EQ2TC doesn't have that change, and is working fine.

Actually, hmm... it does have that rev... but doesn't seem to have any issues. Has to be Jab's fault then :D

Re: Current SVN issues

Posted: Tue Dec 17, 2013 11:21 pm
by thefoof
Was my fault, just committed a fix try that

Re: Current SVN issues

Posted: Wed Dec 18, 2013 7:53 am
by John Adams
Yup, I'm in. Good work. Though it's much more satisfying for me to blame Jabantiz, he hasn't caused crashes in a long time! I will have to find my joy elsewhere.

Re: Current SVN issues

Posted: Wed Dec 18, 2013 11:46 am
by Jabantiz
John Adams wrote:Yup, I'm in. Good work. Though it's much more satisfying for me to blame Jabantiz, he hasn't caused crashes in a long time! I will have to find my joy elsewhere.
At least none that you are aware of... :mrgreen:

Re: Current SVN issues

Posted: Wed Dec 18, 2013 3:47 pm
by John Adams
You mean you actually test your code before committing to SVN?

Foof?

~runs~

Re: Current SVN issues

Posted: Wed Dec 18, 2013 4:01 pm
by thefoof
Lol my bad, I blame linux! Got my box up and running btw

Re: Current SVN issues

Posted: Wed Dec 18, 2013 6:16 pm
by John Adams
Excellent. Let me know when you need me to glance it's direction so it crashes :shock: :oops: :roll: