d2x v0.58.1-win: Enemy Within L23 crashes
#1
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.
Reply
#2
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.
Reply
#3
Here's the mission The Enemy Within if you're interested in testing it, kp:

http://www.enspiar.com/dmdb/viewMission.php?id=561

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. :-\
Reply
#4
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?
Reply
#5
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:
Code:
System Options:

;-nonicefps
;-maxfps 60
-pilot IVAN
-nomovies

;-nomouse
-nojoystick

-nosound
-nomusic

;-udp_hostaddr 10.0.0.5
;-udp_hostport <n>
;-udp_myport <n>

;-debug
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

Control Scheme: KEYBOARD DEFAULTS FTW!!
Reply
#6
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.
Reply
#7
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
Reply
#8
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.
Reply
#9
(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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)