Skip to content

Intermittent bot failures due EM_CACHE_IS_LOCKED building ports with libsdl2-ttf #27160

Description

@sbc100

These failures seem to occur when building libsdl2-ttf, and have been seen on both mac and windows builders:

For example:

https://ci.chromium.org/ui/p/emscripten-releases/builders/try/win/b8678860304918941313/overview

The common pattern seems to be the occurrence of cache:INFO: deleting cached file: ... libSDL2.a in the log file, which logically should never happen during test_other.py.

The cause looks to me some kind of race condition that occurs when multiple tests all try to build libSDL2. In this case it seems like we end up calling Post.clear_project_build .. which causes the library built by another process to be deleted.

Our locking mechanism for the cache is not designed to be robust gainst library being deleted by an out side process, and this can break the assertion in the ports build that all deps have been built before we build a given port.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions