Skip to content

Don't be so silent about missing libraries #1036

Open
@nyh

Description

@nyh

Currently, when we try to load a library needed (in DT_NEEDED) by a shared object, and can't find it, we print the error with

    debug("could not load %s\n", lib);

This message is not visible unless the "--verbose" (run.py -V) option is used. In the past this used to be deliberate - a lot of shared objects had a bunch of silly requirements that weren't really needed, and these messages were distracting. But I'm starting to think that these messages are important. We often get an application crashing on "failed looking up symbol", and it turns out this is not a symbol that OSv should have contained, but rather something from a library we failed to load because it was missing on the image or something. See for example issue #601.

One trivial fix is to change debug() to debug_always(). Maybe the message should also include the wording "Warning" or something.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions