junkstore icon indicating copy to clipboard operation
junkstore copied to clipboard

gog: Game update stuck at 27%

Open trisk opened this issue 8 months ago • 10 comments

Describe the bug Trying to update my installed copy of Croc: Legend of the Gobbos (2025 remaster) to 1.04 results in the download being stuck at 27.0% every time. The progress bar displays: Downloaded 49.56 MB/181.52 MB (27.0%) Speed 13.46 MB/s

To Reproduce Steps to reproduce the behavior:

  1. Install 1.0 of Croc from GOG
  2. Go to the Actions menu and select Update Game
  3. Wait for download

Expected behavior Update should complete on its own.

Handheld device (please complete the following information):

  • Device: Steam Deck
  • OS: SteamOS
  • Version 3.6.24 (build 20250313.1)

trisk avatar Apr 17 '25 06:04 trisk

Checking the log for the game shows that the patcher script for GOG is attempting to open game files in the wrong path /home/deck/Games/gog instead of the game-specific directory /home/deck/Games/gog/Croc Legend of the Gobbos.

Example:

Patch failed [Errno 2] No such file or directory: '/home/deck/Games/gog/croc.db'
Traceback (most recent call last):
  File "/app/lib/python3.11/site-packages/gogdl/dl/workers/task_executor.py", line 361, in run
    patcher.patch(source, patch, target, self.speed_queue)
  File "/app/lib/python3.11/site-packages/gogdl/xdelta/patcher.py", line 81, in patch
    src_handle = open(source, 'rb')
                ^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/deck/Games/gog/croc.db'

Patch failed [Errno 2] No such file or directory: '/home/deck/Games/gog/Croc64.exe'
Traceback (most recent call last):
  File "/app/lib/python3.11/site-packages/gogdl/dl/workers/task_executor.py", line 361, in run
    patcher.patch(source, patch, target, self.speed_queue)
  File "/app/lib/python3.11/site-packages/gogdl/xdelta/patcher.py", line 81, in patch
    src_handle = open(source, 'rb')
                ^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/deck/Games/gog/Croc64.exe'

Full log: 1152820153.log

trisk avatar Apr 17 '25 06:04 trisk

As a workaround, I was able to successfully apply the update by first symlinking all of the existing files under ~/Games/gog/Croc Legend of the Gobbos to ~/Games/gog, then moving any newly created files back to ~/Games/gog/Croc Legend of the Gobbos. I cleaned it up afterward by removing the symlinks.

trisk avatar Apr 17 '25 18:04 trisk

Oops, didn't mean to close this.

trisk avatar Apr 17 '25 18:04 trisk

Does this happen with all games or just this one? I'm just trying to work out if this is a bug in the way I interact with gogdl or if this is a bug in gogdl.

ebenbruyns avatar Apr 17 '25 20:04 ebenbruyns

I don't have any other GOG games with pending updates right now. I would have to wait for an update to test that, I think.

trisk avatar Apr 17 '25 21:04 trisk

I'd say that's a fair assessment. It's possible that this is just a missed edge case on my part.

ebenbruyns avatar Apr 17 '25 21:04 ebenbruyns

Is there any configuration data I should look at to try to figure out what's going on?

This is the row in gog.db:

INSERT INTO Game VALUES(34,'Croc Legend of the Gobbos',replace(replace('Croc’s back and he’s still got the moves!\r\n\r\nCroc Legend of the Gobbos is the heartwarming journey of an endearing, humble little crocodile equipped with only his iconic backpack and a wiggly butt as he platforms his way across a series of unique worlds by running, jumping, climbing, swimming and tail spinning on his quest to rescue his adopted family of Gobbos from the grasp of the evil sorcerer Baron Dante and his impish Dantini hordes.\r\n\r\nWith its broad appeal and groundbreaking creativity, the original game quickly became a multi-million selling platforming classic, and while the Croc Legend of the Gobbos remaster delivers an authentic gameplay experience that transports players back to the golden age of gaming, it also introduces a roster of modern updates including enhanced HD graphics, modern control mechanics with an updated camera, and retro video modes to recreate the gaming experience that charmed us in the 1990s.','\r',char(13)),'\n',char(10)),'Croc64.exe',NULL,'Argonaut Games','/home/deck/Games/gog/Croc Legend of the Gobbos','Gog','1152820153','Platform',NULL,'Argonaut Games','2025-04-02T00:00:00+0000',NULL,NULL,NULL,'','','3324581817','1152820153','Croc Legend of the Gobbos');

I noticed in Gog/store.sh you sometimes have:

GAME_DIR=$($GOGCONF --get-dir-name "${1}" --dbfile $DBFILE $OFFLINE_MODE)

and elsewhere it's

GAME_DIR=$($GOGCONF --get-game-dir "${1}" --dbfile $DBFILE $OFFLINE_MODE)

trisk avatar Apr 22 '25 19:04 trisk

It seems you found a live one, I'm not sure how this has gone unreported for this long (it's clear that I don't have time to play a lot of games these days). This begs the question as to how many others are hiding in there like this. Have you signed up for testing the new version? I'm running out of bugs to fix in it and could use a few more to fix.

I'll rejig my dev environment and get to the bottom of this one. Thank you

ebenbruyns avatar Apr 22 '25 20:04 ebenbruyns

Could you reach out to me on patreon or kofi (where ever you purchsed it), I just about have a test build ready for you to try before I unleash it on the masses.

This one uncovered a few more subtle issues. Good find!

ebenbruyns avatar Apr 22 '25 22:04 ebenbruyns

Sorry, I missed your replies! Sent you a message on ko-fi.

trisk avatar May 15 '25 04:05 trisk

@trisk Just checking if this was ever resolved for you.

mrsjunkrunner avatar Jul 16 '25 22:07 mrsjunkrunner

@trisk Just checking if this was ever resolved for you.

I installed junkstore-gog 0.1.8-20250325-084019 and it seems to be resolved (although only one of my games has received an update so far).

trisk avatar Jul 23 '25 11:07 trisk