amuseplay Segmentation Fault with Rogue Squadron 3D (PC) DATA.DAT
I'm very glad to see that you created and maintained this project. I'm at the beginning of a project with this game and I didn't have any idea on how to solve the sound playback. I tried to play Star Wars: Rogue Squadron 3D (PC) soundtracks from DATA.DAT with amuseplay, but it crashed. Could you please help me with this issue. Thank you very much in advance.
Environment:
- Ubuntu 21.04
- Linux version 5.11.0-17-generic (buildd@lcy01-amd64-002) (gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0, GNU ld (GNU Binutils for Ubuntu) 2.36.1)
- amuse version: commit 500ae76fa727e5bc7e6af4c1c2c20a3981b45e96 (HEAD -> master)
- boo version: commit d302532fe12e447cc5af3ac975e12e89c982dfae (HEAD -> master, origin/master, origin/HEAD)
- athena version: commit 37c56eec076d74cc7708ff14c66ee960d7f53e2a (HEAD -> master, tag: latest, origin/master, origin/HEAD)
- logvisor version: commit ee3276d7c5ec0e3eb8e40e32b50289f2eed2fe2e (HEAD -> master, origin/master, origin/HEAD)
command: $ ./amuseplay DATA.DAT
Result:
[0.0002 INFO boo::ApplicationUnix (Amuse Player Main)] using OpenGL renderer
[0.0318 WARNING boo::WindowXlib (Amuse Player Client)] OPENGL HAS BEEN DEPRECATED, IT IS HIGHLY RECOMMENDED TO BUILD AND USE VULKAN INSTEAD
[0.0499 INFO boo::GL (Amuse Player Render)] OpenGL Version: 4.5 (Core Profile) Mesa 21.0.1
[0.1870 INFO boo::ApplicationUnix (Amuse Player Main)] Screen saver inhibited
[0.1872 INFO amuseplay (Amuse Player Client)] Found '%s' Audio Group data
[0.1934 FATAL ERROR logvisor (Amuse Player Client)] Segmentation Fault
logvisor::logvisorAbort()
??:?
void logvisor::Module::_vreport<char>(logvisor::Level, fmt::v7::basic_string_view<char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<fmt::v7::detail::buffer_appender<char>, char> >)
??:?
void logvisor::Module::report<logvisor::AbortHandler(int)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING, , char>(logvisor::Level, logvisor::AbortHandler(int)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING const&)
logvisor.cpp:?
logvisor::AbortHandler(int)
logvisor.cpp:?
??
??:0
std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, amuse::ObjectId>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, amuse::ObjectId> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_bucket_index(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long) const
??:?
std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, amuse::ObjectId>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, amuse::ObjectId> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
??:?
std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, amuse::ObjectId, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, amuse::ObjectId> > >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
??:?
std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, amuse::ObjectId>, false, true>, bool> std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, amuse::ObjectId, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, amuse::ObjectId> > >::insert_or_assign<amuse::ObjectId&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, amuse::ObjectId&)
??:?
amuse::NameDB::registerPair(std::basic_string_view<char, std::char_traits<char> >, amuse::ObjectId)
??:?
amuse::AudioGroupProject amuse::AudioGroupProject::_AudioGroupProject<(athena::Endian)0>(athena::io::IStreamReader&, bool)
??:?
amuse::AudioGroupProject::CreateAudioGroupProject(amuse::AudioGroupData const&)
??:?
AppCallback::appMain(boo::IApplication*)
??:?
boo::ApplicationXlib::run()::{lambda()#1}::operator()() const
??:?
void std::__invoke_impl<void, boo::ApplicationXlib::run()::{lambda()#1}>(std::__invoke_other, boo::ApplicationXlib::run()::{lambda()#1}&&)
??:?
std::__invoke_result<boo::ApplicationXlib::run()::{lambda()#1}>::type std::__invoke<boo::ApplicationXlib::run()::{lambda()#1}>(boo::ApplicationXlib::run()::{lambda()#1}&&)
??:?
void std::thread::_Invoker<std::tuple<boo::ApplicationXlib::run()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>)
??:?
std::thread::_Invoker<std::tuple<boo::ApplicationXlib::run()::{lambda()#1}> >::operator()()
??:?
std::thread::_State_impl<std::thread::_Invoker<std::tuple<boo::ApplicationXlib::run()::{lambda()#1}> > >::_M_run()
??:?
std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<amuse::SFXId const, std::tuple<amuse::AudioGroup*, amuse::GroupId, amuse::SFXGroupIndex::SFXEntry const*> >, false> > >::_M_deallocate_buckets(std::__detail::_Hash_node_base**, unsigned long)
??:?
??
??:0
amuse::AudioGroupDatabase::_recursiveRenameMacro(amuse::SoundMacroId, std::basic_string_view<char, std::char_traits<char> >, int&, std::unordered_set<amuse::SoundMacroId, std::hash<amuse::SoundMacroId>, std::equal_to<amuse::SoundMacroId>, std::allocator<amuse::SoundMacroId> >&)
??:?
Aborted (core dumped)
The same issue happened on Windows 10 (without a log). For Windows I downloaded the v1.15 81f0a91 release of Amuse from github releases.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information