d2x v0.58.1-win: Enemy Within L23 crashes
Hey, I don't know if this was the right place to ask, but I though I should anyway.

When I try playing Lv. 23 on The Enemy Within, the game doesn't even bother trying; once it finishes loading, I get the level music for about a half-second and the the game automatically quits to the desktop. I get a similar problem when playing on GOG's version of D2, but it runs fine on D2X-XL. Every other standard level works fine except level 23.
Level 23 of Descent: First Strike (via D1 emulation) and level 23 of Descent 2: Counterstrike both run fine for me in D2X-Rebirth.  There is no level 23 in Descent 2: Vertigo.  I assume from the name "The Enemy Within" that you are trying to play some campaign other than one of these.  Since I do not have that campaign, I cannot debug it.  Please post the backtrace from the crash.
Here's the mission The Enemy Within if you're interested in testing it, kp:


Unfortunately, none of the levels crash D2X-Rebirth on my system or any of the players I've done Co-op with. DOSBox on my system also plays level 23 without crashing. We might be dealing with one of those difficult "only affects one particular person's PC" bugs. :-\
Thanks.  If it is a memory corruption, it would likely be specific to the memory layout of the reporter's build.  So if he runs a Windows build and you tested on Linux (+DOS), each would have different layouts and different manifestations.  We had something like that with the 0.58.0 release, where one build crashed due to an out-of-bounds access, but other builds had something unimportant in that spot and could survive the memory corruption from the out-of-bounds access.

I cannot reproduce this crash.  I tried with an old 0.57.x snapshot and with the latest code, both on x86_64-pc-linux-gnu.  I ran the latest code with AddressSanitizer and observed no memory corruptions.  I ran the snapshot under Valgrind and observed no memory corruptions.  I played in single player and I ran a cooperative game.  I could not host in anarchy because the level has insufficient start spots for anarchy.  Without more information or the ability to reproduce the problem, there is nothing I can do to fix this.  A backtrace with debug symbols would be helpful.  Failing that, register context would let me identify the faulting function, which might be enough to add checking.

OP: can you reproduce this crash with the latest code?
seems to work on my Win7 64bit machine(the one in sig).  dont know if cheating FREESPACE might have bypassed the bug, but ill see when i get up to that level properly.

what does your d2x.ini look like?  Mine looks like this:
System Options:

;-maxfps 60
-pilot IVAN



;-udp_hostport <n>
;-udp_myport <n>

System IVAN rev 2.0 - Win 7 64bit
Intel i7-3770 4.10 Ghz || EVGA GTX 970 || GSkill Ares 16GB 1600 Mhz || ASUS P8Z77-V LK || Creative Sound Blaster Z || EVGA Supernova P2 850W || Enermax Fulmo Basic

Daedalus raises a good point.  I did not use the cheat code, but I did use an equivalent jump-to-level feature from the developer build, so I never loaded any of the earlier missions.
Aha, interesting ... And I loaded level 23 by using the "new game" menu to start on the level directly. I wonder if the crash occurs upon entering level 23 after playing a few previous levels. If only I had more time to test right now. Sad
I jumped to level 20, then progressed all the way to level 24 using a related cheat: del-shift-B.  When pressed (in developer builds), this cheat collects all powerups, teleports you to the exit door, and starts the countdown.  It provides a way to load prior levels, but get through them without playing them.  I saw no crash using this technique.  Either the crash depends on an option that I have not set, or it depends on some specific property of how the affected level or levels are finished.
(09-23-2015, 03:01 AM)Kp link Wrote:I jumped to level 20, then progressed all the way to level 24 using a related cheat: del-shift-B. [...]

I tried the same thing just now, but using a release build on Windows 7 64-bit (I know Kp tests on GNU/Linux) - no crash here either. I thought I remembered a similar cheat from unmodified MS-DOS D2, and sure enough, typing "DELSHIFTB" rather than using the key combo works in any version and build of D2. Smile

Forum Jump:

Users browsing this thread: 1 Guest(s)