[Bug 814250] New: OpenAL segfaults when using ALSA backend
https://bugzilla.novell.com/show_bug.cgi?id=814250 https://bugzilla.novell.com/show_bug.cgi?id=814250#c0 Summary: OpenAL segfaults when using ALSA backend Classification: openSUSE Product: openSUSE 12.3 Version: Final Platform: x86-64 OS/Version: openSUSE 12.3 Status: NEW Severity: Normal Priority: P5 - None Component: Sound AssignedTo: tiwai@suse.com ReportedBy: wbauer@tmo.at QAContact: qa-bugs@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; Linux) KHTML/4.10.2 (like Gecko) Konqueror/4.10 SUSE When trying to run supertuxkart from games repo, it crashes on startup with a segmentation fault. This only happens, when pulseaudio is disabled, so that openal uses the ALSA backend. openal-info also segfaults. Reproducible: Always Steps to Reproduce: 1.disable pulseaudio 2.run openal-info Actual Results: segmentation fault Expected Results: no segmentation fault, program runs normally - The backtrace is useless, although I had all debuginfo packages installed: Program received signal SIGSEGV, Segmentation fault. 0x00007fffecbe0e0d in ?? () (gdb) bt #0 0x00007fffecbe0e0d in ?? () #1 0x00007fffece8b5e8 in ?? () #2 0x0000000000000000 in ?? () - when pulseaudio is enabled or openal-info is called by "aoss openal-info" the crash doesn't occur. (Supertuxkart also works fine in these cases...) - By adding debug output to libopenal1, I could narrow down the crash to line 681 in openal-soft-1.15/Alc/backends/alsa.c, where snd_config_update_free_global() is called. If I remove this call to snd_config_update_free_global() the program works! Also, the crash doesn't occur on libopenal1 v1.14, which doesn't contain this call. It DOES occur however on a self compiled v1.15.1...(which also contains this call) - I asked on the openal-devel Mailinglist: http://opensource.creative.com/pipermail/openal-devel/2013-April/005968.html Since they suggested a possible alsalib bug, I recompiled and installed the 12.3's alsa source package, and the crash DID NOT occur. The crash seems to be related to Patch33: 0033-PCM-Fix-memory-leak-for-pcm-empty-and-asym-plugins.patch, when I build the alsa package without this patch the crash doesn't occur. - I'm not the only one having this crash, see https://forums.opensuse.org/english/get-technical-help-here/games/485596-sup... -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=814250 https://bugzilla.novell.com/show_bug.cgi?id=814250#c1 Takashi Iwai <tiwai@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |wbauer@tmo.at --- Comment #1 from Takashi Iwai <tiwai@suse.com> 2013-04-09 13:15:24 UTC --- Thanks for the report. Although the refcounting in snd_dlobj_*() looks OK, something is screwed up with the combination of openal. I applied the fix patch below. A fixed package is found in OBS home:tiwai:branches:openSUSE:12.3:Update/alsa repo. Could you check whether this works for you? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=814250 https://bugzilla.novell.com/show_bug.cgi?id=814250#c2 --- Comment #2 from Takashi Iwai <tiwai@suse.com> 2013-04-09 13:15:57 UTC --- Created an attachment (id=534216) --> (http://bugzilla.novell.com/attachment.cgi?id=534216) Fix patch -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=814250 https://bugzilla.novell.com/show_bug.cgi?id=814250#c3 --- Comment #3 from Bernhard Wiedemann <bwiedemann@suse.com> 2013-04-09 16:00:06 CEST --- This is an autogenerated message for OBS integration: This bug (814250) was mentioned in https://build.opensuse.org/request/show/163433 Factory / alsa -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=814250 https://bugzilla.novell.com/show_bug.cgi?id=814250#c4 Wolfgang Bauer <wbauer@tmo.at> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW InfoProvider|wbauer@tmo.at | --- Comment #4 from Wolfgang Bauer <wbauer@tmo.at> 2013-04-09 16:44:06 UTC --- The packages from your repo fixed the issue for me. openal-info and supertuxkart work fine now. Thanks a alot! -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=814250 https://bugzilla.novell.com/show_bug.cgi?id=814250#c5 --- Comment #5 from Takashi Iwai <tiwai@suse.com> 2013-04-09 16:56:30 UTC --- Thanks for a quick test. I submitted the update for openSUSE 12.3 via SRID 163462. The fix for FACTORY was already submitted. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=814250 https://bugzilla.novell.com/show_bug.cgi?id=814250#c6 --- Comment #6 from Bernhard Wiedemann <bwiedemann@suse.com> 2013-04-09 19:00:08 CEST --- This is an autogenerated message for OBS integration: This bug (814250) was mentioned in https://build.opensuse.org/request/show/163462 Maintenance / -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=814250 https://bugzilla.novell.com/show_bug.cgi?id=814250#c7 --- Comment #7 from Jay Cornwall <jay@jcornwall.me> 2013-04-13 23:20:43 UTC --- Created an attachment (id=535094) --> (http://bugzilla.novell.com/attachment.cgi?id=535094) Use dlopen/dlclose reference counting The root cause of this problem is the dlobj_cache structure in dlmisc.c. Each entry contains a reference to the dlopen() and dlsym() handles, but the dlopen() handles are shared by multiple entries without corresponding calls to dlopen(). When two cache entries which share a dlopen() value are cleaned up, dlclose() is incorrectly called twice. OpenAL loads libasound by dlopen(), which eventually (on the third dlclose) results in libasound being unloaded while its code is being executed. The attached patch delegates reference counting to dlopen/dlclose. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=814250 https://bugzilla.novell.com/show_bug.cgi?id=814250#c8 Takashi Iwai <tiwai@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #8 from Takashi Iwai <tiwai@suse.com> 2013-04-15 16:24:20 UTC --- Yes, that explains the real cause. I applied a similar fix with a bit clean up in the upstream git tree now. Meanwhile the band-aid patch was already applied for update and it works enough, so I leave it as is now. So, let's close this bug now. Thanks. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=814250 https://bugzilla.novell.com/show_bug.cgi?id=814250#c9 --- Comment #9 from Swamp Workflow Management <swamp@suse.de> 2013-04-17 15:05:46 UTC --- openSUSE-RU-2013:0694-1: An update that has one recommended fix can now be installed. Category: recommended (moderate) Bug References: 814250 CVE References: Sources used: openSUSE 12.3 (src): alsa-1.0.26-7.5.1 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=814250 https://bugzilla.novell.com/show_bug.cgi?id=814250#c10 --- Comment #10 from Bernhard Wiedemann <bwiedemann@suse.com> 2013-04-25 11:00:20 CEST --- This is an autogenerated message for OBS integration: This bug (814250) was mentioned in https://build.opensuse.org/request/show/173316 Factory / alsa -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com