mmatyas / pegasus-frontend

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

Seemingly incorrect external program crash report #1041

Closed DevilBlackDeath closed 1 year ago

DevilBlackDeath commented 1 year ago

The issue

I'm running pegasus-fe on my RetroPie. The issue happens when trying to run dreamcast roms through the flycast core on RetroArch (without going through runcommand). I use that solution for every other core and it works perfectly. However when trying to run it with Dreamcast games, pegasus log reports the external program unexpectedly crashing. Now here comes the very weird part. If I SSH to the console, kill pegasus using pkill then start it again from SSH it works fine. Doing the same and running it from the console on the Raspberry Pi (not remotely, but directly on the Pi with a keyboard) then the "crashes" happen again.

Retroarch reports no crash and just seem to immediately stop (based on the log, it would seem it happens around the time the video drive is initialized). Now I fully expect that to be because of a quirk from Retropie BUT that means a configuration in pegasus makes it happen. Whether it's a bug or a feature is to be determined.

System info

Pegasus is running on a 4GB Raspberry Pi 4.

Pegasus version

The version used is alpha16-45-g02458df0-dirty (latest available through the retropie update script.

Pegasus log

I attach 2 logs. One is from an attempt at running the emulator that result in the so-called crash. One is from after restarting from SSH, with the successful launch of a Dreamcast game.

lastrun_bugged.log lastrun_dc.log

DevilBlackDeath commented 1 year ago

After some in-depth research addin </dev/null to retroarch's run command with flycast fixed the issue. The fact that it worked when running pegasus through SSH seems to boil down that doing so does a few tricks behind the scenes that pretty much result in the equivalent of adding </dev/null, resulting in pegasus' ability to run the core. Quite a weird bug on flycast/retroarch's end, and neither seem willing to investigate since they can't determine which program fault it is. In all cases, pegasus had no role to play in it !