cryptoadvance / cryptoadvance/specter-desktop
Upgrade Install on Windows 10 Error Overwiting Executable and Startup Hang
- Dominant language
- Python
- Stars
- 847
- Forks
- 259
- Avg merge
- 6d 18h
- Merged PRs (30d)
- 2
Description
When upgrading on Windows 10, Specter attempts to rename (move) a binary executable 'specterd.exe' from the 'specterd-binaries/specterd-dir' directory to the 'specterd-binaries' directory, overwriting the executable that is already there. This fails with 'Error: EPERM: operation not permitted' when installed as either a regular user or as Administrator.
Logs:
2022-02-14T20:55:57.089Z [info] : Framework Ready! Starting tray Icon ...
2022-02-14T20:55:57.125Z [info] : Framework Ready! Initializing Main-Window, populating Menu ...
2022-02-14T20:55:57.263Z [info] : Updating C:\Users\USER\.specter\app_settings.json : {"mode":"specterd","specterURL":"http://localhost:25441","tor":false,"proxyURL":"socks5://127.0.0.1:9050","specterdVersion":"v1.7.2","specterdHash":"f39688e7f7044e98aae3ad5cab8c58874529d7c8bde8b88a84bb76faa1c68699","specterdCLIArgs":"","versionInitialized":"v1.7.2"}
2022-02-14T20:55:57.567Z [info] : Using version
2022-02-14T20:55:57.567Z [info] : https://github.com/cryptoadvance/specter-desktop/releases/download/v1.8.1/specterd-v1.8.1-win64.zip
2022-02-14T20:55:58.191Z [info] : content-type:
2022-02-14T20:55:58.191Z [info] : content-length:
2022-02-14T20:56:00.559Z [error] : Error: EPERM: operation not permitted, rename 'C:\Users\USER\.specter\specterd-binaries/specterd-dir/specterd.exe' -> 'C:\Users\USER\.specter\specterd-binaries/specterd.exe'
2022-02-14T20:56:00.560Z [error] : Error: Script failed to execute, this normally means an error was thrown. Check the renderer console for the error.
If I remove the target executable prior to installation, then this rename (move) operation completes successfully, however then I end up with different errors:
Logs:
2022-02-14T20:59:48.397Z [info] : Framework Ready! Starting tray Icon ...
2022-02-14T20:59:48.413Z [info] : Framework Ready! Initializing Main-Window, populating Menu ...
2022-02-14T20:59:48.547Z [info] : Using version
2022-02-14T20:59:48.547Z [info] : https://github.com/cryptoadvance/specter-desktop/releases/download/v1.8.1/specterd-v1.8.1-win64.zip
2022-02-14T20:59:48.962Z [info] : content-type:
2022-02-14T20:59:48.962Z [info] : content-length:
2022-02-14T20:59:51.382Z [info] : Starting specterd C:\Users\USER\.specter\specterd-binaries/specterd.exe server,--no-filelog
2022-02-14T21:00:10.936Z [info] : stderr-SPECTERD: INFO in server: Configuration: cryptoadvance.specter.config.ProductionConfig
2022-02-14T21:00:10.937Z [info] : stderr-SPECTERD: INFO in specter_migrator: Initiated MigDataManager(C:\Users\USER/.specter\migration_data.json events:1 execs:0 )
SPECTERD: INFO in specter_migrator: A new version has been started compared to last time: v1.8.1
2022-02-14T21:00:10.943Z [info] : stderr-SPECTERD: INFO in specter_migrator: No Migrations to execute!
SPECTERD: INFO in server: Initializing LoginManager
SPECTERD: INFO in server: Initializing Specter
2022-02-14T21:00:10.945Z [info] : stderr-SPECTERD: ERROR in version: name 'self' is not defined
Traceback (most recent call last):
File "cryptoadvance\specter\util\version.py", line 148, in _get_latest_version_from_github
NameError: name 'self' is not defined
2022-02-14T21:00:10.945Z [info] : stderr-SPECTERD: INFO in version: version checked. upgrade: False
This results in Specter hanging at the "Launching Specter Desktop..." startup message.
OS Information:
Edition Windows 10 Pro
Version 20H2
Installed on 3/7/2021
OS build 19042.1348
Experience Windows Feature Experience Pack 120.2212.3920.0
Contributor guide
Research direction
Start by reproducing the Windows 10 upgrade using the logged specterd-binaries paths, then inspect cryptoadvance\specter\util\version.py and _get_latest_version_from_github, where the traceback reports name 'self' is not defined. Done means an upgrade can replace the existing specterd.exe and Specter reaches its normal startup state without hanging.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100