Segfault on --build-romlist
Closed this issue · 5 comments
Happens in both v3.0.8 and v3.0.9, compiled on Ubuntu 24.04:
Building romlists always works, except under one specific condition, whenever "qsound_hle.zip" exists in the roms directory, a segfault will follow on building romlists.
Example 1
Files under ~/mame/roms/:
ssf2t.zip
qsound_hle.zip
Command
attractplus -b foobar
Result
*** Generating Collection/Rom List: foobar
- Found 2 files.
- Obtaining -listxml info...150%
Segmentation fault (core dumped)
Example 2
Files under ~/mame/roms/:
ssf2t.zip
neo_geo.zip
Command
attractplus -b foobar
Result
*** Generating Collection/Rom List: foobar
- Found 2 files.
- Obtaining -listxml info...100%
- Discarded 1 entries based on xml info: neogeo
- Removing any duplicate entries...
+ Writing 1 entries to: /home/X/.attract/romlists/foobar10.txt
Summary
The romlist builder will always exclude bios files from building, except on "qsound_hle.zip", the builder will segfault.
Does anyone has some idea? Maybe this is a upstream (Attract) issue?
Unfortunately I was not able to reproduce the error:
ssf2t.zip
and neo_geo.zip
present in roms directory
D:\EMU\ATTRACT-TEST>attractplus-console -b mame
*** Generating Collection/Rom List: mame
- Found 2 files.
- Removing any duplicate entries...
+ Writing 2 entries to: D:\EMU\ATTRACT-TEST\romlists/mame.txt
ssf2t.zip
and qsound_hle.zip
present in roms directory
D:\EMU\ATTRACT-TEST>attractplus-console -b mame
*** Generating Collection/Rom List: mame
- Found 2 files.
- Removing any duplicate entries...
+ Writing 2 entries to: D:\EMU\ATTRACT-TEST\romlists/mame.txt
Btw, I normally have all mame bios files in a separate directory that is only configured in mame, AM does not have access to it.
The above tests were performed with bios files accessible to AM.
Hmm that is strange. I could get this to fail reliable.
Since I use Ansible to provision my cabinet, I have the freedom to separate bios and roms, thus have a workaround.
I created this ticket because I expected this to be a blocker for other people. But if you can not replicate, then it will not be an issue for other people.
Thanks for the investigation!
My tests were performed on Windows, but I've just done the same on Arch Linux.
There is indeed a segfault with bios files.
neogeo.zip
segfault
neo_geo.zip
pass
qsound_hle.zip
segfault
There is no neo_geo
entry in list.xml. If you rename it to neogeo
the segfault is consistent.
I'm reopening the case and I'll try to get to the bottom of this.
Please test the latest binary and report.
https://github.com/oomek/attractplus/actions/runs/11126364043