CTD in VirtualDisplay::TextCenter() .. when launching HARM
-
4.35.2
Day 0 of stock KTO campaign, single-player … lots action over the dmz … crash happened right as I launched my first HARM.Haven’t seen this stack trace mentioned, so posting … I have both 155mb and 7.9gb dmp files that I can zip up and DM if helpful.
================================== CRASHLOG ===================================== Falcon BMS.exe caused an EXCEPTION_ACCESS_VIOLATION in: 000000000459A70C Falcon BMS.exe, VirtualDisplay::TextCenter()+44 byte(s), D:\WIP\BMS\SVN\Code-4.35\Graphics\Renderer\Display.cpp, line 1424 Exception handler called in UnhandledExceptionHandler. Read from location 0000000000000000 caused an access violation. Bytes at CS:RIP: 0F B6 02 F3 0F 59 81 9C 02 00 00 F3 0F 58 CA F3 Registers: RAX=0x0000000004d25588 RBX=0x0000000000000000 RCX=0x00000003803fb1e0 RDX=0x0000000000000000 RSI=0x00000000b6819750 RDI=0x0000000000000001 RBP=0x00000000b6819f28 RSP=0x000000002d5cf370 RIP=0x000000000459a70c FLG=0x0000000000010246 R8=0x000000002d855720 R9=0x0000000000000000 R10=0x00000003803fb1e0 R11=0x000000002d5cf350 R12=0x00000000b6819f50 R13=0x0000000141db1a80 R14=0x00000000b6819750 R15=0x0000000000000000 CS=0x0033 DS=0x002B SS=0x002B ES=0x002B FS=0x0053 GS=0x002B Call Stack: 0033:000000000459A70C Falcon BMS.exe, VirtualDisplay::TextCenter()+44 byte(s), D:\WIP\BMS\SVN\Code-4.35\Graphics\Renderer\Display.cpp, line 1424, Parameters(0x00000000803FB1E0 0x00000000803FB1E0 0x00000000B6819750 0x00000000000001CC) 0033:000000000491453B Falcon BMS.exe, AdvancedHarmTargetingPod::ManagePosData()+1275 byte(s), D:\WIP\BMS\SVN\Code-4.35\SIM\RWR\AdvancedHTS.cpp, line 1222, Parameters(0x00000000FF00FEFE 0x0000000041DB1A80 0x00000000B6819750 0x0000000000000000) 0033:0000000004913DA3 Falcon BMS.exe, AdvancedHarmTargetingPod::POSDisplay()+435 byte(s), D:\WIP\BMS\SVN\Code-4.35\SIM\RWR\AdvancedHTS.cpp, line 1043, Parameters(0x000000000000000E 0x00000000B6819D80 0x0000000000000000 0x00000000632584B0) 0033:00000000047C4F3E Falcon BMS.exe, WpnMfdDrawable::HARMWpnMode()+2190 byte(s), D:\WIP\BMS\SVN\Code-4.35\SIM\DISPLAYS\WpnMfd.cpp, line 1947+20 byte(s), Parameters(0x00000000803FB1E0 0x0000000000000000 0x00000000632584B0 0x00000000BB17AF60) 0033:00000000047C0FD1 Falcon BMS.exe, WpnMfdDrawable::Display()+1521 byte(s), D:\WIP\BMS\SVN\Code-4.35\SIM\DISPLAYS\WpnMfd.cpp, line 236, Parameters(0x00000000165361B0 0x00000000BB17AF60 0x00000000047C09E0 0x00000000BB1A6030) 0033:000000000478F1F1 Falcon BMS.exe, MFDClass::ExecDrawable()+3297 byte(s), D:\WIP\BMS\SVN\Code-4.35\SIM\DISPLAYS\Mfd.cpp, line 1070, Parameters(0x0000000000000000 0x0000000063259620 0x00000000BB0CEC20 0x000000002D5CF7B0) 0033:00000000048B148A Falcon BMS.exe, OTWDriverClass::VCock_RenderDisplaysToTextureJob()+6586 byte(s), D:\WIP\BMS\SVN\Code-4.35\SIM\OTWDRIVE\vcock.cpp, line 6556, Parameters(0x00000000BB040058 0x000000000E4B0020 0x0000000000000000 0x0000000042BFFFFF) 0033:00000000048AFA97 Falcon BMS.exe, OTWDriverClass::VCock_RenderDisplaysToTexture()+1127 byte(s), D:\WIP\BMS\SVN\Code-4.35\SIM\OTWDRIVE\vcock.cpp, line 6058+87 byte(s), Parameters(0x00000000BB22B120 0x0000000041F37810 0x000000000E4C9608 0x00000000BB0F9CF0) 0033:0000000004891757 Falcon BMS.exe, OTWDriverClass::drawFrame()+599 byte(s), D:\WIP\BMS\SVN\Code-4.35\SIM\OTWDRIVE\otwloop.cpp, line 2630+46 byte(s), Parameters(0x0000000029F829D0 0x000000002D5CFC01 0x0000000078BA9201 0x0000000041864FDF) 0033:000000000488D3B5 Falcon BMS.exe, OTWDriverClass::Cycle()+3141 byte(s), D:\WIP\BMS\SVN\Code-4.35\SIM\OTWDRIVE\otwloop.cpp, line 634, Parameters(0x000000000E4BF090 0x0000000000000003 0x0000000016D29430 0x00000000BAF80040) 0033:000000000496AB22 Falcon BMS.exe, SimulationLoopControl::Loop()+3282 byte(s), D:\WIP\BMS\SVN\Code-4.35\SIM\SimLoop\Simloop.cpp, line 619, Parameters(0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000004969E50) 0033:00000000044F156D Falcon BMS.exe, ThreadUnhandledExceptionWrapper()+109 byte(s), D:\WIP\BMS\SVN\Code-4.35\FALCLIB\ehandler.cpp, line 1585+5 byte(s), Parameters(0x0000000000000000 0x000000002A81EE00 0x0000000000000000 0x0000000000000000) 0033:0000000004C4FF59 Falcon BMS.exe, thread_start<unsigned int="" (__cdecl*)(void="" *="" __ptr64)="">()+93 byte(s), d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp, line 115+5 byte(s), Parameters(0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000) 0033:00000000BB387034 KERNEL32.DLL, BaseThreadInitThunk()+20 byte(s), Parameters(0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000) 0033:00000000BB4C2651 ntdll.dll, RtlUserThreadStart()+33 byte(s), Parameters(0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000)</unsigned>
-
Hey airtex, if you can compress and upload I’d love to take a look. The full dmp should shrink down a lot, but I’ll take either one of them :).
-
Same. Please share!
-
Download links send via DM. Thanks!
-
Download links send via DM. Thanks!
Thanks – do you recall what you had been doing recently when the CTD occurred? Were you selecting a threat type in the HARM POS mode? If so, do you recall if it was with the HOTAS shortcuts or with the MFD keypress?
-
There was a lot going on – but at the exact moment of the crash, I pickled off a HARM in POS (PB) mode toward a SA-2 threat steerpoint. (Literally heard the “whoosh” sound effect but never saw the missile – the screen froze with what you see in the screenshot.
AWACS was talking at the time … you can see the caption. Our CAP flight was heavily engaged.
I had 1 AI wingman also carrying 2x HARM … I had recently given weapons-free command and I think she fired 1 HARM toward the nearer SA-2 target steerpoint.
But to answer your question, I would have selected the PB submode and the SA-2 target type, using the MFD buttons.
-
Thanks for the context. Yes, the RWR picture was pretty busy there :). The crash has to do with displaying the emitter type targeted by the HARM in flight. For some reason that didn’t get set correctly.
-
I remember I had been playing around with the HAD … locked up the SA-2 there, but I was PGM5 and it switched off. So I switched over to WPN page, POS mode, PB, selected SA-2… at some point there I did a DMS-down to move SOI to HSD, and used cursors there and TMS-up to select steer 57.
I notice the HSD is still SOI in the screenshot. Also notice the HUD says “HTS” … is that expected? not sure.
-
The HTS part could be a major clue!
Do you recall if you had used MSL STEP or for some other reason had selected station 7 (like firing off a previous HARM)? The state from your crash dump seems to indicate you were working with that station.
-
No, unless by accident. Which is entirely possible … I couldn’t testify in court but the sequence probably went something like this…
1. I wanted to change from EOM to PB … but couldn’t remember which hotas button to hit …
2. probably intended to hit cursor-enable … which is not correct (it’s pinky switch!) but still can’t remember that
3. give up and click left-MFD button #3 with mouse to cycle submode to PB
4. but my cursor-enable button is right next to msl-step on my stick … so entirely possible I switched from station 3 to 7 before firingsadly I had fov zoomed in at the moment of crash, the screenshot doesn’t show the WPN page fully
-
That’s it! I was able to repro the same crash by locking up something on the HTS, then switching to the WPN page in POS mode. Still not sure precisely what conditions are necessary, but it should be straightforward to narrow down now, thanks!
-
Awesome! Like most of my bug reports, root cause is me fumbling with hotas bindings and pressing buttons randomly…
-
This one bit me pretty bad…seems like there are multiple ways to induce a CTD in the HTS, but I found a good repro case and posted here:
https://bmsbugs.blu3wolf.com/view.php?id=203Hopefully they are all related and one fix will solve most of them.
-
I think JP and Abelian already fixed this.