Page 1 of 1

EQ2TC Crash: StopCrafting

Posted: Sun Oct 21, 2012 9:54 am
by John Adams
alfa reported a crash by /zoning, and according to debug, here's where we crashed :shock:

TradeskillMgr?

Code: Select all

>	EQ2World.exe!TradeskillMgr::StopCrafting(Client * client, bool lock)  Line 179	C++
 	EQ2World.exe!Client::HandlePacket(EQApplicationPacket * app)  Line 1256	C++
 	EQ2World.exe!ZoneServer::ClientProcess()  Line 2180 + 0x2c bytes	C++
 	EQ2World.exe!ZoneServer::Process()  Line 1058	C++
 	EQ2World.exe!ZoneLoop(void * tmp)  Line 4381 + 0xa bytes	C++
 	EQ2World.exe!_callthreadstart()  Line 259 + 0x6 bytes	C
 	EQ2World.exe!_threadstart(void * ptd)  Line 241 + 0x5 bytes	C
 	kernel32.dll!77e6482f() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
Console:
Part 2: I'd also like to point out the RED above, which is a new bug I hadn't seen before recently, but can check my older logs to see when it showed up if necessary.
08:52:25 D Player: Loading Player Mail...
08:52:25 D Client: Send Quest Journal...
08:52:25 D Client: Loading Faction Updates...
08:52:25 D Client: Send Command List...
08:52:25 D Client: Send Language Updates...
08:52:25 D Player: Getting current language for player 'Alfa'...
08:52:25 D Client: SendFriendList
08:52:25 D Client: SendIgnoreList
08:52:25 D Client: Found 409847600 active quests for char_id: 117
08:52:27 D Items: Loading items for character 'Alfa' (117)
08:52:27 D LUA: Found LUA Spell Script: 'Spells/Traditions/MiningExpertise.lua'
08:52:27 D Guilds: Updating Guild Member Info for Player: 117
08:52:27 D Guilds: SendGuildUpdate to client online... (Guild::SendGuildUpdate)
08:52:27 D Guilds: Sent guild recruiter info to a client.
08:52:27 D Guilds: Sent guild Event List (Guild::SendGuildEventList).
08:52:27 D Guilds: Sent guild bank events list. (Guild::SendGuildBankEventList)
08:52:27 D Guilds: Sent guild member to a client.
08:52:27 D Guilds: Sent guild member.
08:52:27 D Guilds: Sent guild Event Details (Guild::SendGuildEventDetails).
08:52:27 D Guilds: Sent guild member list to a client.
08:52:28 D Guilds: Guild Member logged in.
08:52:28 D Player: Getting current title index for player 'Alfa'...
08:52:28 D Player: Getting current title index for player 'Alfa'...
08:52:28 D Merchant: Loading Buyback - Player: 117
0: 56 0C F0 E1 00 E8 72 17 - 2F 99 17 96 D4 F5 05 12 | V.....r./.......
16: E1 56 93 8A AA 43 24 8F - DA E3 DE 3D 56 18 11 93 | .V...C$....=V...
32: C9 BE 8C 57 29 A6 15 7F - 28 B4 6E 48 0A 66 45 D8 | ...W)...(.nH.fE.
48: 57 97 1E 76 | W..v
08:52:55 E World: Unknown examine request: 86
0: 75 4B E2 50 C4 E2 75 D8 - C1 FF | uK.P..u...
0: 1F DF 75 C1 C6 91 34 8E - 57 B9 | ..u...4.W.

Jab, on EQ2TC (only), I wrapped that StopCrafting in an if(tradeskill) {} to see if it will bypass this crash. But can you tell us why StopCrafting would even be getting looked at if a player is just /zoning?

Re: EQ2TC Crash: StopCrafting

Posted: Sun Oct 21, 2012 1:45 pm
by Jabantiz
It shouldn't. The only 2 places TradeskillMgr::StopCrafting() is called from is when you finish a crafting process and in responce to a client->server opcode. It could be possible that the opcode got sent when the client /zone and because the client wasn't crafting the code crashed. I will put a check in to check for that and try to prevent the crash but still no clue why this was even called in the first place.


As for the quests, I have seen that before and no clue what is going on there, I noticed once it shows up on a char it is far more likely to show up on that char, like the chars data got corrupted some how. I have put no real effort into finding that issue yet though.

Re: EQ2TC Crash: StopCrafting

Posted: Sun Oct 21, 2012 8:26 pm
by Jabantiz
I added the check and commited the code to SVN, let me know if this happens again.