{"record":{"id":"cf14835bb23c0af9","repo":"apple/pkl","slug":"e-getmessage-cf1483","errorCode":null,"errorMessage":"e.getMessage()","messagePattern":"e\\.getMessage\\(\\)","errorType":"exception","errorClass":"PklException","httpStatus":null,"severity":"error","filePath":"pkl-core/src/main/java/org/pkl/core/project/ProjectDependenciesResolver.java","lineNumber":126,"sourceCode":"        if (!expectedChecksums.getSha256().equals(computedChecksums.getSha256())) {\n          throw new PklException(\n              ErrorMessages.create(\n                  \"invalidDeclaredChecksum\",\n                  packageUri.getDisplayName(),\n                  computedChecksums.getSha256(),\n                  expectedChecksums.getSha256()));\n        }\n      }\n      var dependencyWithChecksum = new RemoteDependency(packageUri, computedChecksums);\n      updateDependency(dependencyWithChecksum);\n      EconomicSets.add(alreadyHandledDependencies, packageUri);\n      for (var transitiveDependency : metadata.getDependencies().values()) {\n        resolveDependenciesOfPackageUri(\n            transitiveDependency.getPackageUri().toProjectPackageUri(),\n            transitiveDependency.getChecksums());\n      }\n    } catch (IOException | SecurityManagerException | PackageLoadError e) {\n      throw new PklException(e.getMessage(), e);\n    }\n  }\n\n  private void resolveDependencies(DeclaredDependencies declaredDependencies) {\n    var packageUri = declaredDependencies.myPackageUri();\n    assert packageUri != null;\n    var projectDir = Path.of(declaredDependencies.projectFileUri()).getParent();\n    assert projectDir != null;\n    var relativePath = IoUtils.relativize(projectDir, this.project.getProjectDir());\n    var localDependency = new LocalDependency(packageUri.toProjectPackageUri(), relativePath);\n    updateDependency(localDependency);\n    buildResolvedDependencies(declaredDependencies);\n  }\n\n  private void updateDependency(Dependency dependency) {\n    var canonicalPackageUri = CanonicalPackageUri.fromPackageUri(dependency.getPackageUri());\n    var currentDependency = resolvedDependencies.get(canonicalPackageUri);\n    //noinspection ConstantValue","sourceCodeStart":108,"sourceCodeEnd":144,"githubUrl":"https://github.com/apple/pkl/blob/f3efcbfc9b60d30053b0536d664948d7aa1b8673/pkl-core/src/main/java/org/pkl/core/project/ProjectDependenciesResolver.java#L108-L144","documentation":"IOException, SecurityManagerException, or PackageLoadError thrown while resolving a package's transitive dependencies is rewrapped as a bare PklException whose message is only e.getMessage(). It is a generic wrapper signaling that fetching/parsing dependency metadata for a package failed.","triggerScenarios":"resolveDependenciesOfPackageUri failing during getDependencyMetadataAndComputeChecksum (network/IO problems, security-manager denial, or package load errors) while walking metadata.getDependencies().","commonSituations":"Offline or proxy-blocked environments; package server returning errors; malformed package metadata on the server; security policies blocking the fetch.","solutions":["Read the wrapped cause (e.getCause()) for the real failure and fix that root problem","Check network connectivity / package-server availability and retry","Ensure the SecurityManager allows access to the package's host","Validate that the remote package's metadata is well formed (re-resolve to refresh)"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// check reachability of the package host before resolving\nnew URI(packageUri).toURL().openConnection().connect();","typeGuard":null,"tryCatchPattern":"try { resolver.resolveDependencies(...); } catch (PklException e) { Throwable root = e; while (root.getCause() != null) root = root.getCause(); log.error(\"dependency resolution failed: {}\", root.getMessage()); }","preventionTips":["Unwrap getCause() to diagnose the real failure","Ensure the security manager permits the package hosts","Handle offline environments with a pre-populated cache"],"tags":["dependency-resolution","io","wrapped-exception"],"backgroundTag":"network-request-failed","analyzedSha":"f3efcbfc9b60d30053b0536d664948d7aa1b8673","analyzedAt":"2026-09-08T13:10:45.570Z","contentChangedAt":"2026-09-08T13:10:45.570Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}