Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Regression] - mGBA Suite Crashes on NBA 1.7 #301

Closed
Zenjir0 opened this issue May 11, 2023 · 5 comments
Closed

[Regression] - mGBA Suite Crashes on NBA 1.7 #301

Zenjir0 opened this issue May 11, 2023 · 5 comments
Assignees

Comments

@Zenjir0
Copy link

Zenjir0 commented May 11, 2023

When you try to run endrift's gba-suite on NanoBoyAdvance 1.7 some of the test will outright crash the program.

This behavior is easily replicated by running the latest suite.gba file (suite.gba date modified 3/27/2023) on NBA v1.7 and attempting to run the tests.

However the same suite.gba file runs without issue on all tests for NBA v1.6 and v1.5, and does not crash.

@fleroviux
Copy link
Member

Weird. I use this test suite regularly for regression testing. That being said it's possible that I missed something. I'll take a look tonight.

@Zenjir0
Copy link
Author

Zenjir0 commented May 12, 2023

For a sanity check I also did it on a completely separate system and v1.7 did crash on that one too.
The suite.gba I am using has an MD5 hash of: 29A547D5C142750B012754BCC7DAEDBA
Just in case it happens to be an issue with the suite for some odd reason, and it gets changed/updated between now and when it gets investigated.

Let me know if you want me to test anything.

@fleroviux
Copy link
Member

fleroviux commented May 12, 2023

Looks like this crash is connected to the recent implementation of the mGBA logging interface, which suite.gba uses to print out test results. The crash does not happen when running NanoBoyAdvance from the console (which is what I do most of the time). It incidentally also does not crash anymore on the latest commit which makes sure to flush stdout after every log message.

I wonder if the crash happens if nothing drains from stdout and its buffer eventually is being overrun.

@fleroviux fleroviux self-assigned this May 12, 2023
@fleroviux
Copy link
Member

Turns out fmt::print throws an exception if it fails to write to STDOUT.
fmtlib/fmt#1176

This is now accounted for by catching and ignoring the exception.

@Zenjir0
Copy link
Author

Zenjir0 commented May 12, 2023

Glad to have helped and thank you for your contributions to GBA emulation.

GranMinigun added a commit to GranMinigun/NanoBoyAdvance that referenced this issue Dec 7, 2023
GranMinigun added a commit to GranMinigun/NanoBoyAdvance that referenced this issue Dec 8, 2023
GranMinigun added a commit to GranMinigun/NanoBoyAdvance that referenced this issue Dec 8, 2023
GranMinigun added a commit to GranMinigun/NanoBoyAdvance that referenced this issue Dec 8, 2023
GranMinigun added a commit to GranMinigun/NanoBoyAdvance that referenced this issue Dec 8, 2023
GranMinigun added a commit to GranMinigun/NanoBoyAdvance that referenced this issue Dec 8, 2023
fleroviux added a commit that referenced this issue Dec 13, 2023
* CMake: Update CMakeLists files

Remove unnecessary project declarations. Bump minimum required CMake
version in preparation for FetchContent usage. Some cleanups.

* CMake: Drop FindSDL2 module

SDL packages ship necessary files.

* CMake: Switch to system/FetchContent-provided toml11

* CMake: Switch to system/FetchContent-provided unarr

* CMake: Switch to system/FetchContent-provided fmt

* Remove Git submodules

* CI: Remove submodules checkout

* Revert "Catch fmt::print throwing std::system_error when it cannot write to STDOUT (fixes #301)"

This reverts commit ff8f402.

* Bus: Fix compilation

* Docs: Update compiling instructions

---------

Co-authored-by: Mireille <fleroviux@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants