[d1x/d2x 0.60 beta 2 - Windows] Game won't launch
#11
That is a different problem, but there is not enough information in that output to get anywhere. I need to know specifically what part of the program related to that logo was trying to run when it hung. A backtrace would be helpful, or a memory dump. You may be able to get a dump for your first problem by following Collecting User-Mode Dumps.

My Windows 10 guest is "Windows 10 Pro N" version 1709, and the game works fine there. This is a somewhat older build than you tried, but if it is a game bug, that should not matter. (If it is a Windows regression, it might matter.)
Reply
#12
Dump attached (ntdll.dll error)


Attached Files
.zip   d1x-rebirth.exe.4168.zip (Size: 159.86 KB / Downloads: 2)
Reply
#13
Thank you. That's quite helpful.

ntdll!EnterCriticalSection faulted accessing a null pointer. The null pointer was supplied by its caller __PHYSFS_platformGrabMutex from the argument mutex, which was null. That argument was supplied by its caller getRealDirHandle from the global variable stateLock, which was null. stateLock is only ever set to a non-null value by initializeMutexes, which sets it to the result of __PHYSFS_platformCreateMutex. So either initializeMutexes was not called, or its helper function failed. If initializeMutexes was called and failed, it would return 0, which would cause PHYSFS_init to return 0. That return would be ignored by Rebirth, which is clearly a bug. If PHYSFS_init fails, Rebirth should exit gracefully. Based on the call stack, I think PHYSFS_init must have been called, but we cannot assume it made it to the point where it would initialize the mutexes. If it failed at some earlier stage, it would error out, Rebirth would ignore the error, and this crash would result.

Then the question is, why did PHYSFS_init fail? It can fail if: I will patch Rebirth to exit gracefully when PhysFS_Init fails, rather than crashing. You will still need a fixed PhysFS to avoid the failure, though. As a workaround, you could revert to a build of Windows that had the older API semantics, or swap in a PhysFS that is not affected by this problem. Since 0.58.1 works for you, I hope that the PhysFS shipped with it is unaffected.
Reply
#14
Thank you very much the effort, much appreciated! Smile

Copying over libphysfs.dll from the older 058.1 Release indeed fixes the issue!
Reply
#15
You're welcome, but I owe you thanks as well. That memory dump was very helpful in tracing how much had been done before the application died. Does using the older physfs also help the system that hung on the Interplay logo?
Reply
#16
(11-20-2018, 03:51 AM)Kp Wrote: You're welcome, but I owe you thanks as well.  That memory dump was very helpful in tracing how much had been done before the application died.  Does using the older physfs also help the system that hung on the Interplay logo?

Hi,

sorry it took some time for me to respond. I do not have regular access to that computer in question but now I was able to follow up on that issue:

v0.60 BETA 2: Application Hang on Interplay Logo
v.060 04/14/18: Application Hang on Interplay Logo
v0.60 BETA 2 with old physfs: Application Hang on Interplay Logo
v0.58.1: no issues

It may be a completely other issue all together. But since it isn't my computer, it's not bothering me too much ;-p

-------------------------------------------------------

I found a computer that was still running Windows 10 v1803. Ran v0.60 BETA 2 on it which worked fine. After installing v1809 on said computer, v0.60 BETA 2 only ran with the old physfs file in the game root.

So unless someone else has any objections, that's that I suppose...
Reply
#17
Information 
Can also confirm that something happened after the October 2018 Update (windows 10 version 1809). All DXX versions above 0.58.1 won't launch but v0.58.1 still works normally.
All drivers and applications are up-to-date.

My simple specs:

MB=   ASRock Z370 Taichi
CPU= Intel® Core™ i7-8700 CPU @ 3.20GHz
GPU= SAPPHIRE NITRO+ Radeon™ RX 580 8 GB
RAM= CORSAIR Vengeance LPX - DDR4 - 16 GB: 2 x 8 GB
SSD= Samsung SSD 960 PRO 512GB
Reply
#18
A change in Windows 10 handling of a feature used by PhysFS broke initialization on affected systems. The problem has been reported to Microsoft. A fix may appear in some future release of Windows. In the interim, use a version of PhysFS that does not rely on the feature broken by this Windows update. PhysFS already has a fix in their repository, so updating to the newest PhysFS code should work. Alternatively, you could downgrade to PhysFS 2.x as I encouraged above (and which worked for the one affected user who tried it and reported back).

The best I can do in Rebirth is to make the game exit gracefully instead of crashing when the bug strikes. Affected versions of PhysFS cannot initialize successfully on affected versions of Windows 10. Rebirth cannot be used if PhysFS does not initialize successfully.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)