Error Posting Rules and 1.10 Error Database [updated 1.11x]

Post here about all aspects of D2 mod making whether it's information, problems or whatever. Please specify whether your post is relating to Classic D2 or the Expansion.

Moderator: Nizari

Locked

0
No votes
 
Total votes: 0

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Error Posting Rules and 1.10 Error Database [updated 1.11x]

Post by Nefarius » Fri Feb 07, 2003 5:26 am

Error Reporting Format

v1.11+

For v1.11b the error messages you recieve do not have any assert strings, if you need help, there are several things you can do, first of all, the line # on many of the errors didn't change (especially for mapping errors), otherwise follow these steps exactly.

If you use v1.11 or v1.11b, replace your storm.dll with the rebased version so that you can provide proper addresses for error messages and not random ones.

v1.11
v1.11b

Furthermore, include the following TWO sections from the debug log. Especially if you do not use the rebased copies for whatever reason.

Code: Select all

Halt
Location : , line #xxxx
Expression : Unrecoverable internal error xxxxxxxx
And

Code: Select all

19:56:42.109  Enumerate modules...
19:56:42.109      Base:00400000h  Size: 20A000h  Name:Game.exe         Path:C:\Programme\Diablo II\Game.exe
19:56:42.109      Base:00790000h  Size: 1CA000h  Name:AcGenral.DLL     Path:C:\WINDOWS\AppPatch\AcGenral.DLL
19:56:42.109      Base:021C0000h  Size:  1A000h  Name:smackw32.dll     Path:C:\Programme\Diablo II\smackw32.dll
19:56:42.109      Base:10000000h  Size:  23000h  Name:guard32.dll      Path:C:\WINDOWS\system32\guard32.dll
19:56:42.109      Base:597D0000h  Size:  54000h  Name:NETAPI32.dll     Path:C:\WINDOWS\system32\NETAPI32.dll
19:56:42.109      Base:59DD0000h  Size:  A1000h  Name:DBGHELP.dll      Path:C:\WINDOWS\system32\DBGHELP.dll
19:56:42.109      Base:5B0F0000h  Size:  38000h  Name:UxTheme.dll      Path:C:\WINDOWS\system32\UxTheme.dll
19:56:42.109      Base:5CF00000h  Size:  26000h  Name:ShimEng.dll      Path:C:\WINDOWS\system32\ShimEng.dll
19:56:42.109      Base:5D450000h  Size:  9A000h  Name:COMCTL32.dll     Path:C:\WINDOWS\system32\COMCTL32.dll
19:56:42.109      Base:5E160000h  Size:   8000h  Name:fltLib.dll       Path:C:\WINDOWS\system32\fltLib.dll
19:56:42.109      Base:60000000h  Size:  2E000h  Name:ijl11.dll        Path:C:\Programme\Diablo II\ijl11.dll
19:56:42.109      Base:6F790000h  Size:  60000h  Name:storm.dll        Path:C:\Programme\Diablo II\storm.dll
19:56:42.109      Base:6F870000h  Size:   E000h  Name:D2Gdi.dll        Path:C:\Programme\Diablo II\D2Gdi.dll
19:56:42.109      Base:6F8E0000h  Size:  CE000h  Name:d2win.dll        Path:C:\Programme\Diablo II\d2win.dll
19:56:42.109      Base:6F9B0000h  Size:  19000h  Name:D2sound.dll      Path:C:\Programme\Diablo II\D2sound.dll
19:56:42.109      Base:6FA20000h  Size:  14000h  Name:d2mcpclient.dll  Path:C:\Programme\Diablo II\d2mcpclient.dll
19:56:42.109      Base:6FA40000h  Size:  2D000h  Name:D2LAUNCH.DLL     Path:C:\Programme\Diablo II\D2LAUNCH.DLL
19:56:42.109      Base:6FA80000h  Size:  21000h  Name:D2gfx.dll        Path:C:\Programme\Diablo II\D2gfx.dll
19:56:42.109      Base:6FAB0000h  Size: 135000h  Name:D2CLIENT.DLL     Path:C:\Programme\Diablo II\D2CLIENT.DLL
19:56:42.109      Base:6FBF0000h  Size:   D000h  Name:D2Net.dll        Path:C:\Programme\Diablo II\D2Net.dll
19:56:42.109      Base:6FC00000h  Size:  14000h  Name:D2Lang.dll       Path:C:\Programme\Diablo II\D2Lang.dll
19:56:42.109      Base:6FC20000h  Size: 122000h  Name:D2Game.dll       Path:C:\Programme\Diablo II\D2Game.dll
19:56:42.109      Base:6FD50000h  Size:  A9000h  Name:D2Common.dll     Path:C:\Programme\Diablo II\D2Common.dll
19:56:42.109      Base:6FE10000h  Size: 107000h  Name:D2CMP.dll        Path:C:\Programme\Diablo II\D2CMP.dll
19:56:42.109      Base:6FF20000h  Size:  22000h  Name:Bnclient.dll     Path:C:\Programme\Diablo II\Bnclient.dll
19:56:42.109      Base:6FF50000h  Size:  5C000h  Name:fog.dll          Path:C:\Programme\Diablo II\fog.dll
19:56:42.109      Base:71A00000h  Size:   8000h  Name:WS2HELP.dll      Path:C:\WINDOWS\system32\WS2HELP.dll
19:56:42.109      Base:71A10000h  Size:  17000h  Name:WS2_32.dll       Path:C:\WINDOWS\system32\WS2_32.dll
19:56:42.109      Base:71A30000h  Size:   A000h  Name:WSOCK32.dll      Path:C:\WINDOWS\system32\WSOCK32.dll
19:56:42.109      Base:71B70000h  Size:  13000h  Name:SAMLIB.dll       Path:C:\WINDOWS\system32\SAMLIB.dll
19:56:42.109      Base:73E70000h  Size:  5C000h  Name:DSOUND.dll       Path:C:\WINDOWS\system32\DSOUND.dll
19:56:42.109      Base:75250000h  Size:  2E000h  Name:msctfime.ime     Path:C:\WINDOWS\system32\msctfime.ime
19:56:42.109      Base:76300000h  Size:  10000h  Name:winsta.dll       Path:C:\WINDOWS\system32\winsta.dll
19:56:42.109      Base:76330000h  Size:  1D000h  Name:IMM32.DLL        Path:C:\WINDOWS\system32\IMM32.DLL
19:56:42.109      Base:76350000h  Size:  4A000h  Name:comdlg32.dll     Path:C:\WINDOWS\system32\comdlg32.dll
19:56:42.109      Base:76620000h  Size:  B5000h  Name:USERENV.dll      Path:C:\WINDOWS\system32\USERENV.dll
19:56:42.109      Base:76AF0000h  Size:  2E000h  Name:WINMM.dll        Path:C:\WINDOWS\system32\WINMM.dll
19:56:42.109      Base:76C50000h  Size:  28000h  Name:imagehlp.dll     Path:C:\WINDOWS\system32\imagehlp.dll
19:56:42.109      Base:76D20000h  Size:  19000h  Name:iphlpapi.dll     Path:C:\WINDOWS\system32\iphlpapi.dll
19:56:42.109      Base:76EE0000h  Size:  27000h  Name:DNSAPI.dll       Path:C:\WINDOWS\system32\DNSAPI.dll
19:56:42.109      Base:76F20000h  Size:  2D000h  Name:WLDAP32.dll      Path:C:\WINDOWS\system32\WLDAP32.dll
19:56:42.109      Base:76F80000h  Size:   6000h  Name:rasadhlp.dll     Path:C:\WINDOWS\system32\rasadhlp.dll
19:56:42.109      Base:76F90000h  Size:  7F000h  Name:CLBCATQ.DLL      Path:C:\WINDOWS\system32\CLBCATQ.DLL
19:56:42.109      Base:77010000h  Size:  D3000h  Name:COMRes.dll       Path:C:\WINDOWS\system32\COMRes.dll
19:56:42.109      Base:770F0000h  Size:  8B000h  Name:OLEAUT32.dll     Path:C:\WINDOWS\system32\OLEAUT32.dll
19:56:42.109      Base:773A0000h  Size: 103000h  Name:comctl32.dll     Path:C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
19:56:42.109      Base:774B0000h  Size: 13D000h  Name:ole32.dll        Path:C:\WINDOWS\system32\ole32.dll
19:56:42.109      Base:77660000h  Size:  21000h  Name:NTMARTA.DLL      Path:C:\WINDOWS\system32\NTMARTA.DLL
19:56:42.109      Base:77B10000h  Size:  22000h  Name:apphelp.dll      Path:C:\WINDOWS\system32\apphelp.dll
19:56:42.109      Base:77BB0000h  Size:  15000h  Name:MSACM32.dll      Path:C:\WINDOWS\system32\MSACM32.dll
19:56:42.109      Base:77BD0000h  Size:   8000h  Name:VERSION.dll      Path:C:\WINDOWS\system32\VERSION.dll
19:56:42.109      Base:77BE0000h  Size:  58000h  Name:msvcrt.dll       Path:C:\WINDOWS\system32\msvcrt.dll
19:56:42.109      Base:77DA0000h  Size:  AA000h  Name:advapi32.dll     Path:C:\WINDOWS\system32\advapi32.dll
19:56:42.109      Base:77E50000h  Size:  91000h  Name:RPCRT4.dll       Path:C:\WINDOWS\system32\RPCRT4.dll
19:56:42.109      Base:77EF0000h  Size:  47000h  Name:GDI32.dll        Path:C:\WINDOWS\system32\GDI32.dll
19:56:42.109      Base:77F40000h  Size:  76000h  Name:SHLWAPI.dll      Path:C:\WINDOWS\system32\SHLWAPI.dll
19:56:42.109      Base:77FC0000h  Size:  11000h  Name:Secur32.dll      Path:C:\WINDOWS\system32\Secur32.dll
19:56:42.109      Base:7C800000h  Size: 107000h  Name:kernel32.dll     Path:C:\WINDOWS\system32\kernel32.dll
19:56:42.109      Base:7C910000h  Size:  B7000h  Name:ntdll.dll        Path:C:\WINDOWS\system32\ntdll.dll
19:56:42.109      Base:7C9D0000h  Size: 81F000h  Name:SHELL32.dll      Path:C:\WINDOWS\system32\SHELL32.dll
19:56:42.109      Base:7E360000h  Size:  90000h  Name:user32.dll       Path:C:\WINDOWS\system32\user32.dll


older versions only EXCEPT points 1 and 3-6

If you encountered an error and are not able to solve it, and hence need help solving it we will all be glad to help you out, but you should follow these simple guide lines so that we can help you.
Note, this refers to errors related to Diablo 2 itself. If you encountered an error with a specific tool you should check out the Tools forum for support with your issue.

You should include the following information in your post:

0. Do a search over the forums for the exact error message (The last line of the assertion, such as "eComponent < NUM_COMPONENTS" is enough) in case it is an diablo 2 assertion error, in case of a unhandled exception skip this step.
if you did not find any post that solved your error message post a new topic. PLEASE READ the topics that come up in your search, just saying you dont have time to do so is rude, as we take the time to HELP you.

1. What was the last thing you changed.

2. Include the excact error message, please avoid posting things like: "I Crashed" without including any details, this will not allow us to help you as there are a quintillion reasons a crash may occur.
Note please include the line number! This will help us pinpoint the specific assertion faster.

Location : C:\Projects\Diablo2\Source\D2Client\Engine\GfxUtil.cpp, line #1352
Expression : eComponent < NUM_COMPONENTS

The red text represents the number of the line in the games original code.
You should at all cost include this number.

3. If you did not see the error message run the game in windowed mode (by adding -w to your shortcuts target line.) and repeat the steps that caused the error.

4. What happened in the game just before the error occurred, even small stuff such as flashing monster animations, which you yourself may ignore can be the key to helping you.

5. In case you recieved a general Access Violation (c00000005), please post the contents of your error log, this is the D2YYMMDD.TXT file in your diablo 2 folder, note do not post the entire log, just post the error data.

This is an example of the data you should post from your log:

03:40:59.830 ***** UNHANDLED EXCEPTION: ACCESS_VIOLATION (c0000005)
03:40:59.830 Fault address: 00C72265 00:00000000 *unknown*
03:40:59.830 eax:02aff900 ebx:00006600 ecx:00000020 edx:02aff800 esi:02aff600
03:40:59.830 edi:00000001 ebp:00001500 esp:0068e9f4 eip:00c72265 flg:00010212
03:40:59.830 cs:0177 ds:017f es:017f ss:017f fs:66bf gs:0000


6. Please attempt to type exactly what the error message said, dont leave out details.


If you follow these steps, we will probably be able to solve your error in no time. :mrgreen:


NOTE: Be sure you have modified the latest version of every file. Earlier versions may cause unexpected errors at any moment.
Last edited by Nefarius on Mon Aug 18, 2008 4:42 pm, edited 8 times in total.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

Hammerman
Junior Member
Champion of the Light
Posts: 263
Joined: Sun Jun 02, 2002 2:08 am

Hand-picked

Re: Error Reporting Format

Post by Hammerman » Fri Feb 07, 2003 1:03 pm

Nefarius" wrote:0. Do a search over the forums for the exact error message (The last line of the assertion, such as "eComponent < NUM_COMPONENTS" is enough) in case it is an diablo 2 assertion error, in case of a unhandled exception skip this step.
May I suggest that when users post the error message, include the line number and file. That way it is possible for others to look it up in a debugger, and see what may have gone wrong.

Just a suggestion.

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: Error Reporting Format

Post by Nefarius » Fri Feb 07, 2003 1:15 pm

This is included under point #2:

2. Include the excact error message, please avoid posting things like: "I Crashed" without including any details, this will not allow us to help you as there are a quintillion reasons a crash may occur.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
Alkalund
Retired Admin
Throne
Posts: 7597
Joined: Sun May 26, 2002 5:54 pm
Location: Toronto, Ontario, Canada
Contact:

Hand-picked

Re: Error Reporting Format

Post by Alkalund » Fri Feb 07, 2003 3:41 pm

These are examples of assertion failure messages that show you what exactly you should include in your post (basically, the location and expression):

Code: Select all

Assertion Failure 
Location : C:\Projects\Diablo2\Source\D2Client\UNIT\CUnit.cpp, line #1436 
Expression : (UINT)nAnimFrame <= tCelContext.dwCelsPerDirection

Code: Select all

Assertion Failure 
Location : C:\Projects\Diablo2\Source\D2Client\Engine\GfxUtil.cpp, line #1352 
Expression : eComponent < NUM_COMPONENTS

Code: Select all

Assertion Failure 
Location : D2Game\MONSTER\MonsterUnique.cpp, line #1782 
Expression : ptStats->pnAttack1MinDamage[0] == 1

User avatar
Myhrginoc
Retired Admin
Cherub
Posts: 12062
Joined: Sat May 25, 2002 7:28 am
Location: Percussion U

Hand-picked

Re: Error Reporting Format

Post by Myhrginoc » Sat Feb 08, 2003 5:26 am

[quote="Hammerman";p="65107"]
Nefarius wrote:0. Do a search over the forums for the exact error message (The last line of the assertion, such as "eComponent < NUM_COMPONENTS" is enough) in case it is an diablo 2 assertion error, in case of a unhandled exception skip this step.
May I suggest that when users post the error message, include the line number and file. That way it is possible for others to look it up in a debugger, and see what may have gone wrong.

Just a suggestion.[/quote]

Searching the forums for an assertion message is best on part of the last line, in order to maximize hits. But it is critical to post the entire assertion message in the error report: some assertions have many instances, and the only distinguishing feature is the line number!
Do the right thing. It will gratify some people and astonish the rest.
~ Mark Twain
Run Diablo II in any version for mods: tutorial
The Terms of Service!! Know them, abide by them, and enjoy the forums at peace.
The Beginner's Guide v1.4: (MS Word | PDF) || Mod Running Scripts || TFW: Awakening

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: Error Reporting Format

Post by Nefarius » Sat Feb 08, 2003 5:30 am

Im going to edit it so that it explains it in even greater detail, btw I have an idea, well sort of a giant project:

To post all assertions, warning and halts that have been solved so far. This may help many people. Ill start posting those I fixed in the last few hours.


--------------
Assertion Failure
Location : C:\Projects\Diablo2\Source\D2Common\PATH\Path.cpp, line #93
Expression : Missile Firing too far : 626

*This is a bug with Baals skills, It happens only if you spawn baal outside of the worldstone chamber. A Fix is Not yet known to my knowledge.

Halt
Location : C:\Projects\Diablo2\Source\D2CMP\SRC\Codec.cpp, line #1627
Expression : Error decompressing sprite

*This is a common bug that can occur anywhere MP, SP it dosent matter, it occurs when your machine runs out of available video memory. To fix it you should reboot, some times it may also be caused by corrupted cache data. In this case delete bncache.dat.

Assertion Failure
Location : C:\Projects\Diablo2\Source\D2Client\Engine\GfxUtil.cpp, line #1352
Expression : eComponent < NUM_COMPONENTS

*This is a animation component error, it has been fixed quite a long time ago.
Read this tread for more info: viewtopic.php?t=3910&start=0

Halt
Location : C:\Projects\Diablo2\Source\D2CMP\Src\SpriteCache.cpp, line #1234
Expression : [sInitializeHardwareCelData] There offsets are screwed for the Cel File: *Name of the file*

*One of your DCC animations is too larger and hence the offsets are cosidered invalid. Resize your animation to fix this.

Assertion Failure
Location : C:\Projects\Diablo2\Source\D2Client\UNIT\CUnit.cpp, line #1436
Expression : (UINT)nAnimFrame <= tCelContext.dwCelsPerDirection

*The number of frames per direction in the COF or D2 files dosent match the actuall number of frames.

Assertion Failure
Location : C:\Projects\Diablo2\Source\Fog\Src\Excel\Excel.cpp, line #366
Expression : *data == SYM_EOL

*This is the standard trailing bits crash, it happens only if you use M$ excel and it leaves empty (but present) data cells at the end of the file. add a blank column and fill it with 0, this will also allow you to edit runes.txt with excel.

Assertion Failure
Location : C:\Projects\Diablo2\Source\D2Game\SKILLS\Skills.cpp, line #2735
Expression : Attempt to set skill level beyond max level!

*This happens if you used or worked with some modified dlls that increase the maximum skill invest limit, the only way to fix this is to use those dlls again or to edit your character and remove the exceeding data.
Last edited by Nefarius on Sat Feb 08, 2003 5:47 am, edited 2 times in total.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
Myhrginoc
Retired Admin
Cherub
Posts: 12062
Joined: Sat May 25, 2002 7:28 am
Location: Percussion U

Hand-picked

Re: Error Reporting Format

Post by Myhrginoc » Sat Feb 08, 2003 6:44 am

Assertion Failure
Location : C:\Projects\Diablo2\Source\Fog\Src\Excel\Excel.cpp, line #366
Expression : *data == SYM_EOL

*This is the standard trailing bits crash, it happens only if you use M$ excel and it leaves empty (but present) data cells at the end of the file. add a blank column and fill it with 0, this will also allow you to edit runes.txt with excel.
This is a great example of what I said earlier about line numbers. The trailing tabs error in Runes.txt is Line #529.

Here are a few more:

File Read Error
Location : D2Hell\SRC\Archive.cpp, line #59
Expression : data\local\user
<--- this line changes quite a bit

Really basic, the game cannot find a file in the mpq, or its equivalent location in an external directory tree (for -direct -txt only).

Assertion Failure
Location : D2Common\ITEMS\Items.cpp, line #1451
Expression : eType <= ptItemTypesTbl->nSize


Assertion Failure
Location: D2Win\Src\D2Comp.cpp, line #3065
Expression: eType <= ptItemTypesTbl->nSize


Assertion Failure
Location : D2Common\DATATBLS\ItemTbls.cpp, line #2530
Expression : nIndex >= 0 && nIndex < (int)sgtItemTypeStatsTblDesc.nSize


These are caused by errors in ItemTypes.txt. Sometimes when you are testing your mod work, all you need to do when running -direct -txt is delete all .bin files in data\global\excel and run the mod again. In the last case, if you have spaces or unrecognized type codes in the Equiv fields, you will generate nIndex = -1. (This may also happen in eType for the first two.)

Assertion Failure
Location: D2Games\ITEMS\Items.cpp, line #726
Expression: wPrefix != 0 || wSuffix != 0


Magic, rare or crafted item that cannot receive an affix from the affix pool (usually due to level requirements).

Assertion Failure
Location : D2Common\ITEMS\ItemMods.cpp, line #1110
Expression : Invalid param for plus to skill item ability sk09


Item tries to get +skill for Magic Arrow but there is error in Blizzard code. The 1.09d d2common.dll change just changes the comparison to 05, like so: 45B15: 05 (by FoxBat), for 1.09b it is 45B05: 05 (by Angel_Master).

Assertion Failure
Location: D2Client\UNIT\PlrSkills.ccp, line#278
Expression:nWolfLevel>=0&&nWolfLevel <=MAX_SKILL_BASE_LEVEL


Assertion Failure
Location: D2Client\UNIT\PlrSkills.ccp, line#279
Expression:nLycLevel >= 0 && nLycLevel <=MAX_SKILL_BASE_LEVEL


Assertion Failure
Location: D2Client\UNIT\PlrSkills.ccp, line#280
Expression:nWolfBonus >= 0 && nWolfBonus <=MAX_SKILL_BASE_LEVEL


Assertion Failure
Location: D2Client\UNIT\PlrSkills.ccp, line#281
Expression:nLycBonus >= 0 && nLycBonus <=MAX_SKILL_BASE_LEVEL


Assertion Failure
Location: D2Client\UNIT\PlrSkills.ccp, line#333
Expression:nBearLevel>=0&&nWolfLevel <=MAX_SKILL_BASE_LEVEL


Assertion Failure
Location: D2Client\UNIT\PlrSkills.ccp, line#334
Expression:nLycLevel >= 0 && nLycLevel <=MAX_SKILL_BASE_LEVEL


Assertion Failure
Location: D2Client\UNIT\PlrSkills.ccp, line#335
Expression:nBearBonus >= 0 && nWolfBonus <=MAX_SKILL_BASE_LEVEL


Assertion Failure
Location: D2Client\UNIT\PlrSkills.ccp, line#336
Expression:nLycBonus >= 0 && nLycBonus <=MAX_SKILL_BASE_LEVEL


Any of these eight assertions occurred if you changed the Max Skill Levels in the dlls without making the additional changes for the Druid shapeshifting skills.
Do the right thing. It will gratify some people and astonish the rest.
~ Mark Twain
Run Diablo II in any version for mods: tutorial
The Terms of Service!! Know them, abide by them, and enjoy the forums at peace.
The Beginner's Guide v1.4: (MS Word | PDF) || Mod Running Scripts || TFW: Awakening

User avatar
Alkalund
Retired Admin
Throne
Posts: 7597
Joined: Sun May 26, 2002 5:54 pm
Location: Toronto, Ontario, Canada
Contact:

Hand-picked

Re: Error Reporting Format

Post by Alkalund » Sat Feb 08, 2003 4:37 pm

[quote="Nefarius";p="65374"]Assertion Failure
Location : C:\Projects\Diablo2\Source\D2Client\UNIT\CUnit.cpp, line #1436
Expression : (UINT)nAnimFrame <= tCelContext.dwCelsPerDirection

*The number of frames per direction in the COF or D2 files dosent match the actuall number of frames.[/quote]

This one can also happen when the game tries to retrieve an unexistant frame from one of the dcc files while assembling a hardcoded animation sequence. You can read more about this starting from this post.

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: Error Reporting Format

Post by Nefarius » Sun Feb 23, 2003 5:24 am

Location : C:\Projects\Diablo2\Source\D2Common\ITEMS\Items.cpp, line #3841
Expression : UnitGetClass(hItem) != -1


This error occurs whenever the game loads an invalid item code thru the NormCode, UberCode and UltraCode columns in armor.txt and weapons.txt, to fix it, simply change the invalid codes to some valid codes.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
Myhrginoc
Retired Admin
Cherub
Posts: 12062
Joined: Sat May 25, 2002 7:28 am
Location: Percussion U

Hand-picked

Re: Error Reporting Format

Post by Myhrginoc » Sun Feb 23, 2003 7:07 am

Assertion Failure
Location: urce\D2Game\PLAYER\PlrEval.cpp, line #195
Expression: nLevelDiff > 0

[quote="Nefarious";p="71160"]well two reasons for this:

1 you exceed max exp in experience.txt
2 the ppl that crash are cheaters that set their level to 99 or something in a editor w/o adjusting the experience.

while its fine to have to much exp, that will cause the kill to jump over the levels in between (it actually will calculate every level)
if you dont have enough exp to attain the current level (and your at that level) lvl99 and 0 exp, the game will blow up in your face.

This may also happen due to an infinite loop in experience.txt

also take to note that if you exceed 1 million exp on monster mark in monstats.txt it will be considered negative and hence you will loose that amount of exp when hitting the monster, because you wont be able to "down level" (but it will try doing that, and setting your exp lower then the exp needed for your level) and crash.[/quote]

[quote="Alkalund";p="71275"]Not only cheaters; if you have a character in your mod and you change the experience table, the game will crash with this assertion if the character ends up with too much experience for the level it currently is, according to the new table. As soon as the character makes a kill, the game crashes. [/quote]
Do the right thing. It will gratify some people and astonish the rest.
~ Mark Twain
Run Diablo II in any version for mods: tutorial
The Terms of Service!! Know them, abide by them, and enjoy the forums at peace.
The Beginner's Guide v1.4: (MS Word | PDF) || Mod Running Scripts || TFW: Awakening

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: Error Reporting Format

Post by Nefarius » Sun Feb 23, 2003 7:28 am

One More :)
UNHANDLED EXCEPTION: INT_DIVIDE_BY_ZERO (c0000094)

This one means: Attempt to Divide an Integer by Zero, It usually happens if the exp your character has is larger then the exp required for the last char level in experience.txt, it also occurs for missile trailing behaviour (aka the tracks the vines leave on the ground) in case you didnt adjust the params in missiles.txt after editing the missile tables.

It will actually happen whenever the game attempts to do the mathematically impossible calculation of #/0 but its very rare to actually do something that causes it.






Again another one has been smashed:

Its only a warning message ratter then a crash.


Warning
Location: D2Common\DRLG\OutWild.cpp, line # 484
Expression: fAdded


This happens when overground areas (except for Burial Grounds and Valley of Snakes) SizeX and/or sizeY columns get modified, the game draws the level borders above each other and hence causes a crash when you approach the borders, to fix this, set SizeX and SizeY to 80.
Last edited by Nefarius on Thu Feb 27, 2003 12:30 pm, edited 2 times in total.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: Error Reporting Format

Post by Nefarius » Wed Jun 22, 2005 9:59 pm

NEW (24th June 2006)

Code: Select all

Assertion Failure
Location: D2Games\ITEMS\Items.cpp, line #726
Expression: wPrefix != 0 || wSuffix != 0
Charm failed to find affix data and blows up your game, make sure there is always at least one suffix and prefix assigned to a charm itype or else...



NEW (17th June, 2006)

Code: Select all

Assertion Failure
Location : D2Common\DUNGEON\Dungeon.cpp, line #566
Expression : Unable to find spawn location for act start
This happens when a level that must be accessed via a portal (infernal pits of Act 5 for example) is created without the Position column in levels.txt being true (1).

Code: Select all

Assertion Failure
Location : D2Common\DATATBLS\LvlTbls.cpp, line #876
Expression : ii < sgnMazeDefs
This happens when a level that requires LvlMaze cannot find a record with its own ID in LvlMaze.txt









NEW (10th June, 2006)

Code: Select all

Halt
Location : D2Client\ENGINE\Gfx.cpp, line #1243
Expression : [GFX.CPP] Mode (3) is not used by object (1)

Code: Select all

Halt
Location : D2Client\ENGINE\Gfx.cpp, line #1243
Expression : [GFX.CPP] Mode (5) is not used by object (1)
ETC

Occurs when an object uses a mode it shouldn't (some unused client funcs do this)

Code: Select all

Assertion Failure
Location : D2Client\UNIT\Object.cpp, line #1372
Expression : UnitGetClass(hSrcPortal) == OBJECTCLASS_TOWNPORTAL || UnitGetClass(hSrcPortal) == OBJECTCLASS_PORTALPERMANENT
Object is not a portal but game tries to treat it like a portal.

Code: Select all

Assertion Failure
Location : D2Game\OBJECTS\ObjMode.cpp, line #3290
Expression : sgOperateFunctionTable[ptTypeData->bOperateFunction] != NULL
Use a "shrine" that isn't a shrine.

Code: Select all

Warning
Location : D2Game\OBJECTS\OBJEVAL.CPP, line #27
Expression : ptObjectData->bDamage
Damage column in objects.txt is false (0), hit ENTER and continue to play.









NEW (18th May, 2006)

Code: Select all

Assertion Failure
Location : D2Common\ITEMS\Items.cpp, line #3265
Expression : ptNpcStats
This happens when an NPC cannot locate it's ID pointer in npc.txt. Simply fix the typo in npc.txt to fix this.












More new stuff

Code: Select all

Assertion Failure
Location : D2Game\OBJECTS\Objects.cpp, line #3143
Expression : ptObjectGroup->bDensity[ObjIdx] < 128
This happens when the total density of all objects in an objectgroup (objectgrps.txt) is greater then 128.




Code: Select all

Location : D2Client\Skills\Skills.cpp, line #2120
Expression : (nMissiles - 1) / 5 <= MISSILEARRAY_TABLE_LENGTH
This is related to the charged-bolt-ball and spike-ball catapult missiles in act 5. It happens when slvl is too high and the missile thus unleashes too many bolts/spikes. To fix this, remove the per-level missiles (in skills and missiles).










Just to add some stuff here.




Code: Select all

Assertion Failure
Location : D2Client\Draw\dLightMap.cpp, line #305
Expression : ptLight
This happens if you put initradius to 0 for something that has light radius in Overlays.txt. Solution: Don't set init radius to 0 if you have light-radius enabled for that overlay.





Code: Select all

Halt
Location : D2CMP\SRC\Codec.cpp, line #1639
Expression : Error decompressing sprite - Possible corruption in data file: [color=red]<DCC FILENAME>[/color]
This happens when a DCC file gets corrupted (durning the decompression process),
Solution: Replace the faulty file with a clean copy from the CDs.
THIS IS NOT THE SAME AS THE OTHER ONE.

This error actually also occurs when the file isn't hosed, it posts a pretty good description of what frame is messed up:

Code: Select all

11:13:57.960  Sprite Decompression Error -- EXP: (dest != &pCel->bControlData[pCel->dwControlSize])   VALUE: dest == 6ec0af1   &pCel->bControlData[pCel->dwControlSize] == 6ec0ab5   FILE: C:\projects\D2\head\Diablo2\Source\D2CMP\SRC\Codec.cpp   LINE: 1247
11:13:57.960  Sprite Decompression Error -- File:FARHssdA1hth
11:13:57.960  Dir:1  Cell#:1  Wid:16  Ht:27  OffX:-7  OffY:-28




Code: Select all

Assertion Failure
Location : D2Game\GAME\SCmd.cpp, line #1971
Expression : len <= sizeof(SCmdItemEx)
Unresolved. [If you know what this is lemme know]




Code: Select all

Assertion Failure
Location : D2Common\UNITS\Units.cpp, line #2192
Expression : ptUnit
Don't know for sure, but this happened when I made the cube generate two different items, as in,
two items with different random stats. (you can generate 3 different items that dont get random stats however)




Code: Select all

Assertion Failure
Location : D2Game\ITEMS\Items.cpp, line #3438
Expression : 0
Unresolved. Has to do with items not saving stats.

Code: Select all

Assertion Failure
Location : D2Game\GAME\CCmd.cpp, line #381
Expression : ptPkt->dwTotalSize < CHARACTER_SAVE_SIZE
Your save file is too large, thus the game fails to load it. To fix this remove excessive items and stats.


Code: Select all

Assertion Failure
Location : D2Common\UNITS\Units.cpp, line #4008
Expression : ptUnit->eType == UNIT_PLAYER
EDIT: Solved, this happens when the save file contains invalid data, for example, if you remove an item type and the char already has it (and index in the item itself points to an unexisting value).


Code: Select all

22:31:35.950  ***** UNHANDLED EXCEPTION: BREAKPOINT (80000003)
22:31:35.950  Fault address:  6FFC2481 01:00011481 C:\PROGRAM FILES\DIABLO II\DIABLO II\STORM.DLL
Don't even start, this should never happen durning normal gameplay. I provocated this crash, just to post it here.
*This happens when the app causes a crash in the runtimes and you cancel the app termination.





New ones.

Code: Select all

Assertion Failure
Location : D2CMP\SRC\CelCmp.cpp, line #1379
Expression : ValidCelContext( pCelContext )
This happens when the skill icons in the quick-menu are messed up. For example if all your skills are set to "0", to fix this either make them multi-line or set all of them to -1 (if you dont want them to appear in the list)



Code: Select all

Assertion Failure
Location : D2Common\DATATBLS\ItemTbls.cpp, line #2008
Expression : ptItemStats != NULL
This happens when a base file (uniqueitems.txt, magicprefix/suffix.txt/automagic.txt, setitems.txt, gamble.txt, charstats.txt et al.) features an unexisting item code. (this is similar to the crash when no affixes exist for charms)

Thankfully, if you look at the list of "translated files", you will see which file causes your problem:

in the case above, it crashes after checking gamble.txt:

00:57:20.030 Translating data from: gamble
Last edited by Nefarius on Fri Jun 23, 2006 11:50 pm, edited 9 times in total.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: Error Posting Rules and 1.10 Error Database

Post by Nefarius » Sun Jan 15, 2006 10:31 pm

INFINITE LOOPS

These are rather rare in D2, but they CAN occur.
The best example is the Gold row in TCEX linking to itself, this will cause the game to hang and cause a out-of-memory BSOD if you don't terminate it, whenever an item drops from a unit/object.

WARNING: This error is not detected by the games bin compilation nor by d2txtanalyser

Joel's addendum :
Another source of infinite loops is creating stats that recursively reference each other indirectly. A simple example is making a new stat which is : mana based on HP, then making a HP based on Mana.

At game load, a loop will occur when game try to linearize this relation.
Last edited by Nefarius on Thu May 18, 2006 12:47 pm, edited 2 times in total.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

Locked

Return to “General Mod Making”