-
Notifications
You must be signed in to change notification settings - Fork 156
Troubleshooting
- Reporting a problem
- Location of configuration files
- I ran the program with "run as Administrator" and ...
-
Installation Issues
- Installer and/or executables flagged as malicious/viruses
- Update Error!
- How do I rollback to a previous version?
- Help, EDMC isn't properly installed, and I can't uninstall or upgrade it!
- Update of application fails silently or with the installer crashing.
- Missing VCRUNTIME140.DLL
- EDMarketConnector needs permission to use shortcuts
- Program won't start
-
Problems with Frontier Authentication
- It's asking for auth again after 25 days
- App is stuck on 'Logging in...'
- App repeatedly opens the Frontier authentication website
- App does not open Frontier authentication website
- Error: Invalid Credentials
- Error: customer_id doesn't match!
- Error: An error occured
- 500 internal server error
- Error: User not found
- Error: Missing credentials
- Frontier CAPI query failure: /profile (or /market, or /shipyard)
- I sync Journals between two or more computers, and have to re-auth on each switch
- Chrome complains after approving on Frontier's site
- Third Party Site Plugins (EDSM, EDDB, Inara)
- Firewall and Network Issues
- Miscellaneous
- Multi-Accounting
- Error: Wrong Cmdr
- Kill Switches
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:
- 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... - 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.
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.
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.
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
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).
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:
- Download the
.msi
file for the latest release - 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.
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.
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:
-
Windows Key
+ i -> opens settings. - Open 'Apps'.
- Wait for this to load the list, then type 'Market' into the search box.
- 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:
- Your application settings.
- Any exported files.
- Any installed third-party plugins (assuming you put them in the correct location, not inside the application install folder).
- Any log files.
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:
- EDMarketConnector.exe won't run.
- If they try to upgrade/reinstall using the latest release, it refuses to install.
- 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.
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.
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".
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.
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.
Please read our separate document about Windows 7 support.
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:
- Go to Control Panel, not Windows Settings. You might need to search
for 'Control Panel' in the Start Menu. Alternatively.
- Go to
Control Panel\All Control Panel Items
in a File Explorer window.
- Go to
- Open
Region
- Click
Administrative
tab. - Click
Change system locale...
(it's the button in the second section "Language for non-Unicode programs"). - Tick the box "Beta: Use Unicode UTF-8 for worldwide language support".
- Click "OK". You'll probably be prompted to reboot for this to take effect.
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.
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 ....
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.
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.
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.
See above.
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.
The Frontier authentication website is confused. Visit the Frontier authentication website, log in and deauthorize "Elite Dangerous Market Connector". Then restart the app.
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.
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).
This can be caused by the application not yet knowing your Commander name. Ensure the Journal files location is set correctly.
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.
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, 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:https://
.
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.
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.
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.
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.
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.
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.
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.
See Error: Can't connect to EDDN above.
See Error: Can't connect to EDDN above.
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.
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 :
- The Protection Tab
- Click 'Manage Exceptions' under Advanced Threat Defense
- Click 'Add an exception'
- 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
- Click 'Ok'
- Click 'Add Exception'
- You may need to reauthenticate with Frontier servers now.
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
.
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.
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.
EDMC only processes live data from the Game. But you can upload your journal file(s) for the missing period to EDSM and Inara.
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.
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
), setquerytime
to0
- Re-start the app.
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.
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
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.
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:
- You have multiple accounts and the username/password setting is not for the account that you're currently playing; or
- 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.
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.