[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
#19
(12-08-2018, 05:39 PM)Kp Wrote: 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.

I'm on the latest update of Windows 10 Home and the 0.60 release hangs on the first screen while playing the theme song until it blanks out to white and Windows bring up the not responding dialog box. I found this thread while searching for why it would crash on startup. Copying the PhysFS file from 0.58.1 didn't work for me but I can run the full 0.58.1 release without it hanging on startup. I just came across Rebirth and I'm glad I can use 0.58.1. Is there a time frame in updating 0.60 with a fix? Is there anything else I can provide you guys? The crash happens on both my Windows 10 Home machines, a Thinkpad X230 laptop and 6700K Desktop with 980ti.

Thanks guys!
Reply
#20
There are at least two very different errors reported in this thread, which is unfortunate. Yours sounds like the one that has not been fixed or diagnosed. The fixed issue involved a Windows 10 bug causing PhysFS to fail to initialize, which Rebirth ignored, leading to Rebirth crashing when it used an uninitialized PhysFS. I fixed that in Check PHYSFS_init return value so that Rebirth will gracefully exit if PhysFS fails to initialize. Separately, the problem was reported to Microsoft and may be fixed in a newer version of Windows 10. The timeframe for that is uncertain. Separate from both of those, the problem was reported on the PhysFS list (by a non-Rebirth user who also relied on a working PhysFS), and PhysFS was modified to work around the Window 10 bug. So this is a well understood, and redundantly fixed, issue.

As for your issue, it was previously reported by IlhanK above. I don't know what causes it. No one has provided information I can use to investigate it. I cannot reproduce it. I have no leads on how to fix it because I cannot even begin trying to debug it. If I knew what to do, I could update the 0.60 source fairly quickly. However, A Future Pilot has not been to the forum since August, and is the only person who posted Windows builds. So even if I fixed it today, it might be months before a prebuilt executable is available for you. (You could, of course, compile the fix yourself at any point after I post it, without waiting for someone else to build it for you.)

To fix this issue, I need to understand it. Can you capture a Windows memory dump of the program when Windows declares it is not responding? If you run it with -debug, does it produce any output to the gamelog file? If yes, please post that. It will almost certainly not pinpoint the problem, but it may rule out some possibilities.
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)