[FIXED][Bug] Client Crash on Revive
- TILT
- Posts: 114
- Joined: Thu Oct 13, 2011 12:03 am
- Location: > /dev/null
[FIXED][Bug] Client Crash on Revive
Posting this bug here for now. When attempting to report the bug while in-game, the chat window shows "error" upon sending the report.
Category: Mechanics
SubCategory: Other
Causes a crash: Causes Crash
Reproducible: Always Happens
Bug: Client crashes after selecting a revive point and produces a fatal error message.
To replicate this bug the player only needs to die (sometimes more than once) at which point they will be given a choice for revive locations. Upon selection, the fatal error pops and the client crashes.
Note: This bug was produced on EQ2Emulator public server (1-22-2012) using client version 6118L.
Here is the fatal error pop-up:
Category: Mechanics
SubCategory: Other
Causes a crash: Causes Crash
Reproducible: Always Happens
Bug: Client crashes after selecting a revive point and produces a fatal error message.
To replicate this bug the player only needs to die (sometimes more than once) at which point they will be given a choice for revive locations. Upon selection, the fatal error pops and the client crashes.
Note: This bug was produced on EQ2Emulator public server (1-22-2012) using client version 6118L.
Here is the fatal error pop-up:
You do not have the required permissions to view the files attached to this post.
"Hell, there are no rules here - we're trying to accomplish something." Thomas A. Edison
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: [Bug] Client Crash on Revive
Thanks, TILT. Scat and I saw this last night, before I saw you mention working in "Revive Points"... so now this becomes fairly urgent to fix, or you can't do your work 
I'll take a look at it right now, but might need the Scatmasta's help.
I'll take a look at it right now, but might need the Scatmasta's help.
- TILT
- Posts: 114
- Joined: Thu Oct 13, 2011 12:03 am
- Location: > /dev/null
Re: [Bug] Client Crash on Revive
Sounds good. Thanks for looking into this.
"Hell, there are no rules here - we're trying to accomplish something." Thomas A. Edison
- Scatman
- Retired
- Posts: 1688
- Joined: Wed Apr 16, 2008 5:44 am
- EQ2Emu Server: Scatman's Word
- Characters: Scatman
- Location: New Jersey
Re: [Bug] Client Crash on Revive
Yeah I believe this has been a long haunting bug. Let's squash her.
- TILT
- Posts: 114
- Joined: Thu Oct 13, 2011 12:03 am
- Location: > /dev/null
Re: [Bug] Client Crash on Revive
I'm not sure if this will help pinpoint where the problem occurs, but I noticed this bug doesn't seem to happen when the revive point selected sends the player to another zone. It only seems to happen when the revive point is within the current zone the player has died in.
Edit: Actually just manually zoning anywhere the bug will not occur until after the first death in the same zone.
Edit: Actually just manually zoning anywhere the bug will not occur until after the first death in the same zone.
"Hell, there are no rules here - we're trying to accomplish something." Thomas A. Edison
- TILT
- Posts: 114
- Joined: Thu Oct 13, 2011 12:03 am
- Location: > /dev/null
Re: [Bug] Client Crash on Revive
I hate to quote myself here but I didn't want to edit my last post again and have this missed in the ongoing effort to find out what is causing this nasty bug. The above quoted statement is actually true when replicating the bug on SF client 6118L; however, this is not the case for DoV client 7628L which seems to crash regardless.TILT wrote:Actually just manually zoning anywhere the bug will not occur until after the first death in the same zone.
"Hell, there are no rules here - we're trying to accomplish something." Thomas A. Edison
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: [Bug] Client Crash on Revive
TILT (and other Team Members), when you follow this link, do you see an "Add" button? If so, you can add bugs to the Bug Tracker from the website vs in-game, for cases such as this.TILT wrote:Posting this bug here for now. When attempting to report the bug while in-game, the chat window shows "error" upon sending the report.
The module is in Test (with you guys) right now, and if it works okay, I can open it to the public.
John Adams
EQ2Emulator - Project Ghost
"Everything should work now, except the stuff that doesn't" ~Xinux
EQ2Emulator - Project Ghost
"Everything should work now, except the stuff that doesn't" ~Xinux
- TILT
- Posts: 114
- Joined: Thu Oct 13, 2011 12:03 am
- Location: > /dev/null
Re: [Bug] Client Crash on Revive
I do not see an "Add" button anywhere.John Adams wrote:TILT (and other Team Members), when you follow this link, do you see an "Add" button?
You do not have the required permissions to view the files attached to this post.
"Hell, there are no rules here - we're trying to accomplish something." Thomas A. Edison
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: [Bug] Client Crash on Revive
Okay, I forgot I changed the damn groups all around, so I have to update the "allowed PHPBB groups" id's... damn, probably broke a lot by doing that
I'll have that fixed today.
I'll have that fixed today.
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: [Bug] Client Crash on Revive
Wow. HandlePlayerRevive() is quite a function. Check out all the packets that have to line up...

Gonna find this sucker if it kills me... which I hope it doesn't, because I won't be able to revive without crashingWS_ServerControlFlags
WS_Resurrected
WS_CancelMoveObjectMode
WS_TeleportWithinZone
WS_SetControlGhost
WS_SetPOVGhostCmd
- TILT
- Posts: 114
- Joined: Thu Oct 13, 2011 12:03 am
- Location: > /dev/null
Re: [Bug] Client Crash on Revive
I was thinking it may be one of those structs since in 6118L you can revive once in a zone without crashing but when using 7628L you crash immediately. It doesn't seem like this would relate directly to the code itself but I could be wrong.
"Hell, there are no rules here - we're trying to accomplish something." Thomas A. Edison
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: [Bug] Client Crash on Revive
And naturally, now that I've peppered the code with logs and printpackets, there is no crash. Going to attempt the Million Ways to Die and see if I can trap it, otherwise I'll put this code on our test servers and let anyone else attempt to die.
- TILT
- Posts: 114
- Joined: Thu Oct 13, 2011 12:03 am
- Location: > /dev/null
Re: [Bug] Client Crash on Revive
Figures - lol!John Adams wrote:And naturally, now that I've peppered the code with logs and printpackets, there is no crash.
Thanks for doing this as this bug is really annoying and would be a huge fix for stability! I look forward to testing more.John Adams wrote:'ll put this code on our test servers and let anyone else attempt to die.
"Hell, there are no rules here - we're trying to accomplish something." Thomas A. Edison
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: [Bug] Client Crash on Revive
Okay, here's my debug logging of this event. TILT is right, first death with the 6118L client seems to revive just fine. No revive points set, so it is using zone safe coords.
Both deaths are in an unpopulated zone (GM Hall) and using the /kill self command.
The OKAY death/revive:
The 2nd Death, crashes client with ProxyActor (proximity code?)
Unless I am missing something, these 2 deaths look identical.
With better placement of packet->PrintPacket() statements, I do start seeing differences. Help me look these two dumps over, see if we can figure this thing out.
Btw, this is the only place this function is called in the entire World:
Edit: Updated the blocks of code a few times, after getting better placement of my printpackets.
Both deaths are in an unpopulated zone (GM Hall) and using the /kill self command.
The OKAY death/revive:
Code: Select all
17:59:02 D Opcode: Opcode 0011 (17): OP_RemoteCmdMsg
0: 36 00 04 00 73 65 6C 66 | 6...self
17:59:02 D Command: Handler: 54, COMMAND: 'kill'
17:59:02 D Command: Player 'John' (150), Command: kill
17:59:02 D Zone: ZoneServer::RemoveSpawnSupportFunctions
17:59:02 D Zone: ZoneServer::RemoveDeadEnemyList
17:59:02 D Zone: WS_HearDeath Packet:
Name: attacker Index: 0 Type: int32 Data: 01
Name: defender Index: 0 Type: int32 Data: 01
Name: damage_type Index: 0 Type: int8 Data: 00
Name: blow_type Index: 0 Type: int16 Data: 00
17:59:02 D Zone: DisplayDeadWindow()
17:59:02 D Client: WS_ServerControlFlags Packet (parameter1=8):
Name: parameter1 Index: 0 Type: int8 Data: 08
Name: parameter2 Index: 0 Type: int8 Data: 00
Name: parameter3 Index: 0 Type: int8 Data: 00
Name: parameter4 Index: 0 Type: int8 Data: 00
Name: parameter5 Index: 0 Type: int8 Data: 00
Name: unknown Index: 0 Type: int8 Data: 00
Name: unknown Index: 1 Type: int8 Data: 00
Name: unknown Index: 2 Type: int8 Data: 00
Name: value Index: 0 Type: int8 Data: 01
17:59:02 D Client: WS_ServerControlFlags Packet (parameter1=16):
Name: parameter1 Index: 0 Type: int8 Data: 16
Name: parameter2 Index: 0 Type: int8 Data: 00
Name: parameter3 Index: 0 Type: int8 Data: 00
Name: parameter4 Index: 0 Type: int8 Data: 00
Name: parameter5 Index: 0 Type: int8 Data: 00
Name: unknown Index: 0 Type: int8 Data: 00
Name: unknown Index: 1 Type: int8 Data: 00
Name: unknown Index: 2 Type: int8 Data: 00
Name: value Index: 0 Type: int8 Data: 01
17:59:02 D Client: WS_ServerUpdateTarget Packet:
Name: spawn_id Index: 0 Type: int32 Data: 4294967295
Name: unknown Index: 0 Type: int8 Data: 00
17:59:02 D Client: SendPlayerDeathWindow
17:59:02 D Zone: ZoneServer::GetRevivePoints
17:59:02 D Zone: Got revive point in ZoneServer::GetRevivePoints!
17:59:02 W Zone: No Revive Points set for zoneID 1. Add some!
17:59:02 D Client: WS_DeathWindow Packet:
Name: location_count Index: 0 Type: int16 Data: 01
Array: Data:
Name: location_id_0 Index: 0 Type: int32 Data: 4294967295
Name: unknown2_0 Index: 0 Type: int8 Data: 00
Name: zone_name_0 Index: 0 Type: EQ2_16BitString Data: GM Playground
Name: location_name_0 Index: 0 Type: EQ2_16BitString Data: Zone Safe Point
Name: choice_text_0 Index: 0 Type: EQ2_16BitString Data:
Name: distance_0 Index: 0 Type: float Data: 0
Name: unknown5 Index: 0 Type: int8 Data: 00
Name: unknown5 Index: 1 Type: int8 Data: 00
Name: unknown5 Index: 2 Type: int8 Data: 00
17:59:02 D Zone: ZoneServer::RemoveSpawn
17:59:02 D Zone: ZoneServer::RemoveSpawnSupportFunctions
17:59:02 D Zone: ZoneServer::RemoveDeadEnemyList
17:59:02 D Zone: ZoneServer::RemoveDeadEnemyList
17:59:02 D Zone: Enter: ZoneServer::SendRemoveSpawn
17:59:02 D Zone: GetIndexForSpawn: 1, WasSpawnRemoved = false
17:59:02 D Zone: Has Packet (before):
Name: spawn_index Index: 0 Type: int16 Data: 00
Name: delete Index: 0 Type: int8 Data: 00
17:59:02 D Player: Remove Spawn 'John' (25176)
17:59:02 D Zone: player_spawn_id_map.erase()
17:59:02 D Zone: player_spawn_reverse_id_map.erase()
17:59:02 D Zone: Has Packet (after):
Name: spawn_index Index: 0 Type: int16 Data: 01
Name: delete Index: 0 Type: int8 Data: 01
17:59:02 D Zone: Exit True: ZoneServer::SendRemoveSpawn
Name: spawn_index Index: 0 Type: int16 Data: 01
Name: delete Index: 0 Type: int8 Data: 01
17:59:03 D Opcode: Opcode 0029 (41): OP_UpdateTargetMsg
17:59:03 D Opcode: Opcode 0011 (17): OP_RemoteCmdMsg
0: 09 01 00 00 | ....
17:59:03 D Command: Player 'John' (150), Command: clearallqueuedabilities
17:59:03 D Player: John left grid 4294967295 and entered grid 1000839081
17:59:10 D Opcode: Opcode 0011 (17): OP_RemoteCmdMsg
0: 35 00 0A 00 34 32 39 34 - 39 36 37 32 39 35 | 5...4294967295
17:59:10 D Command: Handler: 53, COMMAND: 'select_junction'
17:59:10 D Command: Player 'John' (150), Command: select_junction
17:59:10 D Client: WS_ServerControlFlags Packet (parameter1=8):
Name: parameter1 Index: 0 Type: int8 Data: 08
Name: parameter2 Index: 0 Type: int8 Data: 00
Name: parameter3 Index: 0 Type: int8 Data: 00
Name: parameter4 Index: 0 Type: int8 Data: 00
Name: parameter5 Index: 0 Type: int8 Data: 00
Name: unknown Index: 0 Type: int8 Data: 00
Name: unknown Index: 1 Type: int8 Data: 00
Name: unknown Index: 2 Type: int8 Data: 00
Name: value Index: 0 Type: int8 Data: 00
17:59:10 D Client: WS_ServerControlFlags Packet (parameter1=16):
Name: parameter1 Index: 0 Type: int8 Data: 16
Name: parameter2 Index: 0 Type: int8 Data: 00
Name: parameter3 Index: 0 Type: int8 Data: 00
Name: parameter4 Index: 0 Type: int8 Data: 00
Name: parameter5 Index: 0 Type: int8 Data: 00
Name: unknown Index: 0 Type: int8 Data: 00
Name: unknown Index: 1 Type: int8 Data: 00
Name: unknown Index: 2 Type: int8 Data: 00
Name: value Index: 0 Type: int8 Data: 00
17:59:10 D Client: WS_Resurrected Packet:
Name: unknown Index: 0 Type: int8 Data: 00
17:59:10 W Client: No Revive Point! Spawning player at safe coordinates!
17:59:10 D Client: Attempt Revive @ GM Playground, 665.43, -35.90, 1485.44, 0.00, HP: 40, Pow: 1, Zone Safe Point
17:59:11 D Client: WS_CancelMoveObjectMode Packet:
Name: unknown Index: 0 Type: int32 Data: 00
17:59:11 D Client: WS_TeleportWithinZone Packet:
Name: x Index: 0 Type: float Data: 665.435
Name: y Index: 0 Type: float Data: -35.8975
Name: z Index: 0 Type: float Data: 1485.44
17:59:11 D Client: WS_SetControlGhost Packet:
Name: spawn_id Index: 0 Type: int32 Data: 4294967295
Name: speed Index: 0 Type: float Data: 0
Name: size Index: 0 Type: float Data: 0
Name: unknown2 Index: 0 Type: int8 Data: 255
17:59:11 D Client: WS_SetPOVGhostCmd Packet:
Name: spawn_id Index: 0 Type: int32 Data: 4294967295
17:59:11 D Zone: ZoneServer::RemoveSpawn
17:59:11 D Zone: ZoneServer::RemoveSpawnSupportFunctions
17:59:11 D Zone: ZoneServer::RemoveDeadEnemyList
17:59:11 D Zone: ZoneServer::RemoveDeadEnemyList
17:59:11 D Zone: Enter: ZoneServer::SendRemoveSpawn
17:59:11 D Zone: GetIndexForSpawn: 0, WasSpawnRemoved = true
17:59:11 D Zone: Exit False: ZoneServer::SendRemoveSpawn
Name: spawn_index Index: 0 Type: int16 Data: 00
Name: delete Index: 0 Type: int8 Data: 00
17:59:11 D Opcode: Opcode 0029 (41): OP_UpdateTargetMsg
17:59:11 D Opcode: Opcode 0011 (17): OP_RemoteCmdMsg
0: 09 01 00 00 | ....
17:59:11 D Command: Player 'John' (150), Command: clearallqueuedabilities
17:59:11 D Opcode: Opcode 000D (13): OP_DoneLoadingZoneResourcesMsg
17:59:12 D Opcode: Opcode 000F (15): OP_DoneLoadingEntityResourcesMsg
17:59:12 D Items: Loading items for character 'John' (2)
17:59:12 D Player: Getting current title index for player 'John'...
17:59:12 D Player: Prefix Index: -1
17:59:12 D Player: Getting current title index for player 'John'...
17:59:12 D Player: Suffix Index: -1
17:59:12 D Merchant: Loading Buyback - Player: 2
17:59:12 D Opcode: Opcode 0010 (16): OP_PredictionUpdateMsg
17:59:13 D Packet: Unable to convert EQ opcode 0X00B3 to an emu opcode.
17:59:13 D Opcode: Opcode 0000 (0): Unknown in ..\..\source\WorldServer\client.cpp
17:59:13 D Opcode: OP_Unknown Received 00B3 (179)
17:59:13 D Opcode: Opcode 0029 (41): OP_UpdateTargetMsg
17:59:13 D Opcode: Opcode 00B5 (181): OP_SignalMsg
17:59:13 D Opcode: Opcode 0011 (17): OP_RemoteCmdMsg
0: 09 01 00 00 | ....
17:59:13 D Command: Player 'John' (150), Command: clearallqueuedabilities
17:59:13 D Opcode: Opcode 0011 (17): OP_RemoteCmdMsg
0: 25 00 01 00 30 | %...0
17:59:13 D Command: Handler: 37, COMMAND: 'autoattack'
17:59:13 D Command: Player 'John' (150), Command: autoattack
17:59:13 D Opcode: Opcode 0011 (17): OP_RemoteCmdMsg
0: 23 00 01 00 31 | #...1
17:59:13 D Command: Handler: 35, COMMAND: 'enablequeuedabilities'
17:59:13 D Command: Player 'John' (150), Command: enablequeuedabilities
17:59:22 D Player: John left grid 4294967295 and entered grid 1000839081The 2nd Death, crashes client with ProxyActor (proximity code?)
Code: Select all
18:00:30 D Opcode: Opcode 0011 (17): OP_RemoteCmdMsg
0: 36 00 04 00 73 65 6C 66 | 6...self
18:00:30 D Command: Handler: 54, COMMAND: 'kill'
18:00:30 D Command: Player 'John' (150), Command: kill
18:00:30 D Zone: ZoneServer::RemoveSpawnSupportFunctions
18:00:30 D Zone: ZoneServer::RemoveDeadEnemyList
18:00:30 D Zone: WS_HearDeath Packet:
Name: attacker Index: 0 Type: int32 Data: 00
Name: defender Index: 0 Type: int32 Data: 00
Name: damage_type Index: 0 Type: int8 Data: 00
Name: blow_type Index: 0 Type: int16 Data: 00
18:00:30 D Zone: DisplayDeadWindow()
18:00:30 D Client: WS_ServerControlFlags Packet (parameter1=8):
Name: parameter1 Index: 0 Type: int8 Data: 08
Name: parameter2 Index: 0 Type: int8 Data: 00
Name: parameter3 Index: 0 Type: int8 Data: 00
Name: parameter4 Index: 0 Type: int8 Data: 00
Name: parameter5 Index: 0 Type: int8 Data: 00
Name: unknown Index: 0 Type: int8 Data: 00
Name: unknown Index: 1 Type: int8 Data: 00
Name: unknown Index: 2 Type: int8 Data: 00
Name: value Index: 0 Type: int8 Data: 01
18:00:30 D Client: WS_ServerControlFlags Packet (parameter1=16):
Name: parameter1 Index: 0 Type: int8 Data: 16
Name: parameter2 Index: 0 Type: int8 Data: 00
Name: parameter3 Index: 0 Type: int8 Data: 00
Name: parameter4 Index: 0 Type: int8 Data: 00
Name: parameter5 Index: 0 Type: int8 Data: 00
Name: unknown Index: 0 Type: int8 Data: 00
Name: unknown Index: 1 Type: int8 Data: 00
Name: unknown Index: 2 Type: int8 Data: 00
Name: value Index: 0 Type: int8 Data: 01
18:00:30 D Client: WS_ServerUpdateTarget Packet:
Name: spawn_id Index: 0 Type: int32 Data: 4294967295
Name: unknown Index: 0 Type: int8 Data: 00
18:00:30 D Client: SendPlayerDeathWindow
18:00:30 D Zone: ZoneServer::GetRevivePoints
18:00:30 D Zone: Got revive point in ZoneServer::GetRevivePoints!
18:00:30 W Zone: No Revive Points set for zoneID 1. Add some!
18:00:30 D Client: WS_DeathWindow Packet:
Name: location_count Index: 0 Type: int16 Data: 01
Array: Data:
Name: location_id_0 Index: 0 Type: int32 Data: 4294967295
Name: unknown2_0 Index: 0 Type: int8 Data: 00
Name: zone_name_0 Index: 0 Type: EQ2_16BitString Data: GM Playground
Name: location_name_0 Index: 0 Type: EQ2_16BitString Data: Zone Safe Point
Name: choice_text_0 Index: 0 Type: EQ2_16BitString Data:
Name: distance_0 Index: 0 Type: float Data: 0
Name: unknown5 Index: 0 Type: int8 Data: 00
Name: unknown5 Index: 1 Type: int8 Data: 00
Name: unknown5 Index: 2 Type: int8 Data: 00
18:00:30 D Opcode: Opcode 0029 (41): OP_UpdateTargetMsg
18:00:30 D Opcode: Opcode 0011 (17): OP_RemoteCmdMsg
0: 09 01 00 00 | ....
18:00:30 D Command: Player 'John' (150), Command: clearallqueuedabilities
18:00:30 D Zone: ZoneServer::RemoveSpawn
18:00:30 D Zone: ZoneServer::RemoveSpawnSupportFunctions
18:00:30 D Zone: ZoneServer::RemoveDeadEnemyList
18:00:30 D Zone: ZoneServer::RemoveDeadEnemyList
18:00:30 D Zone: Enter: ZoneServer::SendRemoveSpawn
18:00:30 D Zone: GetIndexForSpawn: 2, WasSpawnRemoved = false
18:00:30 D Zone: Has Packet (before):
Name: spawn_index Index: 0 Type: int16 Data: 00
Name: delete Index: 0 Type: int8 Data: 00
18:00:30 D Player: Remove Spawn 'John' (25176)
18:00:30 D Zone: player_spawn_id_map.erase()
18:00:30 D Zone: player_spawn_reverse_id_map.erase()
18:00:30 D Zone: Has Packet (after):
Name: spawn_index Index: 0 Type: int16 Data: 02
Name: delete Index: 0 Type: int8 Data: 01
18:00:30 D Zone: Exit True: ZoneServer::SendRemoveSpawn
Name: spawn_index Index: 0 Type: int16 Data: 02
Name: delete Index: 0 Type: int8 Data: 01
18:00:37 D Opcode: Opcode 0011 (17): OP_RemoteCmdMsg
0: 35 00 0A 00 34 32 39 34 - 39 36 37 32 39 35 | 5...4294967295
18:00:37 D Command: Handler: 53, COMMAND: 'select_junction'
18:00:37 D Command: Player 'John' (150), Command: select_junction
18:00:37 D Client: WS_ServerControlFlags Packet (parameter1=8):
Name: parameter1 Index: 0 Type: int8 Data: 08
Name: parameter2 Index: 0 Type: int8 Data: 00
Name: parameter3 Index: 0 Type: int8 Data: 00
Name: parameter4 Index: 0 Type: int8 Data: 00
Name: parameter5 Index: 0 Type: int8 Data: 00
Name: unknown Index: 0 Type: int8 Data: 00
Name: unknown Index: 1 Type: int8 Data: 00
Name: unknown Index: 2 Type: int8 Data: 00
Name: value Index: 0 Type: int8 Data: 00
18:00:37 D Client: WS_ServerControlFlags Packet (parameter1=16):
Name: parameter1 Index: 0 Type: int8 Data: 16
Name: parameter2 Index: 0 Type: int8 Data: 00
Name: parameter3 Index: 0 Type: int8 Data: 00
Name: parameter4 Index: 0 Type: int8 Data: 00
Name: parameter5 Index: 0 Type: int8 Data: 00
Name: unknown Index: 0 Type: int8 Data: 00
Name: unknown Index: 1 Type: int8 Data: 00
Name: unknown Index: 2 Type: int8 Data: 00
Name: value Index: 0 Type: int8 Data: 00
18:00:37 D Client: WS_Resurrected Packet:
Name: unknown Index: 0 Type: int8 Data: 00
18:00:37 W Client: No Revive Point! Spawning player at safe coordinates!
18:00:37 D Client: Attempt Revive @ GM Playground, 665.43, -35.90, 1485.44, 0.00, HP: 40, Pow: 1, Zone Safe Point
18:00:37 D Client: WS_CancelMoveObjectMode Packet:
Name: unknown Index: 0 Type: int32 Data: 00
18:00:37 D Client: WS_TeleportWithinZone Packet:
Name: x Index: 0 Type: float Data: 665.435
Name: y Index: 0 Type: float Data: -35.8975
Name: z Index: 0 Type: float Data: 1485.44
18:00:37 D Client: WS_SetControlGhost Packet:
Name: spawn_id Index: 0 Type: int32 Data: 4294967295
Name: speed Index: 0 Type: float Data: 0
Name: size Index: 0 Type: float Data: 0
Name: unknown2 Index: 0 Type: int8 Data: 255
18:00:37 D Client: WS_SetPOVGhostCmd Packet:
Name: spawn_id Index: 0 Type: int32 Data: 4294967295
18:00:37 D Zone: ZoneServer::RemoveSpawn
18:00:37 D Zone: ZoneServer::RemoveSpawnSupportFunctions
18:00:37 D Zone: ZoneServer::RemoveDeadEnemyList
18:00:37 D Zone: ZoneServer::RemoveDeadEnemyList
18:00:37 D Zone: Enter: ZoneServer::SendRemoveSpawn
18:00:37 D Zone: GetIndexForSpawn: 0, WasSpawnRemoved = true
18:00:37 D Zone: Exit False: ZoneServer::SendRemoveSpawn
Name: spawn_index Index: 0 Type: int16 Data: 00
Name: delete Index: 0 Type: int8 Data: 00
18:00:37 D Opcode: Opcode 0029 (41): OP_UpdateTargetMsg
18:00:37 D Opcode: Opcode 0011 (17): OP_RemoteCmdMsg
0: 09 01 00 00 | ....
18:00:37 D Command: Player 'John' (150), Command: clearallqueuedabilities
18:00:37 D Opcode: Opcode 00B5 (181): OP_SignalMsg
18:00:37 D Opcode: Opcode 000D (13): OP_DoneLoadingZoneResourcesMsg
18:00:38 D Opcode: Opcode 000F (15): OP_DoneLoadingEntityResourcesMsg
18:00:38 D Items: Loading items for character 'John' (2)
18:00:38 D Player: Getting current title index for player 'John'...
18:00:38 D Player: Prefix Index: -1
18:00:38 D Player: Getting current title index for player 'John'...
18:00:38 D Player: Suffix Index: -1
18:00:38 D Merchant: Loading Buyback - Player: 2
18:01:24 D World: Timeout up!, state=
18:01:25 D Zone: ZoneServer::RemoveSpawn
18:01:25 D Zone: ZoneServer::RemoveSpawnSupportFunctions
18:01:25 D Zone: ZoneServer::RemoveDeadEnemyList
18:01:25 D Zone: ZoneServer::RemoveDeadEnemyList
18:01:25 I Zone: Scheduling client 'John' for removal.
18:01:25 D Player: Toggling Character OFFLINE!
18:01:34 D World: Timeout up!, state=
18:01:39 D World: Timeout up!, state=
18:01:39 D World: Removing connection...With better placement of packet->PrintPacket() statements, I do start seeing differences. Help me look these two dumps over, see if we can figure this thing out.
Btw, this is the only place this function is called in the entire World:
Code: Select all
case COMMAND_SELECT_JUNCTION:{
LogWrite(MISC__TODO, "TODO", "For access/travel selections (i.e. Mariner Bells, Player Death Window, etc.)\n\t(%s, function: %s, line #: %i)", __FILE__, __FUNCTION__, __LINE__);
int32 choice = 0;
if(sep && sep->arg[0] && sep->IsNumber(0))
choice = atoul(sep->arg[0]);
if(client->GetPlayer()->GetHP() == 0){ //dead and this is a revive request
client->HandlePlayerRevive(choice);
}
break;
}
Edit: Updated the blocks of code a few times, after getting better placement of my printpackets.
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: [Bug] Client Crash on Revive
I have spent the entire day, and I do not exaggerate, ask Xinux... trying to chase this down. There are so many threads running in so many directions, I cannot figure out how to properly debug this.
So once again, I fall to the mercy of Scatman (or other savvy C++ devs) to try and find the answer to this problem. With the 6118 client and a brand spanking new fresh database, you can crash your client every time you die once, revive, die again, revive again, crash.
Should be simple for you smart guys to figure out.
So once again, I fall to the mercy of Scatman (or other savvy C++ devs) to try and find the answer to this problem. With the 6118 client and a brand spanking new fresh database, you can crash your client every time you die once, revive, die again, revive again, crash.
Should be simple for you smart guys to figure out.
Who is online
Users browsing this forum: No registered users and 0 guests