-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
C++ error when auditing - flatpak #13352
Comments
What do you mean by "audit"? What is the command-line/steps you are running? I also assume you are using MAME 0.274. That looks like the libstdc++ assertions and indicates an actual bug (out of bound access of an array) in the code. Unfortunately without a full stacktrace that is a rather useless message. It is strange that these are being triggered because they need to be explicitly enabled. Starting with GCC 15 they are enabled by default but only in an unoptimized build and I would expect a flatpak build to be optimized. |
Yeah, we need to know:
But if it’s a simple issue and not a nasty case of memory corruption or uninitialised values, it should be possible to reproduce it on a faster machine by building with these assertions enabled so you don’t need to work with a relatively slow ARM-based system. |
I'm clicking the audit button in the gui. To get to the gui, I click MAME in the apps menu or run ```flatpak run org.mamedev.MAME```
…________________________________
From: Vas Crabb ***@***.***>
Sent: Monday, February 10, 2025 5:35:55 PM
To: mamedev/mame ***@***.***>
Cc: PrivateMe ***@***.***>; Author ***@***.***>
Subject: Re: [mamedev/mame] C++ error when auditing - flatpak (Issue #13352)
Yeah, we need to know:
* What you mean by “audit”
* Exact command line
* Full stack trace
* Which system/device it’s working with at the point it crashes
But if it’s a simple issue and not a nasty case of memory corruption or uninitialised values, it should be possible to reproduce it on a faster machine by building with these assertions enabled so you don’t need to work with a relatively slow ARM-based system.
—
Reply to this email directly, view it on GitHub<#13352 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/APTWCJKEPLZAHIDEGRWT6XT2PDPPXAVCNFSM6AAAAABW23IUWSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNBYG43TANJTGI>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
I'm using the device in school and don't have constant access to it, but if you tell me how to copy the stacktrace I can send it.
…________________________________
From: Owen Steele ***@***.***>
Sent: Monday, February 10, 2025 8:00:30 PM
To: mamedev/mame ***@***.***>; mamedev/mame ***@***.***>
Cc: Author ***@***.***>
Subject: Re: [mamedev/mame] C++ error when auditing - flatpak (Issue #13352)
I'm clicking the audit button in the gui. To get to the gui, I click MAME in the apps menu or run ```flatpak run org.mamedev.MAME```
________________________________
From: Vas Crabb ***@***.***>
Sent: Monday, February 10, 2025 5:35:55 PM
To: mamedev/mame ***@***.***>
Cc: PrivateMe ***@***.***>; Author ***@***.***>
Subject: Re: [mamedev/mame] C++ error when auditing - flatpak (Issue #13352)
Yeah, we need to know:
* What you mean by “audit”
* Exact command line
* Full stack trace
* Which system/device it’s working with at the point it crashes
But if it’s a simple issue and not a nasty case of memory corruption or uninitialised values, it should be possible to reproduce it on a faster machine by building with these assertions enabled so you don’t need to work with a relatively slow ARM-based system.
—
Reply to this email directly, view it on GitHub<#13352 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/APTWCJKEPLZAHIDEGRWT6XT2PDPPXAVCNFSM6AAAAABW23IUWSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNBYG43TANJTGI>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Once again, please obtain a full stack trace or at least work out what system/device it’s checking when it happens. |
Hi, sorry for the lack of information but I'm not a developer. I'm just a user trying to help by reporting a problem. If it can be useful, I can confirm that the problem occurs on different hardware (Zorin OS) and also on a Linux Mint VM installed from scratch for testing reasons. I also add that even doing an Audit without any Rom present, the crash still occurs. I attach a log in the hope that it can be useful in troubleshooting |
We’d still be guessing as to what it’s trying to instantiate when it gets the error. It’s multi-threaded so it won’t be working strictly in alphabetical order. It’s probably something with a short name beginning with
Trying to check all the uses for possible out-of-bounds accesses would be time-consuming to say the least. Several of those are devices, so it would be necessary to check everything that uses them as well. At a glance:
The others I really don’t have time to hunt for. If all of them look safe, then it’s either a memory corruption issue or a problem with the Flatpak that doesn’t affect regular builds. |
Hi, thanks for the thorough analysis... I'm also pretty sure it's a problem with Flatpak's build. Is there anything I can do to help fix this bug or am I asking in the wrong place? Thanks in advance... |
Well, there’s a chance it isn’t just a Flatpak issue. Can you run the Flatpak version of MAME under GDB, and when it crashes, use the Does your Linux distro produce crash dumps? If so, can you load the crash dump in GDB and get a call stack? |
Ehm... It's not my bread and butter but tomorrow I will try to do what you're asking me. Best regards! |
We get a C++ error when auditing on the flatpak version of mame on a Raspberry Pi 5. It gets to about 20,000 games, then crashes and says in terminal:
/usr/include/c++/14.2.0/array:208: constexpr std::array<_Tp, _Nm>::value_type& std::array<_Tp, _Nm>::operator [with _Tp = devcb_read; long unsigned int _Nm = 8; reference = devcb_read&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.
/usr/include/c++/14.2.0/array:208: constexpr std::array<_Tp, _Nm>::value_type& std::array<_Tp, _Nm>::operator [with _Tp = devcb_read; long unsigned int _Nm = 8; reference = devcb_read&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.
I've no clue what this means. Does anyone know how to fix this?
The text was updated successfully, but these errors were encountered: