Client Error Analysis: Difference between revisions
(Created page with "When the WoW client crashes, the error logs usually are not useful to users. They often do contain exact information about what failed though, which can be analysed with rever...") |
|||
Line 76: | Line 76: | ||
0047F2E1 0385FFAC | 0047F2E1 0385FFAC | ||
0040B7D8 0385FFB4 | 0040B7D8 0385FFB4 | ||
* Seems to be related to WDT. Try redoing that. (At least, there is CBarrier code nearby.) -- [[User:Schlumpf|Schlumpf]] ([[User talk:Schlumpf|talk]]) (July 04, 2013) | |||
====0x007C59EA read 0x1F312341==== | ====0x007C59EA read 0x1F312341==== |
Revision as of 00:06, 5 March 2018
When the WoW client crashes, the error logs usually are not useful to users. They often do contain exact information about what failed though, which can be analysed with reverse engineering the functions mentioned in the error logs. In order to avoid repeating this process, this page tries to give analysis on commonly encountered errors as well as how to resolve them.
The information on this page is highly bound to the client version used. To navigate this site, first choose your client version and architecture, then the error type and follow the instructions on how to read the entries there. Any not entirely exact match is likely to be related but not exactly the described issue.
If your combination of values does not appear in this list, you may try to request help on the usual forums (modcraft, mcnet) which probably linked you here, or try the Wiki Talk page for this page. In either case, people who try to analyse your error will need the full error log as well as the exact client version (including if it is a special, non-official version) of your crash in order to analyse it.
Note that some of these sections may list your exact error but no analysis or fix. Sorry if that's the case. You may want to pressure someone to investigate that issue as mentioned in the paragraph above. Usually it means that the error is more complex though, so an incentive might be useful.
3.3.5.12340 Win32
#132 (0x85100084) Fatal Exception
The error messages in this category follow the form
ERROR #132 ... Program ... Exception ... (TYPE) ... at ... The instruction at INSTRUCTION referenced memory at DATA. The memory could not be ACCESS_TYPE.
The entries in this group are split by TYPE. Below that, the entries are then referring to INSTRUCTION ACCESS_TYPE DATA.
ACCESS_VIOLATION
0x004057FB read 0x00000004
The server sent you to an invalid map id. The client just finished transfering you there and failed getting the internal name of the map in order to load the ADTs, as the map MapRec entry does not exist in your client.
0x004E0A9B read 0x0000001C
0x007A07E4 read 0x******** (random address on heap)
EAX=1D30EF51 EBX=25B15BA0 ECX=00000006 EDX=00000040 ESI=000001C9 EDI=25B141C0 EBP=036DFA6C ESP=036DFA58 EIP=007A07E4 FLG=00010212 CS =0023 DS =002B ES =002B SS =002B FS =0053 GS =002B 007A07E4 036DFA6C 007B56C4 036DFA88 007B6B59 036DFBBC 00783357 036DFBD8 004FAAE4 036DFC98 004FB036 036DFD24 00485128 036DFDE4 00494F67 036DFE00 0049545B 036DFE1C 004A8A42 036DFEE8 00480B79 036DFF18 0047DC89 036DFF40 0047F29A 036DFF94 0047F2E1 036DFFAC 0040B7D8 036DFFB4
0x007B31F8 read 0x00000010
This issue is caused by the ADT referencing a detail doodad ID that is not given in the DBC, either by saving incorrectly or not editing the DBC correctly. This can be fixed by adding an entry to GroundEffectTextureRec for all IDs or by removing the id from the ADT.
This is a bug that has happened with certain versions of Noggit which should be fixed these days. The detail here is ADT's MCNK's ReallyLowQualityTextureingMap which references an non-existing layer.
Basically, each chunk can contain 4 textures (each on a layer), which each can have a specific applied groundeffect ID. The ID is further defined within the .dbc, however, this is not important. The most important thing is simple; Wow tries to visual a groundeffect for a texture that is not existing. On a chunk with 3 layers, but 4 ground effects noted, it is bound to lead to a crash.
A simple fix is easy; simply use the texture painter, apply some texture, set it to some size but the lowest speed and apply it onto the adt, until every chunk has 4 layers. The crashes stop.
0x007B4D61 read 0x00000071
EAX=00000001 EBX=00000000 ECX=00000001 EDX=00000FC0 ESI=1155D030 EDI=00CE87D0 EBP=0385DA28 ESP=0385D9B4 EIP=007B4D61 FLG=00010202 CS =0023 DS =002B ES =002B SS =002B FS =0053 GS =002B 007B4D61 0385DA28 007B5CF5 0385FA8C 007B6B4E 0385FBBC 00783357 0385FBD8 004FAAE4 0385FC98 004FB036 0385FD24 00485128 0385FDE4 00494F67 0385FE00 0049545B 0385FE1C 004A8A42 0385FEE8 00480B79 0385FF18 0047DC89 0385FF40 0047F29A 0385FF94 0047F2E1 0385FFAC 0040B7D8 0385FFB4
- Seems to be related to WDT. Try redoing that. (At least, there is CBarrier code nearby.) -- Schlumpf (talk) (July 04, 2013)
0x007C59EA read 0x1F312341
0x007C8DA0 read 0x******** (random address on heap)
Broken MLIQ chunk in WMO. In CMapObj::IdentifyLegacyLiquidType(): what the wiki refers to as "types?" appears to have too few entries, never ending in a byte&0xf that is not 0xf.
0x007D74B6 read 0x******** (random address on heap)
Reading MOMT of an WMO went terribly wrong. Either the file's size is smaller than it should be, opening the file failed somehow of the chunks before MOMT (MOTX) indicate a bad size. You may encounter this error with WMOs "ported" from other versions (i.e. MoP+). You should never encounter thus with not a single WMO on the ADT. Removing them all or fixing the corrupted one should fix this thus.
It should be possible to reproduce this with an WMO being
00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00
only. (I.e. infinite MOTX, thus invalid access on MOMT.)
0x007F69D1 read 0x00000000
Trying to call GtBarberShopCostBaseRec for an entry that does not exist. Fix your game tables.
0x008347AA read 0x00000008
Related to MCIN according to Will.
0x00836D11 read 0x00000000
0x776B2A83 read 0x5C523282
Caused by MAX_RACES (charactercreate.lua) not matching the amount of buttons in charactercreate.xml.
#134 (0x85100086) Fatal Condition
Errors of form ERROR #134 (0x85100086) Fatal Condition usually have no other easy to understand content in the error log.
To identify your error in this list, you will need to look at the stack trace of the current thread (Search your error log for --- Thread ID: xxxx [Current Thread] ---. This is likely to be the first block after the CVars and GX Info blocks). It will likely be enough if the first few lines match. Only the first column in the error log is relevant and given here.
00772AB5 008889CE 006D7A9E 00725F73...
The client is trying to get the collision volume for a unit. The CreatureDisplayInfoRec of that unit does not exist in the client. If the CreatureDisplayInfoRec of that unit exists in the client, it references a CreatureModelDataRec that does not exist.