Bug #2134
Crash after plugin load error in AudioDriver initialization (Fedora 21)
Start date:
2015-11-28
% Done:
100%
Description
Log output shows that the FluidSynth plugin fails to load (due to an unrelated reason):
#1792 003.954 R(WRN) audio::System > AudioDriver: Library_New: Error opening "/bin/libaudio_fluidsynth.so": [LoadError] (Library::Library) Cannot load library /home/jaakko/opt/doomsday/lib64/ doomsday/libaudio_fluidsynth.so: (/home/jaakko/ opt/doomsday/lib64/doomsday/ libaudio_fluidsynth.so: undefined symbol: fluid_player_play) #1792 003.933 A (i) audio::System > AudioDriver: FMOD Sound System (c) Firelight Technologies Pty, Ltd., 1994-2013 ASSERT: "d->iBase.Init != nullptr" in file /home/jaakko/src/deng/doomsday/apps/client/src/audio/audiodriver.cpp, line 253
Backtrace for the assert failure:
#0 0x00007ffff32788d7 in raise () at /lib64/libc.so.6 #1 0x00007ffff327a53a in abort () at /lib64/libc.so.6 #2 0x00007ffff4d847ff in QMessageLogger::fatal(char const*, ...) const () at /lib64/libQt5Core.so.5 #3 0x00007ffff4d7faae in () at /lib64/libQt5Core.so.5 #4 0x00000000007fc4cb in AudioDriver::initialize() (this=0x1a77a88) at /home/jaakko/src/deng/doomsday/apps/client/src/audio/audiodriver.cpp:253 #5 0x000000000080abb1 in audio::System::Instance::initDriver(audiodriverid_e) (this=0x1a77a40, driverId=AUDIOD_FLUIDSYNTH) at /home/jaakko/src/deng/doomsday/apps/client/src/audio/system.cpp:271 #6 0x000000000080ae38 in audio::System::Instance::initDriverIfNeeded(de::String const&) (this=0x1a77a40, identifier=...) at /home/jaakko/src/deng/doomsday/apps/client/src/audio/system.cpp:289 #7 0x000000000080b112 in audio::System::Instance::selectInterfaces(audiodriverid_e) (this=0x1a77a40, defaultDriverId=AUDIOD_FMOD) at /home/jaakko/src/deng/doomsday/apps/client/src/audio/system.cpp:399 #8 0x000000000080af24 in audio::System::Instance::loadDrivers() (this=0x1a77a40) at /home/jaakko/src/deng/doomsday/apps/client/src/audio/system.cpp:317 #9 0x0000000000803017 in audio::System::initPlayback() (this=0x1a03510) at /home/jaakko/src/deng/doomsday/apps/client/src/audio/system.cpp:1555 #10 0x00000000009ce1eb in Sys_Init() () at /home/jaakko/src/deng/doomsday/apps/client/src/sys_system.cpp:93
Associated revisions
Audio|Client: Handle audio plugin library load error
Fixes #2134
History
#1 Updated by skyjake almost 9 years ago
- Description updated (diff)
- Assignee changed from skyjake to Deng Team
#2 Updated by skyjake almost 9 years ago
- Tags set to Audio, Plugin, fedora
- Subject changed from Crash during AudioDriver initialization (Fedora 21) to Crash after plugin load error in AudioDriver initialization (Fedora 21)
#3 Updated by skyjake almost 9 years ago
I think the problem is in AudioDriver’s importInterfaces(). It fails to load the library via Library_New(), but then just ignores the failure to import any entrypoints. I think it should throw a LoadError exception in this case.
#4 Updated by skyjake almost 9 years ago
- Assignee changed from Deng Team to danij
#5 Updated by skyjake almost 9 years ago
- Assignee changed from danij to skyjake
#6 Updated by skyjake almost 9 years ago
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100
Applied in changeset github|745ab8f5ffaa11a2697cc47462405a56024a8f1d.
#7 Updated by skyjake almost 9 years ago
- Status changed from Resolved to Closed
This bug is not present in the 1.15 branch (Library_New
returning NULL is handled), so no cherry-picking is necessary.
#8 Updated by skyjake over 7 years ago
- Target version deleted (
49)
Fixed|Audio|Client: Catch missing symbol errors when loading audio plugins
IssueID #2134