btbd/mmultiplayer

Frequent Crashes when Interacting with Streaming Levels and Dolly Features

BoffinBrain opened this issue · 13 comments

I'm using mmultiplayer 2.0 with Mirror's Edge on Steam, version 1.0.1.0.

The game crashes around 3-4 times an hour while using the tools, most often when toggling a streaming level, adding a dolly marker or playing a replay. When not using the launcher, the game is very stable. I have also tried turning PhysX off just in case, but that has no effect.

I don't see any log files for the launcher under %temp%. Does the launcher produce logs, and if so, where can I find them to help track down the issue?

btbd commented

@BoffinBrain The mod doesn't produce any logs, but when the game crashes it will copy a stacktrace to your clipboard. If you could provide that it would be helpful.

Good to know. Definitely worth putting that in the readme so others know. Also, I'm aware that the tool has a 'debug window' feature. Perhaps you could give us an option to output that to a file too, for a more comprehensive sequence of events?

btbd commented

@BoffinBrain A more comprehensive sequence of events would be helpful if crashes were consistent/reproducible, but most of them aren't. It would be more helpful if I added my own vectored exception handler to display a complete crash window that verbosely tells users to put the data into an issue -- I'll see to adding this later today.

That sounds good. :) I'll put any stack traces in here for now, along with any relevant actions I can remember.

btbd commented

@BoffinBrain Next time you run the launcher it should download the new client with the small crash handler I've added in 703adc5. Feel free to send the output here next crash.

Since I have my launcher firewalled, is it possible to get it as an official release on Github?

btbd commented

@BoffinBrain You should not have the launcher firewalled. The launcher only connects to the internet to download the latest client DLL for you and then exits after it loads the DLL into the game. Firewalling the launcher has no effect on the client. To stop the client from connecting you have to firewall off Mirror's Edge... or just join a random room with no one else.

If you want to do it all manually regardless, you can manually download the latest client DLL from here and then save it as %temp%/mmultiplayer.dll.

Yeah, turns out I firewalled the game as well. :) Now I know why the trainer failed to work until it was allowed to connect just once. I have mixed feelings about programs that update in this fashion, but at least I understand it now. I'm happy to update manually.

btbd commented

@BoffinBrain As nice as it would be to have a full interactive launcher with more options regarding its auto-update behavior and features like in #23, I unfortunately don't have as much time to maintain this project as I used to. I'll still find time to make stability improvements or minor feature changes, but I should write complete documentation on the current setup should anyone else want to contribute larger overhauls.

The crash info window always stays behind the game window, so people with a single monitor aren't going to be able to do much with it at the moment. Fortunately for me, I am able to use DisplayFusion to forcibly move the window to another monitor and work with it from there.

Crash while editing time dilation settings.

An unhandled exception occured at:
        5009F808 (0xC0000005)

Context:
        EAX=0x5009F808 ECX=0x2E0AFA00 EDX=0x2C5A4818 EBX=0x2E0AF950
        ESI=0x2E0AF950 EDI=0x3422DE00 EBP=0x00000000 ESP=0x0267F354

Stack trace:
        0x00E713F3 (MirrorsEdge.exe+0xA713F3)
        0x00AFD014 (MirrorsEdge.exe+0x6FD014)
        0x00AFD069 (MirrorsEdge.exe+0x6FD069)
        0x3FAAAAAB (nvwgf2um.dll+0x1B3AAAB)
        0x0114A882 (MirrorsEdge.exe+0xD4A882)
        0x02000001 (MirrorsEdge.exe+0x1C00001)
        0x3F800000 (nvwgf2um.dll+0x1890000)
        0x3F800000 (nvwgf2um.dll+0x1890000)
        0x019CD628 (MirrorsEdge.exe+0x15CD628)
        0x00DD5E51 (MirrorsEdge.exe+0x9D5E51)
        0x01F6CA60 (MirrorsEdge.exe+0x1B6CA60)
        0x00DCFB75 (MirrorsEdge.exe+0x9CFB75)
        0x3ED80000 (nvwgf2um.dll+0xE10000)
        0x3ED80000 (nvwgf2um.dll+0xE10000)
        0x3ED80000 (nvwgf2um.dll+0xE10000)
        0x3F100000 (nvwgf2um.dll+0x1190000)
        0x3F800000 (nvwgf2um.dll+0x1890000)
        0x3F800000 (nvwgf2um.dll+0x1890000)
        0x00409C8F (MirrorsEdge.exe+0x9C8F)
        0x00409C98 (MirrorsEdge.exe+0x9C98)
        0x0044A956 (MirrorsEdge.exe+0x4A956)
        0x0044A956 (MirrorsEdge.exe+0x4A956)
        0x0040AE1B (MirrorsEdge.exe+0xAE1B)
        0x00BC06A9 (MirrorsEdge.exe+0x7C06A9)
        0x00BC3D68 (MirrorsEdge.exe+0x7C3D68)
        0x00BC3D8C (MirrorsEdge.exe+0x7C3D8C)
        0x01FFA654 (MirrorsEdge.exe+0x1BFA654)
        0x0102E6F8 (MirrorsEdge.exe+0xC2E6F8)
        0x3F400000 (nvwgf2um.dll+0x1490000)
        0x3F800000 (nvwgf2um.dll+0x1890000)
        0x3FAAAAAB (nvwgf2um.dll+0x1B3AAAB)
btbd commented

Got a chance to look into this. The crash occurred because of a pointer in the CameraActor's function table got corrupted. However, nothing in the mod directly affects this. So it's a bit hard for me to say what actually caused this. If you can find a reproducible way to get this crash, that would be very helpful.

Thanks for looking into it anyway. The mod has actually been remarkably stable since the last update!

The mod has continued to be very stable since the last update, so I think I can close this for you. Cheers!