mmatyas / pegasus-frontend

A cross platform, customizable graphical frontend for launching emulators and managing your game collection.
http://pegasus-frontend.org
Other
1.3k stars 117 forks source link

GOG parser crashes on start #464

Closed alfredolvera closed 3 years ago

alfredolvera commented 5 years ago

Hi Mátyás,

So I just posted on your patreon page, but I imagine that reporting this here is better. So I'm trying to run Pegasus, but I can't get past the first loading screen. According to the log, the program crashes while trying to parse steam games.

I have about 250 games there. Is this an issue of just having "too many" games? As far as I saw, Steam also limits the API calls, so I even tried to use a VPN to change my IP so I could get more requests and the issue persists. Here's the latest log:

lastrun.log

Hope you can help me! Really looking forward to using Pegasus and contributing in any way I can. I'm not a programmer, but i just pledged a little bit of money on your patreon. Hope every bit helps! :D

Thanks!!!

mmatyas commented 5 years ago

Hi, and thanks for your support! Every contribution is much appreciated :)

So it closes still on the loading screen, and you don't reach the actual list of games, right? Hm I think it might be due to changes to Steam's API like the log says, or maybe by some new image or video format Steam uses. Will check it out if there were any changes.

Steam support can be turned off in the Settings menu, but of course that can't be reached like this either. As a workaround, open settings.txt in the directory of the log file (or create it if doesn't exist) and add the following line:

providers.steam.enabled: false

then save and restart Pegasus. If it's caused by Steam, it should pass now and also you shouldn't see anything Steam-related in the log either.

I have about 250 games there. Is this an issue of just having "too many" games?

Nah, it's more in the 3000+ range :)

As far as I saw, Steam also limits the API calls, so I even tried to use a VPN to change my IP so I could get more requests and the issue persists.

Pegasus also tries to cache the requests in order to not query a game every time. It also shouldn't cause a crash (hopefully).

alfredolvera commented 5 years ago

Hi Mátyás!

Thanks for your reply. So I tried adding the settings file and it did something: now it closes even faster than before, he he he. It says "20 games found", then immediately closes :(

Please take a look at the log and let me know if you need any more info on this! I really REALLY want pegasus to work on my system.

lastrun.log

Thanks again!!

alfredolvera commented 5 years ago

More info: After seeing that the log stoped on searching for ES, I went ahead and installed it. Now the log goes a little farther and starts scanning for games, but still crashes :( I'm guessing isn't related to Steam, or ES... it might be something else? I tried running it on Administrator Mode, disable high DPI settings, running at a lower resolution (was on 4K, now 1080p) with no success. So I'm really lost right now xD

lastrun.log

mmatyas commented 5 years ago

I see, maybe it's caused by GOG? Could you try adding

providers.gog.enabled: false

? Perhaps it's GOG that uses some kind of new format which causes a crash there.

Also ES is not required, its just that if it's there Pegasus will try to load its games, but otherwise it's not necessary (I should make that make that message a bit friendlier).

alfredolvera commented 5 years ago

It was related to GOG!! I managed to get it working! Also, I tried to add my steam games and it all went smoothly and all my Steam games were imported!

So... I buy my GOG games with a friend and he just shares the executables with me, I don't use the GOG Launcher at all, neither I have installed on my PC. Do you think this is the issue?

Really appreciate the help!! :D

mmatyas commented 5 years ago

Great! This is a bug in Pegasus and not your fault :) Will try to reproduce it then and fix as soon as I have time.

In case it turns out this is caused by a particular game, could you share your list of installed GOG games? I understand this may be somewhat sensitive information, so feel free to say no, or use private message on eg. Patreon.

alfredolvera commented 5 years ago

I can share the list, but I can't find any way on my PC to automatically list all the games from GOG that I have installed. Do you know how I can do this?

mmatyas commented 5 years ago

Unfortunately that's a bit complicated on Windows (involves looking into the system registry); as an alternative you could look for directories with files like goggame-123456789.dll in them. I think Galaxy might also show them but that requires an account to login first.

mmatyas commented 5 years ago

So based on a different thread, it seems the offending game is one of these:

Aquaria / Bastion / Botanicula / Death to Spies: Moment of Truth Mark of the Ninja / Gorogoa / Fran Bow / Grim Fandango Remastered Hyper Light Drifter / Pan-Pan / Shovel Knight / Odallus: The Dark Call Vampire: The Masquerade - Bloodlines

Do you have any of these installed @alfredolvera?

Due to the nature of GOG it's a bit difficult for me to test which game causes the crash :(

mmatyas commented 5 years ago

It also seems to happen with Space Quest 1.

seanchase commented 4 years ago

First of all, love the front end. Doing the PC thing with the nVidia Shield TV. Having GoG enabled crashes pegasus on startup. I have half the games listed here and about 50 more:

So based on a different thread, it seems the offending game is one of these:

Aquaria / Bastion / Botanicula / Death to Spies: Moment of Truth Mark of the Ninja / Gorogoa / Fran Bow / Grim Fandango Remastered Hyper Light Drifter / Pan-Pan / Shovel Knight / Odallus: The Dark Call Vampire: The Masquerade - Bloodlines

Also, I have all games installed to D:\Games and GoG Galaxy installed to the default location on my Windows 10 pc.

mattmaiorana commented 4 years ago

New Pegasus user - love it! I have the GOG crash on Windows 10. I only have one game installed, so it might help narrow the problem down? It's Grim Fandango Remastered.

In the meantime I'll just manually add games from GOG.

mmatyas commented 4 years ago

This might be fixed now in the latest release -- could someone take a look?

tituspijean commented 4 years ago

No, sorry, but the log is a bit more verbose. With only providers.gog.enabled: true, every other provider false:

2020-09-14T11:13:40 [i] Pegasus alpha13-156-ga20a4f27 (2020-09-12)
2020-09-14T11:13:40 [i] Running on Windows 10 Version 2004 (x86_64, windows)
2020-09-14T11:13:40 [i] Qt version 5.15.1
2020-09-14T11:13:40 [i] Program settings loaded (`C:/Users/$me/AppData/Local/pegasus-frontend/settings.txt`)
2020-09-14T11:13:40 [i] Found locale `de`
2020-09-14T11:13:40 [i] Found locale `en`
2020-09-14T11:13:40 [i] Found locale `en`
2020-09-14T11:13:40 [i] Found locale `es`
2020-09-14T11:13:40 [i] Found locale `fr`
2020-09-14T11:13:40 [i] Found locale `hu`
2020-09-14T11:13:40 [i] Found locale `ko`
2020-09-14T11:13:40 [i] Found locale `pt-BR`
2020-09-14T11:13:40 [i] Found locale `ru`
2020-09-14T11:13:40 [i] Found locale `zh`
2020-09-14T11:13:40 [i] Locale set to `en`
2020-09-14T11:13:40 [i] Found theme `Pegasus Grid` at `:/themes/pegasus-theme-grid/`
2020-09-14T11:13:40 [i] Theme set to `Pegasus Grid` (`:/themes/pegasus-theme-grid/`)
2020-09-14T11:13:40 [i] SDL version 2.0.10
2020-09-14T11:13:40 [i] Metafiles: finished game searching in 0ms
2020-09-14T11:13:40 [i] GOG: 1 games found
2020-09-14T11:13:40 [i] GOG: finished game searching in 2ms
2020-09-14T11:13:40 [i] Game list post-processing took 0ms
2020-09-14T11:13:40 [i] Metafiles: finished asset searching in 0ms
2020-09-14T11:13:40 [i] Games found in 3ms
2020-09-14T11:13:42 [w] Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt.
You must not let any exception whatsoever propagate through Qt code.
If that is not possible, in Qt 5 you must at least reimplement
QCoreApplication::notify() and catch all exceptions there.

2020-09-14T11:13:42 [w] Qt Concurrent has caught an exception thrown from a worker thread.
This is not supported, exceptions thrown in worker threads must be
caught before control returns to Qt Concurrent.

After swapping true and false for GOG and Steam, and then, enabling GOG through the interface:

2020-09-14T11:15:32 [i] Pegasus alpha13-156-ga20a4f27 (2020-09-12)
2020-09-14T11:15:32 [i] Running on Windows 10 Version 2004 (x86_64, windows)
2020-09-14T11:15:32 [i] Qt version 5.15.1
2020-09-14T11:15:32 [i] Program settings loaded (`C:/Users/$me/AppData/Local/pegasus-frontend/settings.txt`)
2020-09-14T11:15:32 [i] Found locale `de`
2020-09-14T11:15:32 [i] Found locale `en`
2020-09-14T11:15:32 [i] Found locale `en`
2020-09-14T11:15:32 [i] Found locale `es`
2020-09-14T11:15:32 [i] Found locale `fr`
2020-09-14T11:15:32 [i] Found locale `hu`
2020-09-14T11:15:32 [i] Found locale `ko`
2020-09-14T11:15:32 [i] Found locale `pt-BR`
2020-09-14T11:15:32 [i] Found locale `ru`
2020-09-14T11:15:32 [i] Found locale `zh`
2020-09-14T11:15:32 [i] Locale set to `fr`
2020-09-14T11:15:32 [i] Found theme `Pegasus Grid` at `:/themes/pegasus-theme-grid/`
2020-09-14T11:15:32 [i] Theme set to `Pegasus Grid` (`:/themes/pegasus-theme-grid/`)
2020-09-14T11:15:32 [i] SDL version 2.0.10
2020-09-14T11:15:32 [i] Metafiles: finished game searching in 0ms
2020-09-14T11:15:32 [i] Steam: found data directory: `c:/program files (x86)/steam/`
2020-09-14T11:15:32 [i] Steam: finished game searching in 2ms
2020-09-14T11:15:32 [i] EmulationStation: system config file not found
2020-09-14T11:15:32 [i] EmulationStation: finished game searching in 0ms
2020-09-14T11:15:32 [i] LaunchBox: no installation found
2020-09-14T11:15:32 [i] LaunchBox: finished game searching in 0ms
2020-09-14T11:15:32 [i] Game list post-processing took 0ms
2020-09-14T11:15:32 [i] Metafiles: finished asset searching in 0ms
2020-09-14T11:15:32 [i] Steam: finished asset searching in 1ms
2020-09-14T11:15:32 [i] EmulationStation: finished asset searching in 0ms
2020-09-14T11:15:32 [i] Skraper Assets: 0 assets found
2020-09-14T11:15:32 [i] Skraper Assets: finished asset searching in 0ms
2020-09-14T11:15:32 [i] Games found in 5ms
2020-09-14T11:15:32 [i] Assets and metadata found in 1ms
2020-09-14T11:15:32 [i] 1 games found
2020-09-14T11:15:33 [w] DirectShowPlayerService::doRender: Unresolved error code 0x80040218 ()
(repeated 145 times)
2020-09-14T11:15:39 [i] Program settings saved
2020-09-14T11:15:39 [w] DirectShowPlayerService::doRender: Unresolved error code 0x80040218 ()
(repeated 67 times)
2020-09-14T11:15:42 [i] Reloading...
2020-09-14T11:15:42 [i] Metafiles: finished game searching in 1ms
2020-09-14T11:15:42 [i] Steam: found data directory: `c:/program files (x86)/steam/`
2020-09-14T11:15:42 [i] Steam: finished game searching in 2ms
2020-09-14T11:15:42 [i] GOG: 1 games found
2020-09-14T11:15:42 [i] GOG: finished game searching in 1ms
2020-09-14T11:15:42 [i] EmulationStation: system config file not found
2020-09-14T11:15:42 [i] EmulationStation: finished game searching in 0ms
2020-09-14T11:15:42 [i] LaunchBox: no installation found
2020-09-14T11:15:42 [i] LaunchBox: finished game searching in 0ms
2020-09-14T11:15:42 [i] Game list post-processing took 0ms
2020-09-14T11:15:42 [i] Metafiles: finished asset searching in 0ms
2020-09-14T11:15:42 [i] Steam: finished asset searching in 0ms
2020-09-14T11:15:42 [i] Games found in 6ms
2020-09-14T11:15:42 [w] Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt.
You must not let any exception whatsoever propagate through Qt code.
If that is not possible, in Qt 5 you must at least reimplement
QCoreApplication::notify() and catch all exceptions there.

2020-09-14T11:15:42 [w] Qt Concurrent has caught an exception thrown from a worker thread.
This is not supported, exceptions thrown in worker threads must be
caught before control returns to Qt Concurrent.
mmatyas commented 4 years ago

Aw, that's too bad, but at least there's some progress. Thanks for testing!

valsou commented 4 years ago

Windows 10 Pro version 19041.508

pegasus-fe_alpha14-3-geee81499

2020-09-23T23:18:37 [i] Pegasus alpha14-3-geee81499 (2020-09-23)
2020-09-23T23:18:37 [i] Running on Windows 10 Version 2004 (x86_64, windows)
2020-09-23T23:18:37 [i] Qt version 5.15.1
2020-09-23T23:18:37 [i] Program settings loaded (`C:/Users/valsl/AppData/Local/pegasus-frontend/settings.txt`)
2020-09-23T23:18:37 [i] Found locale `de`
2020-09-23T23:18:37 [i] Found locale `en`
2020-09-23T23:18:37 [i] Found locale `en`
2020-09-23T23:18:37 [i] Found locale `es`
2020-09-23T23:18:37 [i] Found locale `fr`
2020-09-23T23:18:37 [i] Found locale `hu`
2020-09-23T23:18:37 [i] Found locale `ko`
2020-09-23T23:18:37 [i] Found locale `pt-BR`
2020-09-23T23:18:37 [i] Found locale `ru`
2020-09-23T23:18:37 [i] Found locale `zh`
2020-09-23T23:18:37 [i] Locale set to `en`
2020-09-23T23:18:37 [i] Found theme `Pegasus Grid` at `:/themes/pegasus-theme-grid/`
2020-09-23T23:18:37 [i] Found theme `neoretro` at `C:/Users/valsl/Desktop/how_to_bellerophon/PEGASUS/themes/neoretro/`
2020-09-23T23:18:37 [i] Found theme `switchOS` at `C:/Users/valsl/Desktop/how_to_bellerophon/PEGASUS/themes/switchOS/`
2020-09-23T23:18:37 [i] Theme set to `switchOS` (`C:/Users/valsl/Desktop/how_to_bellerophon/PEGASUS/themes/switchOS/`)
2020-09-23T23:18:37 [i] SDL version 2.0.10
2020-09-23T23:18:38 [i] Metafiles: found `C:/Users/valsl/Desktop/how_to_bellerophon/metadata.txt`
2020-09-23T23:18:38 [i] Metafiles: finished game searching in 62ms
2020-09-23T23:18:38 [i] GOG: 2 games found
2020-09-23T23:18:38 [i] GOG: finished game searching in 2ms
2020-09-23T23:18:38 [i] Game list post-processing took 1ms
2020-09-23T23:18:38 [i] Games found in 66ms
2020-09-23T23:18:38 [i] Metafiles: finished asset searching in 104ms
2020-09-23T23:18:39 [w] Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt.
You must not let any exception whatsoever propagate through Qt code.
If that is not possible, in Qt 5 you must at least reimplement
QCoreApplication::notify() and catch all exceptions there.

2020-09-23T23:18:39 [w] Qt Concurrent has caught an exception thrown from a worker thread.
This is not supported, exceptions thrown in worker threads must be
caught before control returns to Qt Concurrent.
valsou commented 4 years ago

Just reading the issue comments. Here the 2 games installed if that can help for debugging :

The Secret of Monkey Island™: Special Edition Monkey Island™ 2 Special Edition: LeChuck’s Revenge™

mmatyas commented 4 years ago

Could someone try if this still happens with the latest version?

valsou commented 3 years ago

Sorry for the delay of my answer.

Just tested with the last build (pegasus-fe_alpha14-85-g6f801fbb), no more crashing and no warning nor notice in the log. Games show correctly.

All good.

mmatyas commented 3 years ago

I'm going to enable GOG then, we'll see if it causes any more problems.