Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#61242 - [flobopuyo] 0.20-10 segfaults
Attached to Project:
Community Packages
Opened by Fnord Popos (noddy) - Wednesday, 02 January 2019, 03:03 GMT
Last edited by Jaroslav Lichtblau (Dragonlord) - Sunday, 19 January 2020, 20:30 GMT
Opened by Fnord Popos (noddy) - Wednesday, 02 January 2019, 03:03 GMT
Last edited by Jaroslav Lichtblau (Dragonlord) - Sunday, 19 January 2020, 20:30 GMT
|
DetailsDescription:
flobopuyo-0.20-10 crashes when you start it, choose "Single Player Game," and then choose "Medium" or "Hard". It does not crash with "Easy", or with "Two Players Game." The crash happens in PuyoState PuyoPuyo::getPuyoState() { if (this != NULL) return state; return PUYO_EMPTY; } which, with -O2, gets compiled to a Laconic mov 0x8(%rdi),%eax retq because obviously who in their right mind would declare a few select methods as non-virtual, and then call them on a NULL pointer!? The code base is peppered with this fascinating invention, so patching the game would require some effort. The easiest way to get it into working state is to disable optimizations. I propose either adding options=(!buildflags) to the PKGBUILD, or fiddling with CXXFLAGS to filter the optimizations out. |
This task depends upon
Closed by Jaroslav Lichtblau (Dragonlord)
Sunday, 19 January 2020, 20:30 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed in flobopuyo-0.20-11
Sunday, 19 January 2020, 20:30 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed in flobopuyo-0.20-11
Adding `-fno-delete-null-pointer-checks` to `CXXFLAGS` seems to suffice:
~~~ diff
--- a/trunk/PKGBUILD
+++ b/trunk/PKGBUILD
@@ -34,7 +34,7 @@ prepare() {
build() {
cd "${srcdir}"/$pkgname-$pkgver
-
+ CXXFLAGS+=" -fno-delete-null-pointer-checks"
make
}
~~~