Problem Help with loading BaseSync :Error 126

Stebb

New member
Joined
Feb 5, 2018
Messages
10
Reaction score
3
Points
3
Hi,

I'm using Orbiter Build Aug 28 2016 [v.160828] which I've been using for a few weeks, and I'm in the process of collecting some essential MFD modules.

I expect I'm making a rookie error somewhere but I can't get BaseSync v3.1 (2016 version) to load.
After unpacking it into the Orbiter folder structure, BaseSync appears on the Modules list on the Orbiter Launchpad (which is ticked, of course) but it doesn't appear on the MFD selection menu when Orbiter is running.
Orbiter log gives the following error message.

=========== ERROR: ==========================
Failed loading module Modules\Plugin\BaseSyncMFD.dll (code 126)
[Orbiter::LoadModule | .\Orbiter.cpp | 600]
===========================================

I've paid attention to the 2 mandatory pre-requisites for BaseSync v3.1 given on Orbit Hanger. i.e. ModuleMessagingExt for Orbiter 2016 v1.1 and Visual Studio 2015 redist:
https://www.microsoft.com/en-us/download/confirmation.aspx? id=48145.

However, when I used that web address, a webpage returned 'we are sorry the page you requested cannot be found'. So I searched on 'Visual Studio 2015 redist' which gave the following address:

https://www.microsoft.com/en-gb/download/details.aspx?id=48145.

This is for Visual C++ Redist for Visual Studio 2015. Subtle difference in web addresses but hopefully this is the one to use. So I installed Visual C++ Redist for Visual Studio 2015 with no problem.

I've also tried both versions of ModuleMessagingExt for Orbiter 2016 (v1.1 & v2.0). Unfortunately 'code 126' error persists.

Any hints to help me load BaseSync successfully would be very much appreciated.
 

ADSWNJ

Scientist
Addon Developer
Joined
Aug 5, 2011
Messages
1,667
Reaction score
3
Points
38
You need ModuleMessagingExt installed.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,398
Reaction score
578
Points
153
Location
Vienna

Stebb

New member
Joined
Feb 5, 2018
Messages
10
Reaction score
3
Points
3
Hi, many thanks for the replies,

I can see why the web address for the VC 2015 redist download page didn't work when I copied and pasted it into a web browser from the BaseSync description on Orbit Hanger. It contains a spurious space in the web address between ? and id.
When seen in my message above it’s obvious ! Anyway the VC 2015 redist is already installed.

I have already successfully installed the D3D9 with the necessary DirectX9. That's working great.

Regarding the BaseSync problem: If I go to the Modules/Plugin folder and replace the BaseSyncMFD.dll (2016 version) with an old BaseSyncMFD.dll from an earlier version of Orbiter, then this will load successfully and can be selected from the MFD selection menu when Orbiter is running.

The old version works but it's not the correct one for Orbiter 2016 and some of the calculations it makes seem to be a bit inaccurate. So it would be better if I could get to the bottom of why the latest version of BaseSync gives a runtime error in the orbiter log.

I've implemented a clean instal of Orbiter with BaseSync (2016 version) and ModuleMessaging but the problem persists. I'm not sure what else to try.

Would it help if I included a complete orbiter log file in my post?

---------- Post added at 02:55 PM ---------- Previous post was at 02:07 PM ----------

I just looked at the article 'How to ask for help'. It mentioned the importance of including log files to help experts understand a user's issue. So hopefully this will be useful.

This is my Orbiter log:

Code:
**** Orbiter.log
000000.000: Build Aug 28 2016 [v.160828]
000000.000: Timer precision: 3.01861e-007 sec
000000.000: Found 1 joystick(s)
000000.000: Module AtlantisConfig.dll .... [Build 160828, API 160828]
000000.000: Module AtmConfig.dll ......... [Build 160828, API 160828]
000000.000: Module DGConfigurator.dll .... [Build 160828, API 160828]
000000.000: Module OrbiterSound.dll ...... [Build 121120, API 100830]
000000.000: Module D3D9Client.dll ........ [Build 170705, API 160828]
000000.000: Module TrackIR.dll ........... [Build 160828, API 160828]
000000.000: TrackIR module not found.
000000.000: Module transx.dll ............ [Build 160216, API 160214]
000000.000: ---------------------------------------------------------------
000000.000: >>> WARNING: Obsolete API function used: oapiRegisterMFDMode
000000.000: At least one active module is accessing an obsolete interface function.
000000.000: Addons which rely on obsolete functions may not be compatible with
000000.000: future versions of Orbiter.
000000.000: ---------------------------------------------------------------
000000.000: Module ModuleMessagingExtMFD.dll  [Build 180120, API 160828]
000000.000:    >>> MMExtMFD module initialized: version 1.0, compile date Jan 20 2018
000000.000: Module Framerate.dll ......... [Build 160828, API 160828]
000000.000: Module Rcontrol.dll .......... [Build 160828, API 160828]
000000.000: Module ScriptMFD.dll ......... [Build 160828, API 160828]
000000.000: Module InterMFD57.dll ........ [Build 161216, API 160910]
000000.000: Module LuaMFD.dll ............ [Build 160828, API 160828]
000000.000: Module CustomMFD.dll ......... [Build 160828, API 160828]
000000.000: Module DX9ExtMFD.dll ......... [Build 150812, API 100830]
000000.000: Module ExtMFD.dll ............ [Build 160828, API 160828]
000000.000: Module FlightData.dll ........ [Build 160828, API 160828]
000000.000: Module ScnEditor.dll ......... [Build 160828, API 160828]
000000.000: Module LuaConsole.dll ........ [Build 160828, API 160828]
000000.000: Module Meshdebug.dll ......... [Build 160828, API 160828]
============================ ERROR: ===========================
Failed loading module Modules\Plugin\BaseSyncMFD.dll (code 126)
[Orbiter::LoadModule | .\Orbiter.cpp | 600]
===============================================================
000000.000: 
000000.000: **** Creating simulation session
000000.000: D3D9: [DirectX 9 Initialized]
000000.000: D3D9: 3D-Adapter = NVIDIA GeForce GTX 1050
000000.000: D3D9: MaxTextureWidth........: 16384
000000.000: D3D9: MaxTextureHeight.......: 16384
000000.000: D3D9: MaxTextureRepeat.......: 8192
000000.000: D3D9: VolTexAddressCaps......: 0x3F
000000.000: D3D9: NumSimultaneousRTs.....: 4
000000.000: D3D9: VertexDeclCaps.........: 0x30F
000000.000: D3D9: XNA Math Support.......: Yes
000000.000: D3D9: Vertex Texture.........: Yes
000000.000: D3D9: Shadow Mapping.........: Yes
000000.000: D3D9: D3DFMT_A16B16G16R16F...: Yes
000000.000: D3D9: D3DFMT_A32B32G32R32F...: Yes
000000.000: D3D9: D3DFMT_D32F_LOCKABLE...: Yes
000000.000: D3D9: D3DFMT_A2R10G10B10.....: Yes
000000.000: D3D9: D3DDTCAPS_DEC3N........: No
000000.000: D3D9: D3DDTCAPS_FLOAT16_2....: Yes
000000.000: D3D9: D3DDTCAPS_FLOAT16_4....: Yes
000000.000: D3D9: Runs under WINE........: No
000000.000: D3D9: Available Texture Memory = 4033 MB
000000.000: D3D9: [3DDevice Initialized]
000000.000: D3D9: [Loading Constellations]
000000.000: D3D9: [D3D9Client Initialized]
000000.000: Joystick throttle: SLIDER 0
000000.000: Joystick throttle control detected
000000.000: Module Sun.dll ............... [Build 160828, API 160828]
VSOP87(E) Sun: Precision 1e-006, Terms 554/6634
000000.000: Module Mercury.dll ........... [Build 160828, API 160828]
VSOP87(B) Mercury: Precision 1e-005, Terms 167/7123
000000.000: Module Venus.dll ............. [Build 160828, API 160828]
000000.000: Module VenusAtm2006.dll ...... [Build 160828, API 160828]
VSOP87(B) Venus: Precision 1e-005, Terms 79/1710
000000.000: Module Earth.dll ............. [Build 160828, API 160828]
000000.000: Module EarthAtmJ71G.dll ...... [Build 160828, API 160828]
VSOP87(B) Earth: Precision 1e-008, Terms 2564/2564
000000.000: Module Moon.dll .............. [Build 160828, API 160828]
ELP82: Precision 1e-005, Terms 116/829
000000.000: Module Mars.dll .............. [Build 160828, API 160828]
000000.000: Module MarsAtm2006.dll ....... [Build 160828, API 160828]
VSOP87(B) Mars: Precision 1e-005, Terms 405/6400
000000.000: Module Phobos.dll ............ [Build ******, API 060425]
000000.000: Module Deimos.dll ............ [Build ******, API 060425]
000000.000: Module Galsat.dll ............ [Build 160828, API 160828]
000000.000: Module Jupiter.dll ........... [Build 160828, API 160828]
VSOP87(B) Jupiter: Precision 1e-006, Terms 1624/3625
000000.000: Module Io.dll ................ [Build 160828, API 160828]
000000.000: Module Europa.dll ............ [Build 160828, API 160828]
000000.000: Module Ganymede.dll .......... [Build 160828, API 160828]
000000.000: Module Callisto.dll .......... [Build 160828, API 160828]
000000.000: Module Satsat.dll ............ [Build 160828, API 160828]
000000.000: Module Saturn.dll ............ [Build 160828, API 160828]
VSOP87(B) Saturn: Precision 1e-006, Terms 2904/6365
000000.000: Module Mimas.dll ............. [Build 160828, API 160828]
SATSAT Mimas: Terms 113
000000.000: Module Enceladus.dll ......... [Build 160828, API 160828]
SATSAT Enceladus: Terms 33
000000.000: Module Tethys.dll ............ [Build 160828, API 160828]
SATSAT Tethys: Terms 101
000000.000: Module Dione.dll ............. [Build 160828, API 160828]
SATSAT Dione: Terms 59
000000.000: Module Rhea.dll .............. [Build 160828, API 160828]
SATSAT Rhea: Terms 68
000000.000: Module Titan.dll ............. [Build 160828, API 160828]
SATSAT Titan: Terms 100
000000.000: Module Iapetus.dll ........... [Build 160828, API 160828]
SATSAT Iapetus: Terms 605
000000.000: Module Uranus.dll ............ [Build 160828, API 160828]
VSOP87(B) Uranus: Precision 1e-006, Terms 1827/5269
000000.000: Module Miranda.dll ........... [Build ******, API 060425]
000000.000: Module Ariel.dll ............. [Build ******, API 060425]
000000.000: Module Umbriel.dll ........... [Build ******, API 060425]
000000.000: Module Titania.dll ........... [Build ******, API 060425]
000000.000: Module Oberon.dll ............ [Build ******, API 060425]
000000.000: Module Neptune.dll ........... [Build 160828, API 160828]
VSOP87(B) Neptune: Precision 1e-006, Terms 391/2024
000000.000: Finished initialising world
000000.000: Module ShuttlePB.dll ......... [Build 160828, API 160828]
000000.000: Module DeltaGlider.dll ....... [Build 160828, API 160828]
000000.000: Module LuaInline.dll ......... [Build 160828, API 160828]
000000.000: Module ShuttleA.dll .......... [Build 160828, API 160828]
000000.000: Finished initialising status
000000.000: Finished initialising camera
000000.000: Finished setting up render state
000000.000: D3D9: [Scene Initialized]
000000.000:    >>> MMExtMFD module sim start
000000.000: Finished initialising panels
000000.000: ---------------------------------------------------------------
000000.000: >>> WARNING: Obsolete API function used: VESSEL::GetHorizonAirspeedVector
000000.000: At least one active module is accessing an obsolete interface function.
000000.000: Addons which rely on obsolete functions may not be compatible with
000000.000: future versions of Orbiter.
000000.000: ---------------------------------------------------------------
000000.010: D3D9: Loading Micro Textures for Mars
000000.010: D3D9: Level 0, D3D9Mars_A.dds, 40.0px/m, 51.2m, Mipmap count=12
000000.010: D3D9: Level 1, D3D9Mars_B.dds, 3.0px/m, 341.3m, Mipmap count=11
000000.010: D3D9: Level 2, D3D9Mars_B.dds, 1.0px/m, 1024.0m, Mipmap count=11
000000.010: D3D9: Micro textures Loaded
000000.010: ---------------------------------------------------------------
000000.010: >>> WARNING: Obsolete API function used: VESSEL::GetShipAirspeedVector
000000.010: At least one active module is accessing an obsolete interface function.
000000.010: Addons which rely on obsolete functions may not be compatible with
000000.010: future versions of Orbiter.
000000.010: ---------------------------------------------------------------
000000.020: ---------------------------------------------------------------
000000.020: >>> WARNING: Obsolete API function used: oapiGetStationCount
000000.020: At least one active module is accessing an obsolete interface function.
000000.020: Addons which rely on obsolete functions may not be compatible with
000000.020: future versions of Orbiter.
000000.020: ---------------------------------------------------------------
002048.875: ---------------------------------------------------------------
002048.875: >>> WARNING: Obsolete API function used: oapiGetFocusAirspeed
002048.875: At least one active module is accessing an obsolete interface function.
002048.875: Addons which rely on obsolete functions may not be compatible with
002048.875: future versions of Orbiter.
002048.875: ---------------------------------------------------------------
003785.891: D3D9: [Session Closed. Scene deleted.]
003785.891: D3D9: [Destroy Render Window Called]
003785.891:    >>> MMExtMFD module sim end
003785.891: **** Closing simulation session
D3D9: ERROR: Invalid Window !! RenderWndProc() called after calling clbkDestroyRenderWindow() uMsg=0x4A62A0
003785.891:    >>> MMExtMFD module exited

I'm not sure exactly what all those 'obsolete API function' warnings are referring to.


Here is the Orbiter Master Configuration File


Code:
; === ORBITER Master Configuration File ===
EchoAllParams = FALSE
LPadRect = 173 70 1137 700

; === Logical parameters ===
DamageModel = 1
GenericMFDSize = 5
InstrumentUpdateInterval = 0.2

; === Visual parameters ===
EnableCloudShadows = TRUE
EnableSpecularRipples = TRUE
EnableDistanceFog = FALSE
EnableLocalLights = TRUE
AmbientLevel = 3

; === Instrument parameters ===
ForceMfdPow2 = FALSE
VCMfdSize = 512

; === Camera parameters ===
HUDColIdx = 2

; === Device settings ===
DeviceIndex = 3
ModeIndex = 27
DeviceForceEnum = FALSE
StencilBuffer = TRUE
WindowWidth = 2400
WindowHeight = 1350

; === Joystick parameters ===
JoystickIndex = 1
JoystickThrottleAxis = 2

; === Window positions ===
DlgCamPos = 259 53 439 505
DlgFocusPos = 1027 287 1345 679
LpadScnListWidth = 218
LpadModListWidth = 213
LpadExtListWidth = 213

; === Active plugin list ===
ACTIVE_MODULES
  OrbiterSound
  Framerate
  InterMFD57
  DX9ExtMFD
  BaseSyncMFD
  reentry
END_MODULES

Hope this helps: :tiphat:
 

dbeachy1

O-F Administrator
Administrator
Orbiter Contributor
Addon Developer
Donator
Beta Tester
Joined
Jan 14, 2008
Messages
9,216
Reaction score
1,562
Points
203
Location
VA
Website
alteaaerospace.com
Preferred Pronouns
he/him
Did you install the 32-bit version of the Visual Studio 2015 redistributable files? Since Orbiter is a 32-bit application, this add-on needs the 32-bit VS 2015 redistributable files, not the x64 ones.

From checking dependencies for the 2016 BaseSyncMFD.dll, they are:

Code:
E:\Orbiter2016_clean\Modules\Plugin>dumpbin /dependents BaseSyncMFD.dll
Microsoft (R) COFF/PE Dumper Version 14.00.24215.1
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file BaseSyncMFD.dll

File Type: DLL

  Image has the following dependencies:

    Orbiter.exe
    ModuleMessagingExt.dll
    KERNEL32.dll
    GDI32.dll
    VCRUNTIME140.dll
    api-ms-win-crt-stdio-l1-1-0.dll
    api-ms-win-crt-string-l1-1-0.dll
    api-ms-win-crt-math-l1-1-0.dll
    api-ms-win-crt-heap-l1-1-0.dll
    api-ms-win-crt-convert-l1-1-0.dll
    api-ms-win-crt-runtime-l1-1-0.dll

  Summary

        2000 .data
        1000 .gfids
        3000 .rdata
        2000 .reloc
        1000 .rsrc
       15000 .text

VCRUNTIME140.dll is installed by the Visual Studio 2015 redistributable files, but you need the x86 (the 32-bit) version. You also need ModuleMessagingExt.dll, but as I understand it, you already installed that (and that is a 32-bit DLL).

I already have the 32-bit Visual Studio 2015 redistributable files installed, and I just installed the new Base Sync for Orbiter 2016 and ModuleMessagingExt, and it works fine for me.

So, what I suggest is:
1. Verify that you have installed 'ModuleMessagingExt v2 for Orbiter 2016' from here: https://www.orbithangar.com/searchid.php?ID=6889
2. Verify that you have installed 'BaseSyncMFD for Orbiter 2016 v3.1' from here: https://www.orbithangar.com/searchid.php?ID=6965
3. Go to https://www.microsoft.com/en-us/download/details.aspx?id=52685 and click "Download".
4. Run vc_redist.x86.exe to install the 32-bit Visual Studio 2015 redistributables.
5. Run Orbiter and activate the new BaseSync module.

P.S. Locating and installing the correct version of the Visual Studio redistributable files for different add-ons is indeed a pain for users, which IMO is why it's better for everyone if add-on authors link their add-ons statically rather than dynamically -- details here: https://www.orbiter-forum.com/showthread.php?p=541908&postcount=41 :tiphat:
 

ADSWNJ

Scientist
Addon Developer
Joined
Aug 5, 2011
Messages
1,667
Reaction score
3
Points
38
He tried that already. Another runtime problem, maybe? :shrug:

LOL - I'm a simple guy, I scan a message, see 126, a reply ModuleMessagingExt as muscle memory!!!

@Doug - thanks. Interesting that you use dumpbin.exe - I still use Depends.exetodo the same job. The reason for the last rev of ModuleMessagingExt was to allow me to fix these other utils (BaseSync, Glideslope, RV Orientation, etc) to all be statically linked and dynamic run-time load of MM Ext. Guess it;'s about time I released these new updates!
 
Last edited:

Stebb

New member
Joined
Feb 5, 2018
Messages
10
Reaction score
3
Points
3
Thanks dbeachy1. Problem solved. :thumbup:

You were spot-on by pointing out that the 32-bit version of Visual Studio 2015 redist is required. I didn't know that. Who would, apart from Orbiter software developers ? I downloaded the 64 bit version simply because the computer I have has a 64 bit processor.

I'm a simple guy too. I think it would be of benefit to users if the pre-requisite in question for BaseSync v3.1 given in the BaseSync download page on Orbit Hanger was more explicit, i.e. it should include dbeachy1's suggestion 3 & 4 in his post above.

I've got BaseSync 3.1 running ! Great !! I'm happy about that.

However, the calculation inaccuracy that I mentioned in my previous post when using an old version of BaseSync on Orbiter 2016 is still present with the latest BaseSync v3.1. The inaccuracy has a lot to do with it not taking into account the terrain elevation at the location of the base.

Maybe this is something best left for another thread. :tiphat:
 
Top