WS_ExamineSpellInfo crash
Posted: Sat Nov 03, 2012 9:40 am
First, ANAL doesn't support Substructs yet - so this bug COULD be a by-product of how I'm hacking it to work by combining all substructs into a new, single struct so ANAL can still display the data - which works 99% of the time. In this one case, something is blowing up and wanted to bug it in case it's a valid crash. Now that I have explained myself to death, here's the crash 
Normal WS_SpellInfo packets are larger than this, so it's likely the fact ANAL is picking this packet up and trying to display it as a full spell packet, when it's not. I don't know what it is, in fact...
PS: Point your ANAL to this new struct
Normal WS_SpellInfo packets are larger than this, so it's likely the fact ANAL is picking this packet up and trying to display it as a full spell packet, when it's not. I don't know what it is, in fact...
Crash is:-- OP_ClientCmdMsg::OP_EqExamineInfoCmd --
10/28/2012 02:46:44
69.174.200.157 -> 192.168.1.65
0000: 00 3A 1F 00 00 00 FF 7A 02 01 00 00 00 00 FE 3F .:.....z.......?
0010: 05 66 C4 00 00 46 00 00 00 01 00 00 00 00 00 00 .f...F..........
0020 00 00 00 00 00 .....
This happens only on select packets in the OP_ClientCmdMsg::OP_EqExamineInfoCmd tree, in the 1191\Court of Al Afaz.log. The ANAL-formatted struct you need is this: I can explain more why the structs need to be mashed together for ANAL if needed.System.IndexOutOfRangeException: Index was outside the bounds of the array.
at EQ2PacketAnalyzer.DataStruct.LoadData(Byte[] bytes, Int32& index, DataStruct ds_array_size) in D:\dev\eq2\eq2tools\trunk\DevTools\PacketAnalyzer\PacketAnalyzer\Packets\DataStruct.cs:line 510
at EQ2PacketAnalyzer.DataStruct.LoadData(Byte[] bytes, Int32& index) in D:\dev\eq2\eq2tools\trunk\DevTools\PacketAnalyzer\PacketAnalyzer\Packets\DataStruct.cs:line 690
at EQ2PacketAnalyzer.PacketStruct.LoadData(Byte[] bytes, Int32 index) in D:\dev\eq2\eq2tools\trunk\DevTools\PacketAnalyzer\PacketAnalyzer\Packets\PacketStruct.cs:line 590
at EQ2PacketAnalyzer.Main.LoadPacketStruct(TreeNode node) in D:\dev\eq2\eq2tools\trunk\DevTools\PacketAnalyzer\PacketAnalyzer\Main.cs:line 415
at EQ2PacketAnalyzer.Main.treeView_opcodes_AfterSelect(Object sender, TreeViewEventArgs e) in D:\dev\eq2\eq2tools\trunk\DevTools\PacketAnalyzer\PacketAnalyzer\Main.cs:line 383
at System.Windows.Forms.TreeView.OnAfterSelect(TreeViewEventArgs e)
at System.Windows.Forms.TreeView.TvnSelected(NMTREEVIEW* nmtv)
at System.Windows.Forms.TreeView.WmNotify(Message& m)
at System.Windows.Forms.TreeView.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
PS: Point your ANAL to this new struct