pants: "Permission denied" while creating sandbox with immutable inputs

Seen in CI in the lint job:

Engine traceback:
323
  in select
324
  in pants.core.goals.check.check
325
  in pants.backend.scala.goals.check.scalac_check
326
  in pants.engine.internals.graph.coarsened_targets
327
  in pants.engine.internals.graph.transitive_dependency_mapping
328
  in pants.engine.internals.graph.resolve_unexpanded_targets (testprojects/src/jvm/org/pantsbuild/example/app/ExampleApp.scala)
329
  in pants.engine.internals.graph.resolve_dependencies (testprojects/src/jvm/org/pantsbuild/example/app/ExampleApp.scala)
330
  in pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis (testprojects/src/jvm/org/pantsbuild/example/app/ExampleApp.scala)
331
  in pants.jvm.dependency_inference.symbol_mapper.merge_first_party_module_mappings
332
  in pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols
333
  in pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis
334
  in pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies
335
  in pants.jvm.jdk_rules.setup_jdk
336
  in process
337
Traceback (no traceback):
338
  <pants native internals>
339
Exception: Error opening file /tmp/.tmpKR6VWC/b1e85defcb8b440ef412d75b327d3c03dfa1731616bbf7ca5e39ffd45cea246c/coursier_wrapper_script.sh for writing: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 15 (15 by maintainers)

Commits related to this issue

Most upvoted comments

Oh! Thanks @jyggen for that hint about remote caching! Notably Pants and Toolchain both use remote caching. Pantsbuild/pants sees this error quite frequently

also seeing this w/ the golang backend enabled:

Exception: Failed to move materialized immutable input for Digest { hash: Fingerprint<e5fc47311eda4f076c7c18ce6a37060fd910a04fb738d51a45721454aa1fb824>, size_bytes: 95 } from "/tmp/immutable_inputsBQ4ON3/.tmpnnf9kd" to "/tmp/immutable_inputsBQ4ON3/e5fc47311eda4f076c7c18ce6a37060fd910a04fb738d51a45721454aa1fb824": File exists (os error 17)
Parent directory (un-writeable parent dir?) metadata: Ok(Ok(Metadata { file_type: FileType(FileType { mode: 16877 }), is_dir: true, is_file: false, permissions: Permissions(FilePermissions { mode: 16877 }), modified: Ok(SystemTime { tv_sec: 1644936029, tv_nsec: 472285822 }), accessed: Ok(SystemTime { tv_sec: 1644936018, tv_nsec: 404264582 }), created: Ok(SystemTime { tv_sec: 1644936018, tv_nsec: 404264582 }), .. }))
Destination directory (collision?) metadata: Ok(Metadata { file_type: FileType(FileType { mode: 16749 }), is_dir: true, is_file: false, permissions: Permissions(FilePermissions { mode: 16749 }), modified: Ok(SystemTime { tv_sec: 1644936029, tv_nsec: 144285192 }), accessed: Ok(SystemTime { tv_sec: 1644936029, tv_nsec: 136285177 }), created: Ok(SystemTime { tv_sec: 1644936029, tv_nsec: 136285177 }), .. })
Current immutable check outs (~dup fingerprints / differing sizes?): {Digest { hash: Fingerprint<e5fc47311eda4f076c

This is most likely related to #13848: it’s possible that we have overlapping immutable input digests somewhere.