Deimos

Linda 3.0.2 crash on aircraft change

Recommended Posts

Hi there,

Linda crashes P3D v4 for me whenever I try to change an aircraft. The first load will work, but as soon as I change it, the sim will crash. It is reproducably linda, as without it it does not happen. I removed everything, had a blank linda in the Modules folder and the same behaviour could be reproduced. 

My FSUIPC log is here https://pastebin.com/ciE5pkYj

and here the linda2.log https://pastebin.com/2uTk8yJN

Linda itself does not crash an continues on running happily.

Any help is greatly appreciated.

On a side note, the mode switch sound is not playing since p3dv4 anymore. Is that deliberate or something wrong on my part?

Edited by Deimos
added linda2.log

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Hi Deimos

Thank you for the reported crash. I have tested the same scenario and I do not see the crash. You switched from the Raptor F22 to the Carenado A36 both of which a default aircraft.

The one problem I spotted was an additional LUA file in \modules called ThrottleManager.lua which is killed by FSUIPC5 when you switch aircraft:

    84156 Lua threads being terminated:

    84156       1 = "C:\Games\Prepar3D v4\Modules\ThrottleManager.lua"

    84313 LUA: "C:\Games\Prepar3D v4\Modules\ThrottleManager.lua": killed

Try temporarily renaming/removing it and retesting. Also select VERBOSE LINDA logging to give me more data to work on. It is also worth looking at the Event Viewer to see which process is crashing P3Dv4.

Share this post


Link to post
Share on other sites

Thank you for your quick reply.

It is indeed my ThrottleManager.lua that I got off these forums some time ago. I adapted it to trigger two throttles into reverse on one button instead of two seperate ones. It seems it crashes FSUIPC. It worked with v4 and p3dv3.4 but maybe what I did, which is somewhat unclean is crashing v5 now.

Event https://pastebin.com/N1dqvJ5S

Linda https://pastebin.com/pmVpVAnr

FSUIPC https://pastebin.com/xBi7nMze

I appreciate the time you took to look into it. I will fiddle around with the ThrottleManager for a bit and see if I can narrow down, what I did wrong.

Share this post


Link to post
Share on other sites

Glad to have helped. It may not be the LUA file code that is a fault because it is FSUIPC5 that is shutting down all LUA processes. How are you starting it (ie via [programs] in FSUIPC5.INI)? LINDA forces itself to restart by calling it's initialisation module via FSUIPC. It leaves any [programs] files running. 

If you can forward me the ThrottleManager.lua I will inspect and test it.

  • Upvote 1

Share this post


Link to post
Share on other sites

References to it are in the FSUIPC5.ini in

[LuaFiles]

..

3=ThrottleManager

[Auto]
1=Lua ThrottleManager

 

I have forwarded you the script as a pm, as I am not the intial creator and do not want to take credit for it or make it available at another point than the authors intent.

I tried it as 2=Lua ThrottleManager.lua in the [Programs] section of FSUIPC5.ini, but to no avail.

The script is also only called by FSUIPC on a button press, so this is not even a Linda issue anymore I presume. Maybe I ought to take it up and ask in the FSUIPC section? I do not want to waste your time ;)

Share this post


Link to post
Share on other sites

Hi everyone,

I have the same or a similar problem in P3D v4 (HF1) with lua scripts that have an EVENT command in it (e.g. event.param or event.control). The scripts themselves work correctly with the first plane that is loaded. Also LINDA starts up normally ("LINDA ready ..." - all buttons and lua scipts functioning). When I select a different (default) plane in the P3D menu, that plane is loaded, but after 2 seconds I see "LINDA Restarting. PLEASE WAIT! Do not operate buttons". This message remains on-screen and then P3D shows the usual unspecified crash message. This didn't happen in v3. Without LINDA the lua scripts run normally and no crash appears.

Workaround: It only happens if LINDA is started by calling ipcReady.lua via fsuipc5.ini. I deactivated ipcReady.lua (renamed .lua extension) and then started P3D. I called LINDA from the system tray and in the GUI I clicked 'Reload LUA Engine' to activate my button assignments in LINDA (no problems here). I could now switch to many different aircraft without a crash and the lua scipts still functioning. The above 'Restarting' message appears for a fraction of a second and is then replaced by "LINDA ready..." (as it should).

I have tested this now dozens of times and the results are 100% predictable. Versions used:

LINDA 3.0.1 and 3.0.2c

FSUIPC 5.113, 5.112, 5.11, 5.10

Two examples for affected Lua scripts below. Only the event commands are critical, ipc comands seems not to cause a crash.

flapsdisplay.lua (used for test purposes):

function flaps_dec(controlnum, param)
   ipc.display("Flaps decrement", 2)
end

event.control(65759, "flaps_dec")

Multiaxis.lua (conditional axis based on button state - by Pete Dowson, 2011) :

function applyaxis(val)
   cntrl = ipc.readUD(0x66C0)
   ipc.control(cntrl,val)
end

event.param("applyaxis")

Win 10 Event viewer:

Error 1. .NET Runtime (1026): Application: Prepar3D.exe

Error 2. Application Error (1026): Faulty Application: Prepar3D.exe, Faulty Module: FSUIPC5.dll

fsuipc5.ini:

[Programs]
RunIf1=CLOSE,L:\P3D v4\Modules\linda.exe

[Auto]
2=lua Multiaxis

[LuaFiles]
1=linda
2=PMDG777 Trim
3=logging
4=ipcReady
5=Multiaxis
6=ipcDebug
7=Flapsdisplay

FSUIPC5.log (Verbose): The log is very long due to constant queries of the .air-file header, here are just the key lines:

********* FSUIPC5, Version 5.113 (21st August 2017) by Pete Dowson *********
Running inside Prepar3D v4
Module base=7FF8BB720000
Windows 10 Pro 64 Bit reported as Build 15063, Release ID: 1703 (OS 10.0)
Prepar3D.exe version = 4.0.28.21686

...

      203 Run: "L:\P3D v4\Modules\linda.exe"
      235 LogOptions=70000000 0000001D
      235 ### Traffic limited by user parameter to 100 aircraft
      235 SimConnect_Open succeeded: waiting to check version okay
      235 Opened separate AI Traffic client okay
      235 VRI port 1 "com1" failed to open

This is the last part where I switch from Beech Baron 58 to Maule M7 and P3D crashes:

                                            .
   133672 Lua threads being terminated:
   133672       1 = "L:\P3D v4\Modules\Multiaxis.lua"
   133828 LUA: "L:\P3D v4\Modules\Multiaxis.lua": killed
   133828 Aircraft="Maule M7 260C"
   133844 LUA.2: LINDA:: [START] Airplane Set event caught!
   133844 LUA.2: LINDA:: [START] *************************************************************
   133844 LUA.2: LINDA:: [START] New Aircraft Selected - restarting...
   133860 LUA.2: LINDA:: [START] *************************************************************
   133860 LUA.2: LINDA:: [START] Current Aircraft: Maule M7 260C
   133860 LUA.2: LINDA:: [START] Air file: L:\P3D v4\SimObjects\Airplanes\Maule_M7_260C\Maule_M7_260C.air
   133860 LUA.2: LINDA:: [START] searching available aircraft modules..
   133875 LUA.2: LINDA:: [START] s = FSX DEFAULT
   133875 LUA.2: LINDA:: [START] h = FSX Default
   133875 LUA.2: LINDA:: [START] *************************************************************
   133875 LUA.2: LINDA:: [START] Aircraft module detected: FSX Default
   133891 LUA.2: LINDA:: [START] *************************************************************
   133891 LUA.2: LINDA:: [START] Calling Initialisation...
   133891 LUA.2: LINDA:: [START] Path = linda/system/init
   134078 Ready Flags: Ready-To-Fly=Y, In Menu=N, In Dlg=N
   134094 LUA: "L:\P3D v4\Modules\linda/system/init.lua": killed
   134125 LUA.0: beginning "L:\P3D v4\Modules\Multiaxis.lua"
   134907 LUA.0: beginning "L:\P3D v4\Modules\linda/system/init.lua"
   

Edited to remove excess lines - scotflieger

 

Regards,

Yves

Edited by ScotFlieger
Excess log lines removed

Share this post


Link to post
Share on other sites

Thank you Yves for the workaround. I have seen another report on the FSUIPC forum regarding problems with add on LUA code (those located in \modules). There could be a root cause.

Please email logs in future as they clutter the forum and make reading difficult. Use Linda @ awginfosys.net.

Share this post


Link to post
Share on other sites

The management of LUA threads was changed in FSUIPC5 due to issues found. I was recommended to change the code for restarting LINDA to remove the LuaKill init and LuaKill Linda commands to FSUIPC (as they were not required) and only call Lua Linda. The changes may be affecting (killing) standalone LUA code modules. Those experiencing these problems are asked to try their same set up with P3Dv3 or FSX using FSUIPC4. Pete Dowson is away until 12 Sep so I can't feed any queries to him until then.

Share this post


Link to post
Share on other sites
55 minutes ago, Deimos said:

Coming from p3dv3 I can tell you it worked flawlessly then.

Was that with LINDA 3.0.1/3.0.2? If not can you try it and provide logs? Then repeat with P3Dv4 and supply logs. This will help me to isolate the bug and report to get FSUIPC5 corrected. 

Share this post


Link to post
Share on other sites

Linda was v 2.9.3, FSUIPC 4.966c.

I will try to get the p3dv3 out of my backup tonight and see if I can provide comparable data

Share this post


Link to post
Share on other sites

Thanks for the responses. I did some more checks with different versions of LINDA and in P3D v3.4 as well as in v4. Both with the same critical lua script (multiaxis.lua). The results are:

P3D v3.4 with FSUIPC 4.71:

LINDA 3.0.0b (build 673): No crash upon aircraft change

LINDA 3.0.1: Crash when LINDA is started by ipcready.lua.

LINDA 3.0.2c: Crash when LINDA is started by ipcready.lua.

 

P3D v4.0 HF1 with FSUIPC 5.113 (and previous versions back to somewhere 5.102 or earlier)

All three LINDA versions crash upon aircraft change when LINDA is started by ipcready.lua.

Andrew, I sent you these 6 fsuipc.log files per mail.

 

 

 

Share this post


Link to post
Share on other sites

Thank you for the logs. I can see your multiaxis.lua being killed by FSUIPC at the time a new aircraft is selected and before LINDA starts its own re-initialisation by running init.lua again. LINDA continues its restart before P3D crashes. The No Crash test includes addition FSUIPC LUA which makes the log very large. This still shows multiaxis.lua being killed on aircraft change and reopened. I can only assume that the extra logging is adding a delay that is preventing the crash.

I have reviewed the key LINDA code and there are no changes between 2.9.7 and 3.0.2. On FSUIPC detecting an aircraft change (offset 0x3D00), LINDA call the function ipc.runlua init.lua  to restart LINDA's initialisation process (identifying the new aircraft and loading all modules and libraries).

I also ran a test with P3Dv4 changing the aircraft multiple times with no crashes. I have 2 simple Airbus throttle Lua addons in use.

I will raise the issue of standalone Lua modules crashing FSUIPC/P3D on aircraft change with Pete Dowson when he returns from holiday on 12 Sep.

Edited by ScotFlieger
Mentioned multiple tests

Share this post


Link to post
Share on other sites

Today I re-checked the situation again in P3Dv3 and I got one different result than yesterday. With FSUIPC 4.971 I get the crash also with LINDA 3.0.0b and 2.9.6. I went back to FSUIPC 4.966c (17th April 17) and this one worked fine with LINDA 2.9.6 and 3.0.2c (no crash on aircraft change).

FSUIPC 4.971 itself does not cause a crash on aircraft change when multiaxis.lua is running. It's just the combination of ipcready.lua and multiaxis.lua.

Let's see what Pete thinks about it.

BTW my P3Dv3 log files had the "Debug/Trace Lua Plugins" set in FSUIPC logging page. That's why they got large.

 

Yves

 

 

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now