dependency-check-gradle icon indicating copy to clipboard operation
dependency-check-gradle copied to clipboard

dependencyCheckAnalyze fails in Gradle on JDK 11

Open spanierm42 opened this issue 4 years ago • 15 comments

First of all: Thanks for the awesome project!

We use the dependency check for all our projects and new ones are developed using JDK 11 instead of JDK 1.8. We face issues when running the dependencyCheckAnalyze task in Gradle when we run it using a JDK 11 (Amazon Corretto 11.0.4) while the scanning the same repository works with JDK 8 (Amazon Corretto 8.0.222).

Any ideas why this happens? The error message does not help a lot:

> Task :dependencyCheckAnalyze FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':dependencyCheckAnalyze'.
> Analysis failed.

Running the task with the --debug option yields the following:

18:14:04.389 [DEBUG] [org.owasp.dependencycheck.data.nvdcve.ConnectionFactory] 
org.h2.jdbc.JdbcSQLException: Table "PROPERTIES" not found; SQL statement:
SELECT value FROM properties WHERE id = 'version' [42102-196]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
	at org.h2.message.DbException.get(DbException.java:179)
	at org.h2.message.DbException.get(DbException.java:155)
	at org.h2.command.Parser.readTableOrView(Parser.java:5552)
	at org.h2.command.Parser.readTableFilter(Parser.java:1266)
	at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1946)
	at org.h2.command.Parser.parseSelectSimple(Parser.java:2095)
	at org.h2.command.Parser.parseSelectSub(Parser.java:1940)
	at org.h2.command.Parser.parseSelectUnion(Parser.java:1755)
	at org.h2.command.Parser.parseSelect(Parser.java:1743)
	at org.h2.command.Parser.parsePrepared(Parser.java:449)
	at org.h2.command.Parser.parse(Parser.java:321)
	at org.h2.command.Parser.parse(Parser.java:293)
	at org.h2.command.Parser.prepareCommand(Parser.java:258)
	at org.h2.engine.Session.prepareLocal(Session.java:578)
	at org.h2.engine.Session.prepareCommand(Session.java:519)
	at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1204)
	at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:73)
	at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:288)
	at org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.ensureSchemaVersion(ConnectionFactory.java:409)
	at org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.initialize(ConnectionFactory.java:190)
	at org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.getConnection(ConnectionFactory.java:231)
	at org.owasp.dependencycheck.data.nvdcve.CveDB.open(CveDB.java:387)
	at org.owasp.dependencycheck.data.nvdcve.CveDB.<init>(CveDB.java:357)
	at org.owasp.dependencycheck.Engine.openDatabase(Engine.java:1019)
	at org.owasp.dependencycheck.Engine.doUpdates(Engine.java:911)
	at org.owasp.dependencycheck.Engine.initializeAndUpdateDatabase(Engine.java:723)
	at org.owasp.dependencycheck.Engine.analyzeDependencies(Engine.java:653)
	at org.owasp.dependencycheck.Engine$analyzeDependencies$0.call(Unknown Source)
	at org.owasp.dependencycheck.gradle.tasks.AbstractAnalyze.analyze(AbstractAnalyze.groovy:89)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:103)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:48)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:41)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
	at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:702)
	at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:669)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$5.run(ExecuteActionsTaskExecuter.java:401)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:390)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:373)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$200(ExecuteActionsTaskExecuter.java:79)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:210)
	at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$1(ExecuteStep.java:33)
	at java.base/java.util.Optional.orElseGet(Optional.java:369)
	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:33)
	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
	at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:58)
	at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:35)
	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48)
	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:33)
	at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:39)
	at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
	at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
	at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:35)
	at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
	at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:45)
	at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:31)
	at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:201)
	at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:70)
	at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:45)
	at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
	at org.gradle.internal.execution.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:43)
	at org.gradle.internal.execution.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:32)
	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:96)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:89)
	at java.base/java.util.Optional.map(Optional.java:265)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:54)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38)
	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:77)
	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:90)
	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:48)
	at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:117)
	at org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionStateTaskExecuter.execute(ResolveBeforeExecutionStateTaskExecuter.java:75)
	at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:62)
	at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:108)
	at org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionOutputsTaskExecuter.execute(ResolveBeforeExecutionOutputsTaskExecuter.java:67)
	at org.gradle.api.internal.tasks.execution.ResolveAfterPreviousExecutionStateTaskExecuter.execute(ResolveAfterPreviousExecutionStateTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:94)
	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:73)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:49)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:49)
	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:43)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.base/java.lang.Thread.run(Thread.java:834)
18:14:04.390 [DEBUG] [org.owasp.dependencycheck.data.nvdcve.ConnectionFactory] 
org.owasp.dependencycheck.data.nvdcve.DatabaseException: Unable to check the database schema version
	at org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.ensureSchemaVersion(ConnectionFactory.java:434)
	at org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.initialize(ConnectionFactory.java:190)
	at org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.getConnection(ConnectionFactory.java:231)
	at org.owasp.dependencycheck.data.nvdcve.CveDB.open(CveDB.java:387)
	at org.owasp.dependencycheck.data.nvdcve.CveDB.<init>(CveDB.java:357)
	at org.owasp.dependencycheck.Engine.openDatabase(Engine.java:1019)
	at org.owasp.dependencycheck.Engine.doUpdates(Engine.java:911)
	at org.owasp.dependencycheck.Engine.initializeAndUpdateDatabase(Engine.java:723)
	at org.owasp.dependencycheck.Engine.analyzeDependencies(Engine.java:653)
	at org.owasp.dependencycheck.Engine$analyzeDependencies$0.call(Unknown Source)
	at org.owasp.dependencycheck.gradle.tasks.AbstractAnalyze.analyze(AbstractAnalyze.groovy:89)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:103)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:48)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:41)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
	at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:702)
	at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:669)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$5.run(ExecuteActionsTaskExecuter.java:401)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:390)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:373)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$200(ExecuteActionsTaskExecuter.java:79)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:210)
	at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$1(ExecuteStep.java:33)
	at java.base/java.util.Optional.orElseGet(Optional.java:369)
	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:33)
	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
	at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:58)
	at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:35)
	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48)
	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:33)
	at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:39)
	at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
	at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
	at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:35)
	at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
	at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:45)
	at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:31)
	at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:201)
	at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:70)
	at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:45)
	at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
	at org.gradle.internal.execution.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:43)
	at org.gradle.internal.execution.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:32)
	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:96)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:89)
	at java.base/java.util.Optional.map(Optional.java:265)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:54)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38)
	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:77)
	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:90)
	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:48)
	at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:117)
	at org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionStateTaskExecuter.execute(ResolveBeforeExecutionStateTaskExecuter.java:75)
	at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:62)
	at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:108)
	at org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionOutputsTaskExecuter.execute(ResolveBeforeExecutionOutputsTaskExecuter.java:67)
	at org.gradle.api.internal.tasks.execution.ResolveAfterPreviousExecutionStateTaskExecuter.execute(ResolveAfterPreviousExecutionStateTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:94)
	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:73)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:49)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:49)
	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:43)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.h2.jdbc.JdbcSQLException: Table "PROPERTIES" not found; SQL statement:
SELECT value FROM properties WHERE id = 'version' [42102-196]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
	at org.h2.message.DbException.get(DbException.java:179)
	at org.h2.message.DbException.get(DbException.java:155)
	at org.h2.command.Parser.readTableOrView(Parser.java:5552)
	at org.h2.command.Parser.readTableFilter(Parser.java:1266)
	at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1946)
	at org.h2.command.Parser.parseSelectSimple(Parser.java:2095)
	at org.h2.command.Parser.parseSelectSub(Parser.java:1940)
	at org.h2.command.Parser.parseSelectUnion(Parser.java:1755)
	at org.h2.command.Parser.parseSelect(Parser.java:1743)
	at org.h2.command.Parser.parsePrepared(Parser.java:449)
	at org.h2.command.Parser.parse(Parser.java:321)
	at org.h2.command.Parser.parse(Parser.java:293)
	at org.h2.command.Parser.prepareCommand(Parser.java:258)
	at org.h2.engine.Session.prepareLocal(Session.java:578)
	at org.h2.engine.Session.prepareCommand(Session.java:519)
	at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1204)
	at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:73)
	at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:288)
	at org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.ensureSchemaVersion(ConnectionFactory.java:409)
	... 106 more

(I skipped a lot of debug messages!)

Any ideas what we can do here? Deleting the database files does not solve the issue. Thanks.

spanierm42 avatar Aug 28 '19 16:08 spanierm42

My best guess is that there is something earlier in the debug log that may indicate what is going on. The docker container for ODC is currently using Java 11 (see the Dockerfile).

Any chance you could post the full debug log as a gist?

jeremylong avatar Sep 22 '19 10:09 jeremylong

I just created a test repository spanierm/dependency-check-gradle-issue-145. It is similar to our project setup (Spring Boot and Kotlin). In the README.md, you find the commands I used to create the debug outputs.

As a summary, the dependency check fails with an exit code 1 both for Amazon Corretto 11.0.4 and Azul Zulu 11.0.4 JDKs it works (exit code 0) for Corretto 8.0.222 JDK.

Sorry that I did not find time to check the referenced Dockerfile. I hope to find some time to check that soon.

spanierm42 avatar Oct 02 '19 09:10 spanierm42

We're having what seems to be the same issue. Update (and consequently Analyze) does not work with an empty database.

It works with my existing DB I created in early August (with 5.2.1) but not with fresh install (e.g. in our CI pipeline).

The --debug output before the stack trace (same as above):

14:23:34.210 [DEBUG] [org.owasp.dependencycheck.utils.Settings] Settings.getDataFile() - file: '/Users/jkro/.gradle/dependency-check-data/4.0'
14:23:34.210 [DEBUG] [org.owasp.dependencycheck.utils.Settings] Data directory: /Users/mwaf/.gradle/dependency-check-data/4.0
14:23:34.211 [DEBUG] [org.owasp.dependencycheck.utils.Settings] Connection String: 'jdbc:h2:file:/Users/mwaf/.gradle/dependency-check-data/4.0/odc;AUTOCOMMIT=ON;LOG=0;CACHE_SIZE=65536;'
14:23:34.211 [DEBUG] [org.owasp.dependencycheck.Engine] locking for update
14:23:34.211 [DEBUG] [org.owasp.dependencycheck.utils.Settings] Settings.getDataFile() - file: '/Users/mwaf/.gradle/dependency-check-data/4.0'
14:23:34.242 [DEBUG] [org.owasp.dependencycheck.utils.H2DBLock] Lock file created (Execution worker for ':') 4c260bda4854b8e6e6d357ecdf450725 @ 2019-10-21 14:23:34.243
14:23:34.243 [DEBUG] [org.owasp.dependencycheck.data.nvdcve.ConnectionFactory] Loading driver 'org.h2.Driver'
14:23:34.243 [DEBUG] [org.owasp.dependencycheck.utils.Settings] Settings.getDataFile() - file: '/Users/mwaf/.gradle/dependency-check-data/4.0'
14:23:34.243 [DEBUG] [org.owasp.dependencycheck.utils.Settings] Data directory: /Users/mwaf/.gradle/dependency-check-data/4.0
14:23:34.243 [DEBUG] [org.owasp.dependencycheck.utils.Settings] Connection String: 'jdbc:h2:file:/Users/mwaf/.gradle/dependency-check-data/4.0/odc;AUTOCOMMIT=ON;LOG=0;CACHE_SIZE=65536;'
14:23:34.244 [DEBUG] [org.owasp.dependencycheck.data.nvdcve.ConnectionFactory] Loading database connection
14:23:34.244 [DEBUG] [org.owasp.dependencycheck.data.nvdcve.ConnectionFactory] Connection String: jdbc:h2:file:/Users/mwaf/.gradle/dependency-check-data/4.0/odc;AUTOCOMMIT=ON;LOG=0;CACHE_SIZE=65536;
14:23:34.244 [DEBUG] [org.owasp.dependencycheck.data.nvdcve.ConnectionFactory] Database User: dcuser
14:23:34.263 [DEBUG] [org.owasp.dependencycheck.data.nvdcve.ConnectionFactory]
org.h2.jdbc.JdbcSQLException: Table "PROPERTIES" not found; SQL statement:
SELECT value FROM properties WHERE id = 'version' [42102-196]
<snip>

We're using

  • AdoptOpenJDK 11.0.4
  • Gradle with plugins { id 'org.owasp.dependencycheck' version '5.2.2' }.

~~Edit: As a clarification, the issues indeed does not arise with 5.2.1 and after having created the DB it can be used with 5.2.2 as well~~  Edit: actually I'm not able to create a consistent DB from scratch after all, I'll report back if and when I'm able to do so.

mwaf avatar Oct 21 '19 11:10 mwaf

Turns out, the issue was autoUpdate, not the version. We had this additional configuration.

dependencyCheck {
  autoUpdate = false
  ...
}

If we set autoUpdate = true and have an empty ~/.gradle/dependency-check-data directory - it works. If we set autoUpdate = false and have an empty directory, neither dependencyCheckUpdate nor dependencyCheckAnalyze works. (Different stack traces, Update produces the one mention in the above comments.)

And again, if the DB has been create with autoUpdate on, it will work with autoUpdate off as well.

mwaf avatar Oct 21 '19 12:10 mwaf

There is a reported bug about the dependencyCheckUpdate with autoUpdate=false - this is an incompatible configuration/task combination.

If you have an empty database directory and execute with autoUpdate=false ODC will not be able to execute as it does not have the NVD data necessary to execute.

jeremylong avatar Oct 22 '19 12:10 jeremylong

@spanierm as a test could you try Zulu 13?

jeremylong avatar Oct 22 '19 12:10 jeremylong

@jeremylong It still fails :cry:, see the output at https://github.com/spanierm/dependency-check-gradle-issue-145/blob/master/zulu-13-debug.gist.

spanierm42 avatar Oct 22 '19 18:10 spanierm42

Good day.

Any news about this issue?

We launch Dependency Check into docker container. When we migrate from gradle:jdk8 into gradle:jdk11, we faced the same problem. Despite specifying the data directories as plugin parameters (this directory is mounted in the docker container and already contains the database):

dependencyCheck {
    format='ALL'    
    data {
        directory='dependency-check-data'
    }
}

Command for launch dependency check analyze:

docker run --rm -u gradle -v "$PWD":/home/gradle/project -v "/var/lib/.gradle/dependency-check-data:/home/gradle/project/dependency-check-data:rw" -w /home/gradle/project gradle:jdk11 gradle dependencyCheckAnalyze --debug

When we run gradle dependencyCheckAnalyze command, the gradle daemon starts and uses it as a data directory

.gradle/daemon/6.7.1/dependency-check-data/

EugRomanchenko avatar Nov 27 '20 09:11 EugRomanchenko

@EugRomanchenko try:

dependencyCheck {
    format='ALL'    
    data {
        directory='/home/gradle/project/dependency-check-data'
    }
}

jeremylong avatar Nov 27 '20 11:11 jeremylong

@spanierm Your last gist shows a success full creation of the database - yet you said it still fails?

20:06:05.408 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClient] Received result Success

The update of dependency-check looked successful in the log as well.

jeremylong avatar Nov 27 '20 11:11 jeremylong

@jeremylong thanks. It's work. Is it possible to pass the path to the data directory to the plugin as a command line parameter? Not in build.gradle properties.

EugRomanchenko avatar Nov 27 '20 11:11 EugRomanchenko

I believe -Ddata.directory=/home/gradle/project/dependency-check-data would work.

jeremylong avatar Nov 27 '20 11:11 jeremylong

@spanierm The initial problem is most likely due to the fact that the interaction mechanism or the format of the internal database changed in Java 11. And in the directory you already had an old database, which was created by Java 8.

EugRomanchenko avatar Nov 27 '20 11:11 EugRomanchenko

No, that is not the cause of the issue. The error also occurs after deleting all data, i.e. without any state/previous run.

spanierm42 avatar Jan 02 '21 12:01 spanierm42

I believe -Ddata.directory=/home/gradle/project/dependency-check-data would work.

Can I also set the format as a CLI argument?

AlbanBarbosa1982 avatar Feb 22 '22 18:02 AlbanBarbosa1982

Others that have reported this issue have confirmed running ./gradlew dependencyCheckPurge resolves the issue.

jeremylong avatar Nov 04 '22 09:11 jeremylong

@jeremylong Apologies for commenting in this issue but I didn't think a new issue would be beneficial

We are currently experiencing this issue on every build for Pull Requests in or CI/CD (Jenkins) pipeline. Doing a purge for each and every build requires way to much changes and would be very unnecessary in my opinion.

We did try rerunning the builds with a custom steps to do a dependencyCheckPurge and then do a normal build again and that definitely works but doing this for every branch and new pull request is not ideal.

These specific builds run on `Adoptium 17' (temurin)

Running the purge for each build seems like a workaround instead of a solution? Is there any permanent way to fix this?

Shuyinsama avatar Nov 23 '22 08:11 Shuyinsama