Heroic-Games-Launcher / HeroicGamesLauncher

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.
https://heroicgameslauncher.com
GNU General Public License v3.0
7.9k stars 417 forks source link

Move Game regression bug #3697

Open jpauwels opened 4 months ago

jpauwels commented 4 months ago

Describe the bug

https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/pull/3648 introduced a regression on macOS 12.7.4:

Error Moving Game rsync: --no-human-readable: unknown option
rsync error: syntax or usage error (code 1) at /AppleInternal/Library/BuildRoots/bc10cbcd-3cda-11ee-b8ac-16228a05f5d2/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(1337) [client=2.6.9]

Bug introduced on https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/blob/76e63a9ae21d19050c15c2c89893966c7b262f63/src/backend/utils.ts#L1084

Add logs

(14:57:01) INFO:    [Legendary]:        Legendary location: /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/legendary
(14:57:01) INFO:    [Gog]:              GOGDL location: /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/gogdl
(14:57:01) INFO:    [Connection]:       Connectivity: check-online
(14:57:01) INFO:    [Connection]:       Pinging external endpoints
(14:57:01) INFO:    [Gog]:              Checking for existing gog manifests
(14:57:01) INFO:    [Nile]:             Refreshing library...
(14:57:01) INFO:    [Nile]:             Refreshing Amazon Games...
(14:57:01) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/nile_config" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/nile library sync
(14:57:01) INFO:    [Nile]:             Game list updated, got 221 games
(14:57:01) INFO:    [Backend]:          DRM module staus {
  "oimompecagnajdejgnnjijobebaeigek": {
    "status": "new",
    "title": "Widevine Content Decryption Module",
    "version": "4.10.2710.0"
  }
}
(14:57:01) WARNING: [Backend]:          Protocol already registered.
(14:57:01) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/legendaryConfig/legendary" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/legendary --version
(14:57:01) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/gogdlConfig" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/gogdl --auth-config-path "/Users/johan/Library/Application Support/heroic/gog_store/auth.json" --version
(14:57:01) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/nile_config" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/nile --version
(14:57:01) INFO:    [Connection]:       Connectivity: online
(14:57:01) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/gogdlConfig" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/gogdl --auth-config-path "/Users/johan/Library/Application Support/heroic/gog_store/auth.json" auth
(14:57:01) INFO:    [Gog]:              Checking if login is valid
(14:57:01) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/gogdlConfig" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/gogdl --auth-config-path "/Users/johan/Library/Application Support/heroic/gog_store/auth.json" auth
(14:57:02) INFO:    [Backend]:          AreWeAntiCheatYet data downloaded
(14:57:03) INFO:    [Nile]:             Saved user data to config file
(14:57:03) INFO:    [Frontend]:         Refreshing undefined Library
(14:57:03) WARNING: [Backend]:          refresh not implemented on Sideload Library Manager
(14:57:03) INFO:    [Legendary]:        Refreshing library...
(14:57:03) INFO:    [Legendary]:        Refreshing Epic Games...
(14:57:03) INFO:    [Nile]:             Refreshing library...
(14:57:03) INFO:    [Nile]:             Refreshing Amazon Games...
(14:57:03) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/nile_config" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/nile library sync
(14:57:03) INFO:    [Nile]:             Game list updated, got 221 games
(14:57:03) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/gogdlConfig" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/gogdl --auth-config-path "/Users/johan/Library/Application Support/heroic/gog_store/auth.json" auth
(14:57:03) INFO:    [Backend]:          Frontend Ready
(14:57:03) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/legendaryConfig/legendary" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/legendary list --third-party
(14:57:03) INFO:    [Backend]:          Checking for new Heroic Updates
(14:57:04) INFO:    [Backend]:          Checking for current version changelog
(14:57:04) INFO:    [GlobalConfig]:     Searching for Gaming Porting Toolkit Wine
(14:57:05) INFO:    [Winetricks]:       Downloading Winetricks
(14:57:06) INFO:    [WineDownloader]:   Updating wine versions info
(14:57:06) INFO:    [WineDownloader]:   Fetching upstream information...
(14:57:07) INFO:    [WineDownloader]:   wine versions updated
(14:57:08) INFO:    [Backend]:          Starting the Download Queue
(14:57:12) INFO:    [ExtraGameInfo]:    Using cached ExtraGameInfo data for Wallace  Gromit Fright of the Bumblebees
(14:57:12) INFO:    [ExtraGameInfo]:    Using cached ExtraGameInfo data for Wallace  Gromit Fright of the Bumblebees
(14:57:12) INFO:    [Nile]:             Getting more details
(14:57:12) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/nile_config" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/nile install --info --json amzn1.adg.product.cc25ccb6-449e-4d2c-a435-af2a6e6297c4
(14:57:12) INFO:    [Nile]:             Getting more details
(14:57:12) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/nile_config" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/nile install --info --json amzn1.adg.product.cc25ccb6-449e-4d2c-a435-af2a6e6297c4
(14:57:37) INFO:    [Gog]:              Getting GOG library
(14:57:37) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/gogdlConfig" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/gogdl --auth-config-path "/Users/johan/Library/Application Support/heroic/gog_store/auth.json" auth
(14:57:38) INFO:    [Gog]:              Saved username to config file
(14:57:44) INFO:    [Nile]:             Moving Wallace & Gromit: Fright of the Bumblebees to /Volumes/Crucial 2TB/Games/Heroic
(14:57:44) INFO:    [Backend]:          Preventing machine to sleep
(14:57:44) INFO:    [Nile]:             Getting more details
(14:57:44) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/nile_config" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/nile install --info --json amzn1.adg.product.cc25ccb6-449e-4d2c-a435-af2a6e6297c4
(14:57:44) INFO:    [Nile]:             Getting more details
(14:57:44) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/nile_config" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/nile install --info --json amzn1.adg.product.cc25ccb6-449e-4d2c-a435-af2a6e6297c4
(14:57:44) INFO:    [Backend]:          moving command: rsync --archive --compress --no-human-readable --remove-source-files --info=name,progress /Users/johan/Games/ /Volumes/Crucial 2TB/Games/Heroic/Games 
(14:57:44) ERROR:   [Backend]:          Error: rsync: --no-human-readable: unknown option
rsync error: syntax or usage error (code 1) at /AppleInternal/Library/BuildRoots/bc10cbcd-3cda-11ee-b8ac-16228a05f5d2/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(1337) [client=2.6.9]

(14:57:44) ERROR:   [Nile]:             Error moving Wallace & Gromit: Fright of the Bumblebees to /Volumes/Crucial 2TB/Games/Heroic rsync: --no-human-readable: unknown option
rsync error: syntax or usage error (code 1) at /AppleInternal/Library/BuildRoots/bc10cbcd-3cda-11ee-b8ac-16228a05f5d2/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(1337) [client=2.6.9]

(14:57:44) ERROR:   [Backend]:          Error while moving amzn1.adg.product.cc25ccb6-449e-4d2c-a435-af2a6e6297c4 to /Volumes/Crucial 2TB/Games/Heroic: rsync: --no-human-readable: unknown option
rsync error: syntax or usage error (code 1) at /AppleInternal/Library/BuildRoots/bc10cbcd-3cda-11ee-b8ac-16228a05f5d2/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(1337) [client=2.6.9]

(14:57:44) INFO:    [Nile]:             Getting more details
(14:57:44) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/nile_config" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/nile install --info --json amzn1.adg.product.cc25ccb6-449e-4d2c-a435-af2a6e6297c4
(14:57:44) INFO:    [Nile]:             Getting more details
(14:57:44) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/nile_config" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/nile install --info --json amzn1.adg.product.cc25ccb6-449e-4d2c-a435-af2a6e6297c4
(14:57:53) INFO:    [Backend]:          
System Information:
CPU: 8x Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
Memory: 17.18 GB (used: 8.83 GB)
GPUs:

OS:  12.7.4 (darwin)

The current system is not a Steam Deck
We are not running inside a Flatpak container

Software Versions:
  Heroic: 2.14.1 Flame Emperor Sabo
  Legendary: 0.20.34 Direct Intervention
  gogdl: 1.0.1
  Nile: 1.0.2 Jonathan Joestar

(14:57:59) INFO:    [Legendary]:        Game list updated, got 316 games & DLCs
(14:57:59) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/gogdlConfig" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/gogdl --auth-config-path "/Users/johan/Library/Application Support/heroic/gog_store/auth.json" auth
(14:58:05) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/gogdlConfig" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/gogdl --auth-config-path "/Users/johan/Library/Application Support/heroic/gog_store/auth.json" auth
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:12) DEBUG:   [Nile]:             Using cached install info
(14:58:13) INFO:    [Gog]:              Saved games data
(14:58:13) DEBUG:   [Nile]:             Using cached install info
(14:58:13) DEBUG:   [Nile]:             Using cached install info
(14:58:13) DEBUG:   [Nile]:             Using cached install info
(14:58:13) WARNING: [Backend]:          listUpdateableGames not implemented on Sideload Library Manager
(14:58:13) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/gogdlConfig" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/gogdl --auth-config-path "/Users/johan/Library/Application Support/heroic/gog_store/auth.json" auth
(14:58:13) DEBUG:   [Nile]:             Using cached install info
(14:58:18) INFO:    [Gog]:              Found 0 game(s) to update
(14:58:18) INFO:    [Legendary]:        Checking for game updates: LEGENDARY_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/legendaryConfig/legendary" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/legendary list --third-party
(14:58:30) WARNING: [Legendary]:        Failed to parse games from /Users/johan/Library/Application Support/heroic/legendaryConfig/legendary/installed.json with: Error: ENOENT: no such file or directory, open '/Users/johan/Library/Application Support/heroic/legendaryConfig/legendary/installed.json'
    at Object.readFileUtf8 (node:internal/fs/sync:25:18)
    at Object.readFileSync (node:fs:441:19)
    at t.readFileSync (node:electron/js2c/node_init:2:9771)
    at Module.listUpdateableGames (/Applications/Games/Heroic.app/Contents/Resources/app.asar/build/electron/main.159a68a5.js:114:4090)
    at async /Applications/Games/Heroic.app/Contents/Resources/app.asar/build/electron/main.159a68a5.js:235:3193
    at async WebContents.<anonymous> (node:electron/js2c/browser_init:2:79404)
(14:58:30) INFO:    [Legendary]:        Found 0 games to update
(14:58:30) INFO:    [Nile]:             Looking for updates...
(14:58:30) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH="/Users/johan/Library/Application Support/heroic/nile_config" /Applications/Games/Heroic.app/Contents/Resources/app.asar.unpacked/build/bin/darwin/nile list-updates --json
(14:58:39) INFO:    [Nile]:             Found 4 games to update
(14:58:39) DEBUG:   [Nile]:             Using cached install info
(14:58:39) DEBUG:   [Nile]:             Using cached install info

Steps to reproduce

  1. Try to move a game

Expected behavior

Moving works without error

Screenshots

No response

Heroic Version

Latest Stable

System Information

macOS 12.7.4

Additional information

No response

jpauwels commented 4 months ago

--info=name,progress is also problematic on macOS 12.7.4 btw

arielj commented 4 months ago

looks like rsync on macos doesn't have the same options as rsync on linux

CommandMC commented 4 months ago

Hmm, this'll be tricky, since we actually need those options to provide an accurate progress report

udance4ever commented 1 month ago

yup - can definitely confirm this bug in v2.14.1. I'm on macOS Sonoma. I was trying to move a game (Epic) on my local drive to an external NVMe to free up some space and this error was thrown.

What's the workaround outside of uninstalling it and reinstalling it to the new location? (trying to avoid this as it is a 120GB download)

CommandMC commented 1 month ago