Skip to content

PNPM: ort analyse exists with ERROR when PNPM-reference does not refer to a package. #11382

@thomasscheer

Description

@thomasscheer

Describe the bug

ort analyse completly fails running docker: ort analyse with PNPM resolution fails, if a PNPM-reference does not refer to a package.

Steps to reproduce the behavior:

  1. pnpm install with internal PNPM-references
  2. pnpm list
  3. pnpm info
  4. See error

Expected behavior

PNPM resolution finished with no failure for references, that do not actually refer to packages:
Possible exit-values from PNPM should be catched from ORT.
Otherwise ort analyse does not even reports an analyse-file.

Console / log output

[DefaultDispatcher-worker-2] INFO org.ossreviewtoolkit.analyzer.PackageManager - PNPM resolved dependencies for path 'js/package.json' in 10m 4.272495485s.

Exception in thread "main" java.lang.IllegalArgumentException: The following references do not actually refer to packages: 'NPM:@backbone:platform-ontology:', 'NPM:@root:bb-ontology:', 'NPM:@root:alg-ontology:', 'NPM:@backbone:geni-ontology:', 'NPM:@backbone:ia-ontology:', 'NPM:@backbone:mm-ontology:', 'NPM:@backbone:spijk-ontology:', 'NPM:@root:time-ontology:', 'NPM:@backbone:proactivity-ontology:', 'NPM:@backbone:driveui-ontology:'.

at org.ossreviewtoolkit.model.utils.DependencyGraphBuilder.checkReferences(DependencyGraphBuilder.kt:207)
at org.ossreviewtoolkit.model.utils.DependencyGraphBuilder.build(DependencyGraphBuilder.kt:177)
at org.ossreviewtoolkit.model.utils.DependencyGraphBuilder.build$default(DependencyGraphBuilder.kt:176)
at org.ossreviewtoolkit.plugins.packagemanagers.node.NodePackageManager.createPackageManagerResult(NodePackageManager.kt:121)
at org.ossreviewtoolkit.analyzer.PackageManager.resolveDependencies(PackageManager.kt:363)
at org.ossreviewtoolkit.analyzer.PackageManagerRunner$run$3.invokeSuspend(Analyzer.kt:354)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)

After the error message, ort analyse FAILS without an analyse-file.

Environment

  • ORT version: 77.0.0
  • Java version: 17
  • OS: Docker + Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    analyzerAbout the analyzer toolneeds infoAn issue where further information is required

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions