Bug 61800 - PA incorrectly reports modules with unresolved symbols as missing
Summary: PA incorrectly reports modules with unresolved symbols as missing
Status: RESOLVED FIXED
Alias: None
Product: PulseAudio
Classification: Unclassified
Component: daemon (show other bugs)
Version: unspecified
Hardware: All All
: medium normal
Assignee: pulseaudio-bugs
QA Contact: pulseaudio-bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-04 15:58 UTC by Vadim Troshchinskiy
Modified: 2013-03-12 17:16 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Patch to call dlerror() in bind_now_open() for better reporting of module loading problems (486 bytes, text/plain)
2013-03-04 15:58 UTC, Vadim Troshchinskiy
Details

Description Vadim Troshchinskiy 2013-03-04 15:58:43 UTC
Created attachment 75901 [details]
Patch to call dlerror() in bind_now_open() for better reporting of module loading problems

If a module exists, but some of the symbols in it can't be resolved, the following happens:

E: [] module.c: Failed to open module "module-coreaudio-detect": file not found

Even though the file is clearly present in the modules directory. This is very confusing. 

This is because bind_now_open() in src/daemon/ltdl-bind-now.c assumes any problem with dlopen is due to a missing file.

The attached patch makes it call dlerror() to report something more useful.
Comment 1 Tanu Kaskinen 2013-03-05 00:42:03 UTC
Thanks for the patch!

(In reply to comment #0)
> This is because bind_now_open() in src/daemon/ltdl-bind-now.c assumes any
> problem with dlopen is due to a missing file.

There's no such assumption. bind_now_open() sets the error to LT_ERROR_CANNOT_OPEN, which should map to error message "can't open the module". Apparently libltdl resets the error to LT_ERROR_FILE_NOT_FOUND. Would you be willing to investigate why that happens? It may be a bug in libltdl or in the way that pulseaudio uses it.
Comment 2 Tanu Kaskinen 2013-03-11 18:26:34 UTC
Judging from the lack of response, I guess that you're not willing to do deeper investigation on this bug. I sent to the mailing list a patch that contains your change and also removes the message returned by lt_dlerror() in module.c: http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/16126


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.