Solved [4.36.1] CTD with TR_BMS_27_JTAC mission on JTAC radio command on specific condition
-
Hello
CTD during outgoing radio command to JTAC
Repro case :
- Launch TR_BMS_27_JTAC.trn mission
- Contact JTAC
- Attack & Destry all targets
- Contact JTAC Item radio #1 : Initial Contact
================================== CRASHLOG ===================================== Falcon BMS.exe caused an EXCEPTION_ACCESS_VIOLATION in: 000000000453AC22 Falcon BMS.exe, FalconSendMessage()+34 byte(s), E:\WIP\BMS\Repo\Code-Dev\FALCLIB\Falcmesg.cpp, line 23 Exception handler called in UnhandledExceptionHandler. Read from location 0000000000000009 caused an access violation. Bytes at CS:RIP: 80 79 09 44 0F 85 B3 01 00 00 0F B7 41 52 B9 28 Registers: RAX=0x0000000000000001 RBX=0x00000000c4426160 RCX=0x0000000000000000 RDX=0x0000000000000001 RSI=0x0000000000000000 RDI=0x0000000018670660 RBP=0x0000000000000001 RSP=0x000000003023f2c0 RIP=0x000000000453ac22 FLG=0x0000000000010206 R8=0x0000000000007a01 R9=0x0000000000000000 R10=0x0000000000000000 R11=0x7ff000000007ebff R12=0x0000000000000001 R13=0x0000000000000004 R14=0x0000000000000000 R15=0x0000000000000000 CS=0x0033 DS=0x002B SS=0x002B ES=0x002B FS=0x0053 GS=0x002B Call Stack: 0033:000000000453AC22 Falcon BMS.exe, FalconSendMessage()+34 byte(s), E:\WIP\BMS\Repo\Code-Dev\FALCLIB\Falcmesg.cpp, line 23, Parameters(0x00000000C4426160 0x0000000000000001 0x0000000000000000 0x0000000018670660) 0033:0000000004787187 Falcon BMS.exe, JTACBrain::CheckIn()+199 byte(s), E:\WIP\BMS\Repo\Code-Dev\SIM\DIGI\jtacbrain.cpp, line 423, Parameters(0x0000000018670660 0x000000003535DD80 0x0000000000000000 0x0000000000000000) 0033:0000000004D70B07 Falcon BMS.exe, FalconFACMessage::Process()+343 byte(s), E:\WIP\BMS\Repo\Code-Dev\FALCLIB\Messages\FACMsg.cpp, line 189, Parameters(0x000000000E217558 0x000000000E217360 0x000000003535DD80 0x0000000000000000) 0033:0000000004AEF0AF Falcon BMS.exe, VuMessageQueue::DispatchAllMessages()+271 byte(s), E:\WIP\BMS\Repo\Code-Dev\vu2\src\vuevent.cpp, line 427+138 byte(s), Parameters(0x0000000000000000 0x000000003023F4F0 0x00000000FFFFFB8C 0x0000000000000000) 0033:0000000004AE11D3 Falcon BMS.exe, VuMainThread::Update()+2147 byte(s), E:\WIP\BMS\Repo\Code-Dev\vu2\src\vu.cpp, line 561, Parameters(0x0000000025AAFEF0 0x0000000000000000 0x000000003023FE50 0x0000000001AFA5C9) 0033:0000000004D8C77D Falcon BMS.exe, RealTimeFunction()+93 byte(s), E:\WIP\BMS\Repo\Code-Dev\SIM\SIMDRIVE\rtloop.cpp, line 50, Parameters(0x000000003023FE50 0x0000000000000003 0x0000000001AFA5BF 0x0000000000000008) 0033:00000000049E5F76 Falcon BMS.exe, SimulationLoopControl::Loop()+1126 byte(s), E:\WIP\BMS\Repo\Code-Dev\SIM\SimLoop\Simloop.cpp, line 539, Parameters(0x0000000000000000 0x0000000000000000 0x0000000000000000 0x00000000049E5B10) 0033:0000000004534E7D Falcon BMS.exe, ThreadUnhandledExceptionWrapper()+109 byte(s), E:\WIP\BMS\Repo\Code-Dev\FALCLIB\ehandler.cpp, line 1588+5 byte(s), Parameters(0x0000000000000000 0x000000002F6694A0 0x0000000000000000 0x0000000000000000) 0033:0000000004C944F1 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:0000000019E054E0 KERNEL32.DLL, BaseThreadInitThunk()+16 byte(s), Parameters(0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000) 0033:000000001AAA485B ntdll.dll, RtlUserThreadStart()+43 byte(s), Parameters(0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000)
dmp file :
https://1drv.ms/u/s!AuNkk9VUA8G37FHsToxaJpPqDj8T?e=MdhfdY -
Not necessary , trivial bug
-
Same crash occured on campaign (after initial contact with JTAC)
I can provide DMP if needed -
Not necessary , trivial bug
-
Same issue encountered in Campaign, Solo and Multi, but seems to be in particular conditions as it doesn’t lead all the time to CTD (and work fine actually in most cases).
Conditions could be when JTAC do not have targets and thus no Echo Point to transmit.
My 50 cents.
-
-
Solved : May I ask what is the solution ?
From my side, as temporary coutermeasure I :
1/ Use QuickSave on Campaign before commiting to a JTAC (just in case)
2/ After destroying a tarhet, I let the JTAC propose the next target. I don’t force a new 9 line procedure (YY2) if JTAC don’t explicitly says that there are other targets to attack. -
bug found and fixed…
Check the post of @Mav-jp