Solved Windows 11 Pro - exiting from a mission leads to crash.
-
Deeply sorry again, guys.
I have talked too early, I am afraid… that issue is still and stubborn.
More weird is that all seemed working fine, but until before I closed Falcon. When I launched it again a few moments ago, we are at the same usual point.What else or more should I do, now? Please help me.
Thanks in advance, and with best regards.
-
0:026> !heap ************************************************************** * * * HEAP ERROR DETECTED * * * ************************************************************** Details: Heap address: 0000000000570000 Error address: 0000000030faa370 Error type: HEAP_FAILURE_BLOCK_NOT_BUSY Details: The caller performed an operation (such as a free or a size check) that is illegal on a free block. Follow-up: Check the error's stack trace to find the culprit. Stack trace: Stack trace at 0x00007ff81c5d67d8 00007ff81c57f455: ntdll!RtlpLogHeapFailure+0x45 00007ff81c488285: ntdll!RtlpFreeHeapInternal+0x825 00007ff81c487551: ntdll!RtlFreeHeap+0x51 00007fff97d9a7b6: AcLayers!NS_FaultTolerantHeap::APIHook_RtlFreeHeap+0x106 0000000004acbe1c: Falcon_BMS!_free_base+0x1c 0000000004b8eae2: Falcon_BMS!MenuManager::~MenuManager+0x12 000000000483e7e6: Falcon_BMS!OTWDriverClass::Exit+0x586 00000000048df862: Falcon_BMS!SimulationDriver::Cycle+0x9d2 00000000049243d2: Falcon_BMS!SimulationLoopControl::Loop+0x432 00000000045079fd: Falcon_BMS!ThreadUnhandledExceptionWrapper+0x6d 0000000004aba1b1: Falcon_BMS!thread_start<unsigned int (__cdecl*)(void * __ptr64)>+0x5d 00007ff81b7854e0: kernel32!BaseThreadInitThunk+0x10 00007ff81c46485b: ntdll!RtlUserThreadStart+0x2b
-
What are all the add-ons and mods you have installed … eg. other theathers? any VR stuff? alt launcher? mrkline’s mod to speed up acmi encoding? etc
To me this looks like a double-free bug in BMS, at the point where the popup menu is dismissed … but I don’t know why nobody else is hitting this, or why it would be different on Win10 vs Win11.
Do you run in fullscreen-mode or borderless-window mode?
-
@airtex2019 said in Windows 11 Pro - exiting from a mission leads to crash.:
HEAP_FAILURE_BLOCK_NOT_BUSY
Hi Airtex, one day I want to learn how you debug heap stuff
But yes, from his first crashlog, the CTD was happening when deleting one of the menu windows. But I couldn’t find anywhere in code that this happened, and the pointer looked totally sane. So it was really one of those weird crashes where everything seems right but CTDs. If you have any hint where the previous delete happened, that would help greatly (I’ve seem some ppl doing this, not sure if it was abelian or you).
-
Falcon_BMS!MenuManager::~MenuManager+0x12 [D:\WIP\BMS\SVN\Code-4.35\SIM\Cockpit\popmenu.cpp @ 441]
Falcon_BMS!OTWDriverClass::Exit+0x586 [D:\WIP\BMS\SVN\Code-4.35\SIM\OTWDRIVE\Otwdrive.cpp @ 3205]
Falcon_BMS!SimulationDriver::Cycle+0x9d2 [D:\WIP\BMS\SVN\Code-4.35\SIM\SIMDRIVE\Simdrive.cpp @ 931]
Falcon_BMS!SimulationLoopControl::Loop+0x432 [D:\WIP\BMS\SVN\Code-4.35\SIM\SimLoop\Simloop.cpp @ 552]
0:026> k # Child-SP RetAddr Call Site 00 00000000`31e9e688 00007ff8`1c5490d8 ntdll!NtWaitForMultipleObjects+0x14 01 00000000`31e9e690 00007ff8`1c5486ae ntdll!WerpWaitForCrashReporting+0xa8 02 00000000`31e9e710 00007ff8`1c547e6b ntdll!RtlReportExceptionHelper+0x33e 03 00000000`31e9e7e0 00007ff8`1c56bed4 ntdll!RtlReportException+0x9b 04 00000000`31e9e860 00007ff8`1c4f3626 ntdll!RtlReportFatalFailure$filt$0+0x33 05 00000000`31e9e890 00007ff8`1c5082ff ntdll!_C_specific_handler+0x96 06 00000000`31e9e900 00007ff8`1c495a0a ntdll!RtlpExecuteHandlerForException+0xf 07 00000000`31e9e930 00007ff8`1c492cd3 ntdll!RtlDispatchException+0x25a 08 00000000`31e9f080 00007ff8`1c56be99 ntdll!RtlRaiseException+0x163 09 00000000`31e9f8e0 00007ff8`1c56be63 ntdll!RtlReportFatalFailure+0x9 0a 00000000`31e9f930 00007ff8`1c574c82 ntdll!RtlReportCriticalFailure+0x97 0b 00000000`31e9fa20 00007ff8`1c574f6a ntdll!RtlpHeapHandleError+0x12 0c 00000000`31e9fa50 00007ff8`1c57f455 ntdll!RtlpHpHeapHandleError+0x7a 0d 00000000`31e9fa80 00007ff8`1c488285 ntdll!RtlpLogHeapFailure+0x45 0e 00000000`31e9fab0 00007ff8`1c487551 ntdll!RtlpFreeHeapInternal+0x825 0f 00000000`31e9fb70 00007fff`97d9a7b6 ntdll!RtlFreeHeap+0x51 10 00000000`31e9fbb0 00000000`04acbe1c AcLayers!NS_FaultTolerantHeap::APIHook_RtlFreeHeap+0x106 11 00000000`31e9fc10 00000000`04b8eae2 Falcon_BMS!_free_base+0x1c [d:\th\minkernel\crts\ucrt\src\appcrt\heap\free_base.cpp @ 107] 12 00000000`31e9fc40 00000000`0483e7e6 Falcon_BMS!MenuManager::~MenuManager+0x12 [D:\WIP\BMS\SVN\Code-4.35\SIM\Cockpit\popmenu.cpp @ 441] 13 00000000`31e9fc70 00000000`048df862 Falcon_BMS!OTWDriverClass::Exit+0x586 [D:\WIP\BMS\SVN\Code-4.35\SIM\OTWDRIVE\Otwdrive.cpp @ 3205] 14 00000000`31e9fca0 00000000`049243d2 Falcon_BMS!SimulationDriver::Cycle+0x9d2 [D:\WIP\BMS\SVN\Code-4.35\SIM\SIMDRIVE\Simdrive.cpp @ 931] 15 00000000`31e9fdf0 00000000`045079fd Falcon_BMS!SimulationLoopControl::Loop+0x432 [D:\WIP\BMS\SVN\Code-4.35\SIM\SimLoop\Simloop.cpp @ 552] 16 00000000`31e9feb0 00000000`04aba1b1 Falcon_BMS!ThreadUnhandledExceptionWrapper+0x6d [D:\WIP\BMS\SVN\Code-4.35\FALCLIB\ehandler.cpp @ 1585] 17 (Inline Function) --------`-------- Falcon_BMS!invoke_thread_procedure+0xe [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 91] 18 00000000`31e9ff00 00007ff8`1b7854e0 Falcon_BMS!thread_start<unsigned int (__cdecl*)(void * __ptr64)>+0x5d [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 115] 19 00000000`31e9ff30 00007ff8`1c46485b kernel32!BaseThreadInitThunk+0x10 1a 00000000`31e9ff60 00000000`00000000 ntdll!RtlUserThreadStart+0x2b
-
@seifer It’s probably possible to set a breakpoint on the destructor of MenuManager in popmenu.cpp … seems like something that wouldn’t hit often, unless/until you do something that brings up a popup menu
-
@airtex2019 yeah yeah but I need to know where the pointer was first deleted
-
@seifer Presumably the same C++ destructor code gets invoked the first time … then again the second time … your bp will hit both times, and you’ll see the call stack for both.
This simple approach may not be viable for instances of a class that come and go hundreds of times per session… but maybe (?) for something like a popup menu, it might be practical. (I didn’t actually try setting a bp there, so not sure.)
For classes that are instantiated/destroyed much more frequently… the only trick I know is to log the call-stack (along with the ‘this’ pointer) from the dtor code … which can allow you to do postmortem analysis… to search backward and find the specific dtor call for that specific instance that’s being double-freed.
-
Guys… I’ am impressed. And speechless too.
So, as seems, my sad skill in finding out weird and well hidden issues stroke back.
Can’t tell you how happy am I (please understand all on the contrary).Thanks a huge lot for all you are doing for me.
With best regards.
-
@airtex2019 said in Windows 11 Pro - exiting from a mission leads to crash.:
What are all the add-ons and mods you have installed … eg. other theathers? any VR stuff? alt launcher? mrkline’s mod to speed up acmi encoding? etc
To me this looks like a double-free bug in BMS, at the point where the popup menu is dismissed … but I don’t know why nobody else is hitting this, or why it would be different on Win10 vs Win11.
Do you run in fullscreen-mode or borderless-window mode?
Hi, dearest Airtex.
So here I am with my poor answers.
Yes, I have installed a few thaters (Balkans, Aegean, Mideast128, Nevada, Korea Training and HeliPack).
Yes, I use that acmi enconding facility in those few case I need an Acmi (not too much often, actually).
No, I don’t use VR (too early, I’m waiting for 4.37 or whenever it will fully developed and embedded) nor alternative launcher - I am running Falcon via its stock one.
I set BMS in borderless mode, 1920x1080 res., without triple buffering or vertical sync selected from the graphic menu… I left all these to my nVidia settings facility matter, becasue I applied those suggestions you made in a specific thread some months ago - remember?Hope I helped you a few, sorry but I really can’t do more on my little own.
Thanks a huge lot to you too and with best regards.
-
I’ve been following this since I’ve been using windows 11 pro. 10850k and a 3080.
With the amount of tinkering and editing I do to the database and acdata editing I do. I’ve YET to get a CTD. Knock on wood. Im not saying it’s your hardware but something’s acting up
-
@jackal said in Windows 11 Pro - exiting from a mission leads to crash.:
Yes, I use that acmi enconding facility in those few case I need an Acmi (not too much often, actually).
Just to be clear – I am asking, did you install and enable this mod?
https://github.com/mrkline/flt2vhs -
@kevstosmart said in Windows 11 Pro - exiting from a mission leads to crash.:
Knock on wood. Im not saying it’s your hardware but something’s acting up
Yeah it’s an interesting little mystery. Double-free seems like an actual code-bug in BMS but I have no explanation for why nobody else is hitting it … or why it would maybe be different on Win10 vs Win11.
Could be timing related…
@Jackal can you try enabling vertical-sync (within the game) and see if that makes any difference.
-
@airtex2019
No, dear mate.
I didn’t.
I’m currently using that other one I told you before, and at those limited conditions I referred only - starting it before launching BMS and keeping it running in background, but that only in those not frequent cases I need to get an ACMI of that flight/mission I’m specifically interested.And I also enabled, for testing, the vertical sync option - try to guess how it ended?
Hope this helped in anything, maybe.
With best regards.
-
@jackal said in Windows 11 Pro - exiting from a mission leads to crash.:
And I also enabled, for testing, the vertical sync option - try to guess how it ended?
I really don’t know! I take that it did not help…
-
@airtex2019
Don’t worry, bro.
There must be a reason for what’s happening, and it will have to be found out. It’s only a matter of time and a little of luck, of course.Thanks a lot for your time and your efforts, most of all!
With best regards.
-
Hello, Jackal, how are you?
You could have waited a while before upgrading to Windows 11 my friend!
Stay safe and stay tuned!
malpaso -
Jackal, any chance you modified the menu file (art\ckptart\menu.dat)? Are you using any custom cockpit?
-
@Jackal go to BMS bin folder and BMS exe, right click on it, go to compatibility and disable full screen optimizations and see if that works
-
Thanks a lot, dear friends, for all your kind answers and suggestions.
A cumulative reply is needed, I guess.
@Seifer: thanks a lot, but no, I didn’t. Neither installed any custom cockpit this time - I did when in Windows 10, instead, it was that awesone one by @dema.
And I have to point out, at this point, that I have been able to do any kind of crazy things, at those times. What the hell happened, this time? All seemed to work fine just after the last install. Bah.
@WurminatorZA: thanks a lot to you too, but no, mate. And why should I have done that? I never flagged that voice after any of my all BMS past installations, by the way, because I never felt the need to.
@malpaso: hi there, dearest bro. Long time no… read.
Try to guess what I am currently thinking about 11 and my smart choice of installing it… but please think well after answering, it’s a hard matter to be conceived carefully before,Thanks a lot for your interest, and with best regards.