Skip to content

pants export triggers a "Permission denied (os error 313) in .cache after building PEX #21778

Open
@kdowney-talos

Description

@kdowney-talos

When I run pants export on the platform below, I get a permission denied error in .cache after the PEX has been built.

(.venv) serenitydev@c774de47c447:/workspaces/pms/tools/deribit_scraper$ pants export
Bootstrapping Pants 2.25.0.dev2
Installing pantsbuild.pants==2.25.0.dev2 into a virtual environment at /home/serenitydev/.cache/nce/9de06a50ca43f773ddf5463ea534b781a193096c5d9c3cf4fa9687d592fb0986/bindings/venvs/2.25.0.dev2
New virtual environment successfully created at /home/serenitydev/.cache/nce/9de06a50ca43f773ddf5463ea534b781a193096c5d9c3cf4fa9687d592fb0986/bindings/venvs/2.25.0.dev2
14:49:15.73 [INFO] Initializing scheduler...
14:49:15.76 [INFO] Initializing Nailgun pool for 16 processes...
14:49:17.91 [INFO] Scheduler initialized.
14:49:20.03 [INFO] Completed: Get interpreter version
14:49:51.29 [INFO] Completed: Build pex for resolve `serenity-deps`
14:49:51.81 [ERROR] 1 Exception encountered:

Engine traceback:
  in `export` goal

IntrinsicError: Error setting permissions on /home/serenitydev/.cache/pants/lmdb_store/immutable/files/76/768fc87de7430916cbfae1e505db54b34a721bc43ba7ec17fa9a425c446f937c: Permission denied (os error 13)

Additional information:

This is just speculation, but it seems like one thing package, export-codegen and export all have in common is that they write to both the workspace and the cache which sits outside the workspace. Since all three appear to be creating race conditions on write in .cache may need to be locked to ensure those operations don't step on each other.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions