Skip to content

Troubleshooting

Athanasius edited this page Jan 10, 2023 · 150 revisions

Contents

Reporting a problem

Please report a problem as a new GitHub issue. Do not decide you do not need to use the Bug Report template. All of the information it asks for is vital in diagnosing any bugs.

Be sure to attach both:

  1. A relevant debug log file - these are always at DEBUG level, or even TRACE if you use the --trace command-line option, so might contain information not in...
  2. The plain log file immediately after the bug occurs. In addition to actually logged output this contains any other output which won't be in the debug log file.

Debug Log Files

If you are using 4.1.0, or later (including betas of 4.1.0) then there is a new set of rotated logfiles in the location:

  • Windows: %TEMP%\EDMarketConnector\EDMarketConnector-debug.log
  • Mac: $TMPDIR/EDMarketConnector/EDMarketConnector-debug.log
  • Linux: $TMPDIR/EDMarketConnector/EDMarketConnector-debug.log

These are not truncated on a new run, so there will be no need to re-create the bug. They are, however, rotated (to EDMarketConnector-debug.log.1 and onwards) if they reach 1 MiB in size. So check timestamps and contents to be sure you upload the correct file!

These files also always contain DEBUG output, whereas the file detailed below only contains raw print() output and anything logged at the level you have configured.

They do not contain plain print(..) and other non-logged output, so we still need you to also supply the plain log file in bug reports as well.

Plain Log File

As well as the Debug log file there is also the actual console output of the program. This can contain a little extra output not found in the Debug log file, such as exceptions and tracebacks. It is vital you attach this file/output to bug reports as well.

When running from the provided Windows installer this is redirected to:

%TEMP%\EDMarketConnector.log

With the old (up to 3.43) macOS installer this is found in:

${TMPDIR}/EDMarketConnector.log

In all cases of Running from source you will need to capture the output of EDMarketConnector.py, e.g. on Linux or macOS:

EDMarketConnector.py 2>&1 | tee "${TMPDIR}/EDMarketConnector.log"

You can make that ... | tee -a ... if you're OK with this log file growing until you delete or truncate it yourself.

Location of configuration files

If your configuration has been corrupted, or badly set, such that you can't run the program to fix it, or you otherwise need to directly access the configuration then these are the locations of the configuration:

  • Mac: You can use the 'defaults' command to interact with the stored settings, i.e.

    defaults read uk.org.marginal.edmarketconnector

    to show the current settings and appropriate 'write' commands to change them.

  • Windows: Configuration is stored in the registry under HKEY_CURRENT_USER\Software\Marginal\EDMarketConnector . There are also some non-configuration files at %LOCALAPPDATA%\EDMarketConnector\ in your user profile.

  • Linux: Configuration is stored in the file ${HOME}/.config/EDMarketConnector/EDMarketConnector.ini


I ran the program with "run as Administrator" and ...

Don't do that. There's zero reason to run ED Market Connector as Administrator and it will then be looking for, and storing, settings in "Administrator"'s registry section and will be looking for the game Journal files inside the Admin account's files, rather than your user's.

That would then require you to run the game as Administrator as well, and there's also NO reason to do that.

Just run things as your normal user. The installation of this application will throw up a UAC prompt as and when it needs extra privileges for the install. After that all file access in the installation folder is then read-only (any output is directed within your user's file area, or other location chosen by you).

Installation Issues

Installer and/or executables flagged as malicious/viruses

We have had reports that Anti-Virus software such as:

  • AVG Anti-Virus
  • BitDefender
  • MalwareBytes
  • (Microsoft) Windows Defender

can sometimes report that either one of our installers (e.g. EDMarketConnector_win_5.0.0.msi) or an executable therein is malicious in some manner. This has invariably always been a false positive.

Since release 5.1.3, the .msi files we distribute are built on GitHub itself, and a draft of the release created directly there. This means that the installer a user downloads has never been on a developer's machine since it was built, so there is no opportunity for an infected developer's machine to insert malware into it or the executable files it contains.

If you trust our source then the only way for malware to make it into our installers or executables would be a supply chain attack affecting GitHub's version of files, or the WinSparkle (update checker DLL we use) distribution that we ask GitHub to download for us.

We convert our python source code into executables using py2exe.

See discussion in EDMC 5.0.0. Flagged at Malware by AVG Anti Virus #1058 for more details about the 'cause' of this, including links to py2exe issues about it.

Our working assumption is that some malware authors also use py2exe, or something similar, to build python scripts into windows executables. Those then get correctly flagged as malware by various vendors, but there's then collateral damage from them identifying actually innocent parts of those malware executables as an issue. That then subsequently causes them to misidentify innocent programs built that way as malware.

Every time we've reported the specific file(s) to an AV vendor and they've looked at them more closely they've then come back to us and admitted it was a false positive.

It might be worth trying a manual download and install, if what you're Anti-Virus is objecting to is the EDMarketConnector.exe -> WinSparkle.dll -> Download -> Run Installer chain:

  1. Download the .msi file for the latest release
  2. Manually run that .msi file to install.

If that fails you might consider reporting the detection as a false positive. In the unlikely case of us becoming aware that a virus has somehow made its way into our files we would disable GitHub downloads.

If you're really worried about our executables, but feel you can still trust our source code then you can always investigate Running From Source.

Update Error!

If you get an error trying to download an update to EDMC this could be because the GitHub server that hosts this app's updates only supports TLS 1.2 and higher.

Follow these instructions to change your Windows settings to disable the deprecated SSL 2.0 and 3.0 protocols and enable TLS 1.2.

How do I rollback to a previous version?

If you experience sufficient instability and/or bugs with the latest version of the application then you can rollback to a previous version.

You will need to manually uninstall the version you currently have installed first:

  1. Windows Key + i -> opens settings.
  2. Open 'Apps'.
  3. Wait for this to load the list, then type 'Market' into the search box.
  4. Click on the entry for 'Elite Dangerous Market Connector' and then on the 'Uninstall' button. Follow any further prompts.

Then simply run the .msi installer for the version you want installed instead. See Releases.

NB: Uninstalling does not affect any of:

  1. Your application settings.
  2. Any exported files.
  3. Any installed third-party plugins (assuming you put them in the correct location, not inside the application install folder).
  4. Any log files.

Help, EDMC isn't properly installed, and I can't uninstall or upgrade it!

We greatly suspect that Anti-Virus quarantining during false positive events with this application's installed files are to blame for this.

A few users have run into a situation where:

  1. EDMarketConnector.exe won't run.
  2. If they try to upgrade/reinstall using the latest release, it refuses to install.
  3. Trying to use Windows Settings > Apps to uninstall the application fails, complaining about a missing .msi file.

e.g. https://github.com/EDCD/EDMarketConnector/discussions/1099#discussioncomment-784334

If you face this situation then you can try downloading a new copy of the version that Windows Settings > Apps believes you have installed, and then attempt to reinstall/repair it using for example:

msiexec /f <path to>\EDMarketConnector_win_5.0.4.msi

If that succeeds then proceed to attempting to upgrade to the latest version.

However, we have had reports of this not working.

If you get into this mess then the only fix might be to use the tool from Microsoft.Com:Fix problems that block programs from being installed or removed to fully remove 'Elite Dangerous Market Connector', and then reinstall.

As in another answer here uninstalling should not remove any of your settings, saved data, or third-party plugins.

Update of application fails silently or with the installer crashing.

We've had several reports of updates from 3.4.3.0 to a later version failing. The only thing we can think of is that the older version of the WinSparkle DLL file shipped in that version has issues with Windows versions released since 3.4.3.0 was built.

The easiest thing to do in this situation is to update manually this time. Follow the same instructions as in How do I rollback to a previous version? above.

Missing VCRUNTIME140.DLL

If you're on any version of Windows 10 then you shouldn't see an error like this. If you're on Windows 8.1 or earlier than you should check Windows Update for "Universal CRT" or "VCRedist". If that fails then install the x86 version of the "Microsoft Visual C++ 2015 Redistributable Update 3 RC". Alternate URL: "The latest supported Visual C++ downloads".

EDMarketConnector needs permission to use shortcuts

This appears on the Configuration tab of the application Preferences on macOS because the application doesn't have the necessary OS permissions to listen to all keyboard input.

The intention of this is to support the 'hotkey' feature of this application, so that you can trigger an update (as happens when you dock if you have the 'Automatically update on docking' option active) with a key press.

Unfortunately this code has atrophied on macOS and developer documentation isn't very helpful. In any case you can no longer run the Game natively on macOS so it's unlikely you wouldn't simply have the application window visible on macOS, and thus you can just press the 'Update' button.

If anyone can confirm how a tkinter application is meant to signal to macOS, on Catalina or later, that it would like to listen to all keyboard input we can investigate getting this working again.

It would seem to be the 'Input Monitoring' part of 'Privacy & Security', but with no applications listed there's seemingly no way to add another. It's also possible the hotkey detection code will need a wholesale rewrite on macOS.

Program won't start

Re-running application does nothing

The GUI application checks if there is another instance of it already/still running. If it finds such an old process then by default it will pop-up the message An EDMarketConnector.exe process was already running, exiting.. Closing that pop-up makes this new process exit. If you are running with the --suppress-dupe-process-popup argument then this popup is suppressed and the new process will exit silently.

If you see the pop-up double-check you don't still have an existing instance of the program running.

If there's no visible window for it then find the 'EDMarketConnector.exe' process and kill it. In this case of no visible window for a running EDMarketConnector.exe process you should also open a new bug report about this, assuming you're using the current latest version. If not, please update and see if the issue remains (after you've killed any outstanding processes from the old version).

If you've done that and there's definitely no lingering process then please try to remove the log file %TEMP%\EDMarketConnector.log. If this fails because a process (which can't be EDMarketconnector.exe because you already checked that) has the file open then you'll need to resolve that in order for EDMarketConnector.exe to run again.

Application won't run under Windows 7

Please read our separate document about Windows 7 support.

Last logged "Locale LC_ALL: ..."

If you're using EDMC 4.1.0 or later (including betas) you might find the program fails to start with the last line in the Debug Log File being something like:

2020-09-20 22:54:03.164 - DEBUG - EDMarketConnector.__main__:1071: Locale LC_ALL: ('Russian_Russia', '1251')

As per Issue 771: 4.1.0-beta5 can't start this is caused by a Windows problem and has a workaround:

  1. Go to Control Panel, not Windows Settings. You might need to search for 'Control Panel' in the Start Menu. Alternatively.
    1. Go to Control Panel\All Control Panel Items in a File Explorer window.
  2. Open Region
  3. Click Administrative tab.
  4. Click Change system locale... (it's the button in the second section "Language for non-Unicode programs").
  5. Tick the box "Beta: Use Unicode UTF-8 for worldwide language support".
  6. Click "OK". You'll probably be prompted to reboot for this to take effect.

Logfile permission error

Particularly if running under Linux, if you encounter an error:

PermissionError: [Errno 13] Permission denied: '/tmp/EDMarketConnector/EDMarketConnector-debug.log'

then please consult advice on ensuring log files can be written.

Problems with Frontier Authentication

It's asking for auth again after 25 days

25 days after you approved this application the Frontier authorisation server will force us to get you to authorise us again. That is Frontier's choice and there's nothing we can do about it.

If you are being asked to authorise more often than this 25 days, and it's not due to switching between game accounts, then read on ....

App is stuck on 'Logging in...'

If, despite completing the Authorisation flow on the Frontier website this application is still showing 'Logging in ...' on the bottom status line then please add to this bug report, following Reporting a problem with regards to attaching log files.

On Windows: You might be able to work around the problem by running EDMarketConnector.exe with the --force-localserver-for-auth command-line argument. There is (from 4.2.3) a .bat file EDMarketConnector - localserver-auth.bat to make this easier.

App repeatedly opens the Frontier authentication website

The authentication didn't complete correctly for some reason. This can be caused by:

  • Using Internet Explorer. IE is known to be broken. Please (temporarily) set your default browser to Edge, Chrome or Firefox and retry.
  • The Frontier authentication website is confused - see Error: An error occured.
  • Entering credentials for a different Cmdr - see Error: Wrong Cmdr.
  • Entering Steam credentials instead of Frontier credentials. If you want to use Steam authentication then select that button on the Frontier Authentication web page this application opens - see Error: User not found.

App does not open Frontier authentication website

The app needs to see your Journal Files in order to detect your Commander and initiate the Frontier authentication.

One known cause of this is playing the game via GeForce NOW. As this is a cloud gaming service the Journal Files are also in the cloud, not on your local machine, and thus EDMC can't see them. This will not work. It is assumed that the same will be true of other cloud gaming services.

Error: Invalid Credentials

See above.

Error: customer_id doesn't match!

The returned Frontier Authorisation token contains a different customer ID to what the application expected for the current Commander. If you have more than one account/Commander check you used the correct credentials, matching the Commander as shown in the main UI.

Error: An error occured

The Frontier authentication website is confused. Visit the Frontier authentication website, log in and deauthorize "Elite Dangerous Market Connector". Then restart the app.

500 internal server error

Either:

  • You pressed the "Approve" button on Frontier's authentication website twice. This is harmless; if the app isn't displaying any error messages and isn't redirecting again to Frontier's authentication website then all is fine.
  • Frontier's authentication website sometimes gets overloaded and displays this error. Please try again later.

Error: User not found

Your Steam account may not be linked to your Frontier account (you can check whether you have any external accounts linked on the Frontier store).

Error: Missing credentials

This can be caused by the application not yet knowing your Commander name. Ensure the Journal files location is set correctly.

Frontier CAPI query failure: /profile (or /market, or /shipyard)

This refers to an attempt to retrieve data from the Frontier CAPI service that didn't receive a response within the timeout (currently 10 seconds).

Unless this always happens for you (in which case you might need to adjust some firewall settings) it's likely a problem at Frontier's end.

I sync Journals between two or more computers, and have to re-auth on each switch

Ref: #1632: EDMC needs to re-authenticate every time I switch computers

For a single game account combined with a single 'Client Id' only one authorisation can be active at a time.

What this means in practice is that if you authenticate on Computer A for Account A with respect to Client A (i.e. EDMC), then EDMC stores the 'Refresh Token' for future use, and refreshes it to the new value when used.

If you then authenticate, for Account A with respect to the same ClientA, but on Computer B, then you will get a different Refresh Token, and the one that Computer A has stored will now be invalid.

Result: Each time you (re-)authenticate on one computer you will be invalidating tthe other computer's authorization, and the next time it needs to obtain a new Access Token you will be forced to re-authenticate.

The only workaround for this would be to synchronise the Registry entry:

Computer\HKEY_CURRENT_USER\SOFTWARE\Marginal\EDMarketConnector\fdev_apikeys

between the two computers.

Chrome complains after approving on Frontier's site

Chrome, at least from version 87, will complain "The information you're about to submit is not secure" after you approve this application on Frontier's website during the callback to a URL beginning edmc:// .

You can simply click 'Send anyway', there's nothing nefarious going on.

Furthermore there's no reason to not tick "Always allow auth.frontierstore.net to open links of this type in the associated app" on the subsequent pop-up. It will save you the extra click in future.


Third Party Site Plugins (EDSM, EDDB, Inara)

Credentials settings are greyed out

You won't be redirected to Frontier's authentication website and can't edit your EDSM or Inara credentials if:

  • Elite Dangerous is at the Main Menu. You will be able to edit these values once you've entered the game.
  • The last time you ran Elite Dangerous you didn't enter the game. You will be able to edit these values once you've entered the game.
  • Your “E:D journal file location” setting is incorrect. See below.

Ship name is greyed out and not clickable

The application doesn't have data about your ship loadout, including if the data is empty due to starting a fresh Commander and only having the stock starter ship. Attempting to send such an empty loadout to Coriolis or EDSY would result in an error, so we prevent this.

Help - a plugin is spamming errors in the log

The EDSM and Inara internal plugins communicate with their respective sites and might under some circumstances report what look like errors, but are really just messages for information.

Examples include:

  • EDSM 402 Item unknown ... Anything starting with this is due to EDSM not currently doing anything with the event in question. It might in the future, and I believe Anthor has stated that he stores all such events in case he adds code to handle them, at which point the entire backlog would be processed. Only open an EDMC issue if you're sure that EDSM should be processing the event (check with Anthor first) and it appears EDMC is mis-handling it.
  • Inara 400 No reputation value provided. {"eventName": "setCommanderReputationMajorFaction", "eventTimestamp": "2020-07-15T15:32:42Z", "eventData": []} Inara doesn't like the application trying to send an empty list of Major Faction (Empire, Federation, Alliance) reputations. It's harmless, and should be fixed in version 5.0.0 and later.

Please report any other such messages you see in your logs so we can document them here and/or fix the EDMC code.

Inara isn't updating my commander data at all

Are you playing in the 'Legacy' galaxy after game Update 14 ? If so, Inara has chosen to only support the 'Live' galaxy and as such this application will not even attempt to send any data if the 'Live' galaxy is not detected.

Inara isn't taking note of my Thargoid kills

That data comes purely from Inara itself leveraging a granted Frontier Authentication to pull your journals directly from Frontier's CAPI service. That way it can be sure no-one is spoofing the data, so no cheating. There's no way for EDMC to provide it.

Got to https://inara.cz/ , select 'Commander' from the top menu, then press the 'Import Frontier Data' buttom top-ish right and follow the instructions.


Firewall and Network Issues

Error: Can't connect to EDDN

EDMC needs to talk to eddn.edcd.io on port 4430. If you consistently receive this error check that your router or VPN configuration allows port 4430 / tcp outbound. If using a proxy add eddn.edcd.io to the exemption list, plus www.edsm.net and/or inara.cz if using EDSM and/or Inara integration.

Error: Can't connect to EDSM

See Error: Can't connect to EDDN above.

Error: Can't connect to Inara

See Error: Can't connect to EDDN above.

Error: Unable to get token

You almost certainly have an Anti-Virus, Software Firewall, or VPN stopping EDMC from communicating with the Frontier authorization server. Please whitelist EDMarketConnector.exe for connections to auth.frontierstore.net.

I'm using BitDefender and things don't work

If you are trying to run EDMC with BitDefender on your computer you will not receive an error in BitDefender or any notification, however EDMC will be unable to authenticate with Frontier servers or check for updates.

To fix this you need to add it as an exception in BitDefender by going to :

  1. The Protection Tab
  2. Click 'Manage Exceptions' under Advanced Threat Defense
  3. Click 'Add an exception'
  4. Click the browse button and browse to the location of the EDMC .exe file. The default location is: C:\Program Files (x86)\EDMarketConnector\EDMarketConnector.exe
  5. Click 'Ok'
  6. Click 'Add Exception'
  7. You may need to reauthenticate with Frontier servers now.

Miscellaneous

Scaling does not work on linux

On some linux distributions, the default font is not a font that can be scaled by our UI.

To fix scaling, edit ~/.config/EDMarketConnector/EDMarketConnector.py and add the following:

font = DejaVu Sans

You can select any font (Though in testing DejaVu Sans works well), and can change the default font size with font_size.

Program doesn't send data to EDSM and others at startup

You need to start EDMC before logging into the game. When EDMC starts it does look through the latest journal file, in part to set internal state, and as a side effect to get to the end of the file, but it does not send this data to any plugins, internal or third-party.

If the program did react to the latest journal fully it would risk re-sending data just because the user had restarted it whilst playing the game.

We might look into making an exception for basic "current state" events like "Location", but have no solid plans at this time.

If you encounter an issue with starting EDMC before the game then please see Reporting a problem.

Doesn't auto-update and/or persistently gives “Server is lagging” error

This app uses Elite Dangerous' Journal files to track the systems and stations that you visit. If you're running this app on a different machine from the Elite Dangerous game, or if you find that this app isn't automatically tracking the systems that you visit and/or isn't automatically “updating” on docking (if you have that option selected), then adjust the “E:D journal file location” setting on the Configuration tab to point to the game's log files.

The default location is typically:

  • Windows: C:\Users\you\Saved Games\Frontier Developments\Elite Dangerous
  • Linux Steam Play: ~/.steam/steam/steamapps/compatdata/359320/pfx/drive_c/users/steamuser/Saved Games/Frontier Developments/Elite Dangerous
  • Linux Wine: ~/.wine/drive_c/users/you/Saved Games/Frontier Developments/Elite Dangerous

NB: If you feel a need to move 'Saved Games' on Windows then please ensure you do this using the right-click 'Properties' dialogue, else nothing will be able to find the new location properly.

Also, ensure that the user account you're running Elite Dangerous as is able to write to this location, else the game won't be able to write Journal files and this Application won't be able to read what doesn't exist.

I forgot to run the app - is there a way to process the missing data?

EDMC only processes live data from the Game. But you can upload your journal file(s) for the missing period to EDSM and Inara.

Import failed: No ship loadout found

If your ship loadout fails to open up in your chosen Shipyard provider (coriolis.io or edsy.org) then check the length of the URL that opened in your browser. If it's 2083 characters long then your setup is hitting a Windows / Internet Explorer / Edge limitation on the length of URLs.

NB: There are reports that even with Firefox on Windows 7 you might still run into this problem. See #617 Ship load out link error.

There is an option to use an alternate method of opening a URL for shipyard links. It's called 'Use alternate URL method' and is located in the 'File' > 'Settings' dialogue on the 'Configuration' tab, next to the dropdown used to choose shipyard provider. If your setup results in coriolis.io or edsy.org saying they can't load your build then try toggling this on.

This method writes a small .html file, %LOCALAPPDATA%\EDMarketConnector\shipyard.html, (or other-OS equivalent location), and directs your browser to open that. The file contains a meta refresh redirect to the URL for your build on your chosen shipyard provider. The file is not deleted after use, so you can also use this as "let's re-open that last build" facility even without EDMC running.

Very long "cooldown" period

You'll see a very long cooldown period if your system's time of day changes while you're running the app. To fix this:

  • Quit the app.
  • Double-check your system's Date and Time settings.
  • Windows: Run the RegEdit program and locate and delete the key HKEY_CURRENT_USER\Software\Marginal\EDMarketConnector\querytime.
  • Mac: Copy and paste the following into a Terminal app window: defaults write uk.org.marginal.edmarketconnector querytime -int 0 and press Enter.
  • Linux: Edit $XDG_CONFIG_HOME/EDMarketConnector/EDMarketConnector.ini ($XDG_CONFIG_HOME is usually $HOME/.config), set querytime to 0
  • Re-start the app.

Multi-Accounting

I run two instances of E:D simultaneously, but I can't run two instances of EDMC

This application supports this scenario if you run the second instance of the Game in a different user account - e.g. using runas on Windows. Run the second instance of this application in the same user account as the second instance of the Game:

runas /user:<USER> "\"c:\Program Files (x86)\EDMarketConnector\EDMarketConnector.exe\" --force-localserver-for-auth"

(Obviously adjust the path if you have the application installed elsewhere.)

The --force-localserver-for-auth flag is necessary to ensure the callback from Frontier Authentication reaches the correct instance of this application.

This application doesn't support running two instances of the Game in the same user account. The application will only respond to the instance of the Game that you ran last, because its Journal file will then be the most recent.

Linux

EDMC respects XDG_DATA_HOME and XDG_CONFIG_HOME for its plugin and config dirs. Running multiple instances of EDMC simply requires that you change the two environment variables to point to new directories; XDG_DATA_HOME=./my_cmdr XDG_CONFIG_HOME=./my_cmdr python3 ./EDMarketConnector.py is sufficient

Opening plugins location doesn't work under 'runas'

As per Can't open plugins folder when running EDMC under other user this is a known issue on Windows when you runas another user.
Our working assumption is that the root issue is either with Python's webbrowser module under these circumstances, or else a Windows OS issue relating to "the visible desktop is another user".

Work around this by just manually opening up the path in a Windows File Explorer window instead. The path shown in our Settings > Plugins tab will be under the 'runas' user's home folder, e.g. c:\Users\SomeOtherUser\. The default is documented.

Error: Wrong Cmdr

The Frontier server that supplies data to this app is supplying data for a different Cmdr than the one that you're currently playing. You are redirected to Frontier's authentication website and prompted again for your username and password. Either:

  1. You have multiple accounts and the username/password setting is not for the account that you're currently playing; or
  2. You have reset your Cmdr but Frontier's server is still supplying data for the old Cmdr.

If 1 check your username/password settings.

If 2 this problem may or may not resolve itself in time.

Kill Switches

I see a popup when I start EDMC, or errors in the status line saying something was disabled

This means that we have disabled some features of your current EDMC version due to bugs or unexpected behaviour. The best solution is to update to the latest version of EDMC.

Clone this wiki locally