DependencyCheck icon indicating copy to clipboard operation
DependencyCheck copied to clipboard

NPE in h2 update on OpenJ9 JVM

Open pe4enko opened this issue 3 years ago • 5 comments

./gradlew dependencyCheckAnalyze

Task :dependencyCheckAnalyze Verifying dependencies for project core Checking for updates and analyzing dependencies for vulnerabilities An unexpected SQL Exception occurred; please see the verbose log for more details. Unexpected SQL Exception org.owasp.dependencycheck.data.update.exception.UpdateException: Unexpected SQL Exception at org.owasp.dependencycheck.data.update.NvdCveUpdater.performUpdate(NvdCveUpdater.java:333) at org.owasp.dependencycheck.data.update.NvdCveUpdater.update(NvdCveUpdater.java:136) at org.owasp.dependencycheck.Engine.doUpdates(Engine.java:882) at org.owasp.dependencycheck.Engine.initializeAndUpdateDatabase(Engine.java:687) at org.owasp.dependencycheck.Engine.analyzeDependencies(Engine.java:611) at org.owasp.dependencycheck.Engine$analyzeDependencies$0.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:130) at org.owasp.dependencycheck.gradle.tasks.AbstractAnalyze.analyze(AbstractAnalyze.groovy:90) at [email protected]/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at [email protected]/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at [email protected]/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at [email protected]/java.lang.reflect.Method.invoke(Method.java:566) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.run(ExecuteActionsTaskExecuter.java:502) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:74) at org.gradle.internal.operations.DefaultBuildOperationExecutor$$Lambda$141/0x0000000000000000.accept(Unknown Source) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:74) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:487) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:470) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:106) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:271) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:249) at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:89) at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:40) at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:53) at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79) at org.gradle.internal.operations.DefaultBuildOperationExecutor$$Lambda$83/0x0000000000000000.apply(Unknown Source) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79) at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:50) at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:40) at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68) at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38) at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:50) at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36) at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41) at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74) at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55) at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51) at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29) at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:58) at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:39) at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:60) at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:27) at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:180) at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:75) at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:46) at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:40) at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:29) at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36) at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22) at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:105) at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:98) at org.gradle.internal.execution.steps.SkipUpToDateStep$$Lambda$874/0x0000000000000000.apply(Unknown Source) at [email protected]/java.util.Optional.map(Optional.java:265) at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:53) at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:37) at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:85) at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:42) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27) at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:92) at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:50) at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:114) at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:57) at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:73) at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:47) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:92) at org.gradle.internal.execution.steps.SkipEmptyWorkStep$$Lambda$845/0x0000000000000000.get(Unknown Source) at [email protected]/java.util.Optional.orElseGet(Optional.java:369) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:92) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:33) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38) at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:43) at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:31) at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40) at org.gradle.internal.execution.steps.AssignWorkspaceStep$$Lambda$841/0x0000000000000000.executeInWorkspace(Unknown Source) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution$2.withWorkspace(ExecuteActionsTaskExecuter.java:284) at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40) at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33) at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:185) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:174) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51) 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:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79) at org.gradle.internal.operations.DefaultBuildOperationExecutor$$Lambda$83/0x0000000000000000.apply(Unknown Source) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:74) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:402) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:389) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:382) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:368) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$$Lambda$769/0x0000000000000000.execute(Unknown Source) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:61) at [email protected]/java.lang.Thread.run(Thread.java:836) Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "java.util.concurrent.ExecutionException: org.h2.mvstore.MVStoreException: java.lang.NullPointerException [2.1.214/3] [2.1.214/3]" General error: "java.util.concurrent.ExecutionException: org.h2.mvstore.MVStoreException: java.lang.NullPointerException [2.1.214/3] [2.1.214/3]"; SQL statement: UPDATE cpeEntry e SET e.ecosystem=(SELECT cpeEcosystemCache.ecosystem FROM cpeEcosystemCache WHERE cpeEcosystemCache.vendor=e.vendor AND cpeEcosystemCache.product=e.product AND e.ecosystem IS NULL AND cpeEcosystemCache.ecosystem<>'MULTIPLE') WHERE e.ecosystem IS NULL [50000-214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:554) at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) at org.h2.message.DbException.get(DbException.java:212) at org.h2.mvstore.db.Store.convertMVStoreException(Store.java:173) at org.h2.mvstore.db.MVTable.convertException(MVTable.java:687) at org.h2.mvstore.db.MVPrimaryIndex.remove(MVPrimaryIndex.java:155) at org.h2.mvstore.db.MVTable.removeRow(MVTable.java:485) at org.h2.table.Table.updateRows(Table.java:546) at org.h2.command.dml.Update.doUpdate(Update.java:109) at org.h2.command.dml.Update.update(Update.java:93) at org.h2.command.dml.DataChangeStatement.update(DataChangeStatement.java:74) at org.h2.command.CommandContainer.update(CommandContainer.java:169) at org.h2.command.Command.executeUpdate(Command.java:252) at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:209) at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:169) at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136) at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136) at org.owasp.dependencycheck.data.nvdcve.CveDB.cleanupDatabase(CveDB.java:1265) at org.owasp.dependencycheck.data.update.NvdCveUpdater.performUpdate(NvdCveUpdater.java:331) ... 144 more Caused by: org.h2.mvstore.MVStoreException: java.util.concurrent.ExecutionException: org.h2.mvstore.MVStoreException: java.lang.NullPointerException [2.1.214/3] [2.1.214/3] at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) at org.h2.mvstore.MVStore.storeNow(MVStore.java:1529) at org.h2.mvstore.MVStore.store(MVStore.java:1496) at org.h2.mvstore.MVStore.tryCommit(MVStore.java:1432) at org.h2.mvstore.MVStore.beforeWrite(MVStore.java:2892) at org.h2.mvstore.MVMap.beforeWrite(MVMap.java:969) at org.h2.mvstore.MVMap.operate(MVMap.java:1757) at org.h2.mvstore.tx.TransactionMap.set(TransactionMap.java:346) at org.h2.mvstore.tx.TransactionMap.set(TransactionMap.java:333) at org.h2.mvstore.tx.TransactionMap.remove(TransactionMap.java:248) at org.h2.mvstore.db.MVPrimaryIndex.remove(MVPrimaryIndex.java:148) ... 157 more Caused by: java.util.concurrent.ExecutionException: org.h2.mvstore.MVStoreException: java.lang.NullPointerException [2.1.214/3] at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.h2.mvstore.MVStore.submitOrRun(MVStore.java:1541) at org.h2.mvstore.MVStore.storeNow(MVStore.java:1517) ... 166 more Caused by: org.h2.mvstore.MVStoreException: java.lang.NullPointerException [2.1.214/3] at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) at org.h2.mvstore.MVStore.serializeAndStore(MVStore.java:1605) at org.h2.mvstore.MVStore.lambda$storeNow$4(MVStore.java:1518) at org.h2.mvstore.MVStore$$Lambda$2536/0x00000000e45084b0.run(Unknown Source) at [email protected]/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at [email protected]/java.util.concurrent.FutureTask.run(FutureTask.java:264) at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ... 1 more Caused by: java.lang.NullPointerException at org.h2.mvstore.WriteBuffer.ensureCapacity(WriteBuffer.java:301) at org.h2.mvstore.WriteBuffer.putStringData(WriteBuffer.java:75) at org.h2.mvstore.db.ValueDataType.writeString(ValueDataType.java:567) at org.h2.mvstore.db.ValueDataType.write(ValueDataType.java:421) at org.h2.mvstore.db.RowDataType.write(RowDataType.java:175) at org.h2.mvstore.db.RowDataType.write(RowDataType.java:29) at org.h2.mvstore.tx.VersionedValueType.write(VersionedValueType.java:116) at org.h2.mvstore.tx.VersionedValueType.write(VersionedValueType.java:100) at org.h2.mvstore.Page$Leaf.writeValues(Page.java:1609) at org.h2.mvstore.Page.write(Page.java:721) at org.h2.mvstore.Page$Leaf.writeUnsavedRecursive(Page.java:1618) at org.h2.mvstore.Page$NonLeaf.writeChildrenRecursive(Page.java:1344) at org.h2.mvstore.Page$NonLeaf.writeUnsavedRecursive(Page.java:1330) at org.h2.mvstore.Page$NonLeaf.writeChildrenRecursive(Page.java:1344) at org.h2.mvstore.Page$NonLeaf.writeUnsavedRecursive(Page.java:1330) at org.h2.mvstore.Page$NonLeaf.writeChildrenRecursive(Page.java:1344) at org.h2.mvstore.Page$NonLeaf.writeUnsavedRecursive(Page.java:1330) at org.h2.mvstore.MVStore.serializeToBuffer(MVStore.java:1669) at org.h2.mvstore.MVStore.serializeAndStore(MVStore.java:1598) ... 7 more Unable to save property 'VersionCheckOn' with a value of '1662021669' to the database Unable to update 1 or more Cached Web DataSource, using local data instead. Results may not include recent vulnerabilities. Unable to continue dependency-check analysis.

pe4enko avatar Sep 01 '22 08:09 pe4enko

Which version of DependencyCheck gradle plugin do you use?

aikebah avatar Sep 03 '22 13:09 aikebah

Looking at the sources of h2 database it looks as if you made the impossible possible: made java.nio.ByteBuffer#allocate return a null-value as that would be the only way I can see line 301 of org.h2.mvstore.WriteBuffer.ensureCapacity run into a NPE.

What JVM do you run on?

aikebah avatar Sep 03 '22 13:09 aikebah

DependencyCheck version 7.1.2

./gradlew --version


Gradle 7.2

Build time: 2021-08-17 09:59:03 UTC Revision: a773786b58bb28710e3dc96c4d1a7063628952ad

Kotlin: 1.5.21 Groovy: 3.0.8 Ant: Apache Ant(TM) version 1.10.9 compiled on September 27 2020 JVM: 11.0.11 (Eclipse OpenJ9 openj9-0.26.0) OS: Linux 5.15.0-46-generic amd64

pe4enko avatar Sep 03 '22 21:09 pe4enko

Don't have access to an openJ9 JVM where I could try and achieve the same outcome, but if this is reproducable for you you might want to open a ticket on OpenJ9 because as far as I can see the only way for H2 to run into a NPE at the given line is when the allocate method of java.nio.ByteBuffer would return null instead of a ByteBuffer object.

aikebah avatar Sep 14 '22 14:09 aikebah

I think problem not in java. Problem in concurrency. And yes now it is not reproduce now.

pe4enko avatar Sep 14 '22 14:09 pe4enko

I am having the same problem using dependencyCheckVersion = '7.4.0'.

The command ./gradlew dependencyCheckAnalyze --info --stacktrace fails with the following error:

Caused by: org.owasp.dependencycheck.exception.ExceptionCollection: One or more exceptions occurred during analysis:
        DatabaseException: Unable to connect to the database - if this error persists it may be due to a corrupt database. Consider running `purge` to delete the existing database
                caused by DatabaseException: Unable to connect to the database
                caused by JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: java.lang.NullPointerException [2.1.214/3]" [50000-214]
                caused by MVStoreException: java.lang.NullPointerException [2.1.214/3]
                caused by NullPointerException: null

Purging did not solve the issue:

$ ./gradlew dependencyCheckPurge

BUILD SUCCESSFUL in 684ms
1 actionable task: 1 executed
$ ./gradlew --version

------------------------------------------------------------
Gradle 7.5.1
------------------------------------------------------------

Build time:   2022-08-05 21:17:56 UTC
Revision:     d1daa0cbf1a0103000b71484e1dbfe096e095918

Kotlin:       1.6.21
Groovy:       3.0.10
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          11.0.16.1 (Eclipse OpenJ9 openj9-0.33.1)
OS:           Linux 5.15.74.2-microsoft-standard-WSL2 amd64

$ java --version
openjdk 11.0.16.1 2022-08-12
IBM Semeru Runtime Open Edition 11.0.16.1 (build 11.0.16.1+1)
Eclipse OpenJ9 VM 11.0.16.1 (build openj9-0.33.1, JRE 11 Linux amd64-64-Bit Compressed References 20220818_500 (JIT enabled, AOT enabled)
OpenJ9   - 1d9d16830
OMR      - b58aa2708
JCL      - 84b84a0409 based on jdk-11.0.16.1+1)

Does anyone know how to fix this issue?

Full stack trace
$ ./gradlew dependencyCheckAnalyze --info --stacktrace
Initialized native services in: /home/marco/.gradle/native
Initialized jansi services in: /home/marco/.gradle/native
Found daemon DaemonInfo{pid=2430, address=[05535c0f-359c-4482-a542-6fc8e169789d port:44989, addresses:[/127.0.0.1]], state=Idle, lastBusy=1670428052998, context=DefaultDaemonContext[uid=7f58923a-fc07-4876-b1cb-f1345b75e7fb,javaHome=/home/marco/.sdkman/candidates/java/17.0.4.1-sem,daemonRegistryDir=/home/marco/.gradle/daemon,pid=2430,idleTimeout=10800000,priority=NORMAL,daemonOpts=--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.base/java.lang=ALL-UNNAMED,--add-opens,java.base/java.lang.invoke=ALL-UNNAMED,--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,--add-opens,java.base/java.nio.charset=ALL-UNNAMED,--add-opens,java.base/java.net=ALL-UNNAMED,--add-opens,java.base/java.util.concurrent.atomic=ALL-UNNAMED,-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country,-Duser.language=en,-Duser.variant]} however its context does not match the desired criteria.
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=/home/marco/.sdkman/candidates/java/11.0.16.1-sem,daemonRegistryDir=/home/marco/.gradle/daemon,pid=8326,idleTimeout=null,priority=NORMAL,daemonOpts=--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.base/java.lang=ALL-UNNAMED,--add-opens,java.base/java.lang.invoke=ALL-UNNAMED,--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,--add-opens,java.base/java.nio.charset=ALL-UNNAMED,--add-opens,java.base/java.net=ALL-UNNAMED,--add-opens,java.base/java.util.concurrent.atomic=ALL-UNNAMED,-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
Actual: DefaultDaemonContext[uid=7f58923a-fc07-4876-b1cb-f1345b75e7fb,javaHome=/home/marco/.sdkman/candidates/java/17.0.4.1-sem,daemonRegistryDir=/home/marco/.gradle/daemon,pid=2430,idleTimeout=10800000,priority=NORMAL,daemonOpts=--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.base/java.lang=ALL-UNNAMED,--add-opens,java.base/java.lang.invoke=ALL-UNNAMED,--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,--add-opens,java.base/java.nio.charset=ALL-UNNAMED,--add-opens,java.base/java.net=ALL-UNNAMED,--add-opens,java.base/java.util.concurrent.atomic=ALL-UNNAMED,-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country,-Duser.language=en,-Duser.variant]

  Looking for a different daemon...
The client will now receive all logging from the daemon (pid: 3420). The daemon log file: /home/marco/.gradle/daemon/7.5.1/daemon-3420.out.log
Starting 17th build in daemon [uptime: 39 mins 42.223 secs, performance: 98%]
Using 16 worker leases.
Now considering [/home/marco/src/fleet] as hierarchies to watch
Watching the file system is configured to be enabled if available
File system watching is active
Starting Build
Settings evaluated using settings file '/home/marco/src/fleet/settings.gradle'.
Projects loaded. Root project using build file '/home/marco/src/fleet/build.gradle'.
Included projects: [root project 'fleet']

> Configure project :
Evaluating root project 'fleet' using build file '/home/marco/src/fleet/build.gradle'.
Applying dependency management to configuration 'annotationProcessor' in project 'fleet'
Applying dependency management to configuration 'apiElements' in project 'fleet'
Applying dependency management to configuration 'archives' in project 'fleet'
Applying dependency management to configuration 'bootArchives' in project 'fleet'
Applying dependency management to configuration 'compileClasspath' in project 'fleet'
Applying dependency management to configuration 'compileOnly' in project 'fleet'
Applying dependency management to configuration 'default' in project 'fleet'
Applying dependency management to configuration 'developmentOnly' in project 'fleet'
Applying dependency management to configuration 'implementation' in project 'fleet'
Applying dependency management to configuration 'mainSourceElements' in project 'fleet'
Applying dependency management to configuration 'productionRuntimeClasspath' in project 'fleet'
Applying dependency management to configuration 'runtimeClasspath' in project 'fleet'
Applying dependency management to configuration 'runtimeElements' in project 'fleet'
Applying dependency management to configuration 'runtimeOnly' in project 'fleet'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'fleet'
Applying dependency management to configuration 'testCompileClasspath' in project 'fleet'
Applying dependency management to configuration 'testCompileOnly' in project 'fleet'
Applying dependency management to configuration 'testImplementation' in project 'fleet'
Applying dependency management to configuration 'testResultsElementsForTest' in project 'fleet'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'fleet'
Applying dependency management to configuration 'testRuntimeOnly' in project 'fleet'
Applying dependency management to configuration 'lombok' in project 'fleet'
Applying dependency management to configuration 'e2etestImplementation' in project 'fleet'
Applying dependency management to configuration 'e2etestRuntimeOnly' in project 'fleet'
Applying dependency management to configuration 'e2eTestImplementation' in project 'fleet'
Applying dependency management to configuration 'e2eTestCompileOnly' in project 'fleet'
Applying dependency management to configuration 'e2eTestCompileClasspath' in project 'fleet'
Applying dependency management to configuration 'e2eTestAnnotationProcessor' in project 'fleet'
Applying dependency management to configuration 'e2eTestRuntimeOnly' in project 'fleet'
Applying dependency management to configuration 'e2eTestRuntimeClasspath' in project 'fleet'
All projects evaluated.
Task name matched 'dependencyCheckAnalyze'
Selected primary task 'dependencyCheckAnalyze' from project :
Tasks to be executed: [task ':dependencyCheckAnalyze']
Tasks that were excluded: []
Resolve mutations for :dependencyCheckAnalyze (Thread[Execution worker,5,main]) started.
Resolve mutations for :dependencyCheckAnalyze (Thread[Execution worker,5,main]) completed. Took 0.0 secs.
:dependencyCheckAnalyze (Thread[Execution worker Thread 3,5,main]) started.

> Task :dependencyCheckAnalyze FAILED
Caching disabled for task ':dependencyCheckAnalyze' because:
  Build cache is disabled
Task ':dependencyCheckAnalyze' is not up-to-date because:
  Task has not declared any outputs despite executing actions.
thread_pool.default PoolConfiguration = useBoundary = [false] boundarySize = [2000] maximumPoolSize = [150] minimumPoolSize = [4] keepAliveTime = [300000] whenBlockedPolicy = [RUN] startUpSize = [4]
Setting default auxiliaries to ODC
setting defaultCompositeCacheAttributes to [ useLateral = true, useRemote = true, useDisk = true, maxObjs = 0, maxSpoolPerRun = -1, diskUsagePattern = UPDATE, spoolChunkSize = 2 ]
setting defaultElementAttributes to [ IS_LATERAL = false, IS_SPOOL = true, IS_REMOTE = false, IS_ETERNAL = false, MaxLifeSeconds = 86400, IdleTime = 1800, CreateTime = 1670430488358, LastAccessTime = 1670430488358, getTimeToLiveSeconds() = 86400, createTime = 1670430488358 ]
initialized MemoryCache for CENTRAL
Constructed cache with name [CENTRAL] and cache attributes [ useLateral = true, useRemote = true, useDisk = true, maxObjs = 0, maxSpoolPerRun = -1, diskUsagePattern = UPDATE, spoolChunkSize = 2 ]
initialized MemoryCache for POM
Constructed cache with name [POM] and cache attributes [ useLateral = true, useRemote = true, useDisk = true, maxObjs = 0, maxSpoolPerRun = -1, diskUsagePattern = UPDATE, spoolChunkSize = 2 ]
initialized MemoryCache for NODEAUDIT
Constructed cache with name [NODEAUDIT] and cache attributes [ useLateral = true, useRemote = true, useDisk = true, maxObjs = 0, maxSpoolPerRun = -1, diskUsagePattern = UPDATE, spoolChunkSize = 2 ]
Parsed regions [CENTRAL, POM, NODEAUDIT]
Finished configuration in 1 ms.
Verifying dependencies for project fleet
'annotationProcessor --> lombok' is considered a test configuration: false
'apiElements' is considered a test configuration: false
'bootArchives' is considered a test configuration: false
'compileClasspath --> compileOnly --> lombok --> implementation' is considered a test configuration: false
'developmentOnly' is considered a test configuration: false
'e2eTestAnnotationProcessor --> lombok' is considered a test configuration: false
'e2eTestCompileClasspath --> e2eTestCompileOnly --> lombok --> e2eTestImplementation' is considered a test configuration: false
'e2eTestCompileOnly --> lombok' is considered a test configuration: false
'e2eTestImplementation' is considered a test configuration: false
'e2eTestRuntimeClasspath --> e2eTestRuntimeOnly --> e2eTestImplementation' is considered a test configuration: false
'e2eTestRuntimeOnly' is considered a test configuration: false
'e2etestImplementation --> testImplementation --> implementation' is considered a test configuration: true
'e2etestRuntimeOnly --> testRuntimeOnly --> runtimeOnly' is considered a test configuration: false
'implementation' is considered a test configuration: false
'lombok' is considered a test configuration: false
'mainSourceElements --> implementation' is considered a test configuration: false
'productionRuntimeClasspath --> runtimeOnly --> implementation' is considered a test configuration: false
'runtimeClasspath --> runtimeOnly --> implementation --> developmentOnly' is considered a test configuration: false
'runtimeElements --> implementation --> runtimeOnly' is considered a test configuration: false
'runtimeOnly' is considered a test configuration: false
'testAnnotationProcessor --> lombok' is considered a test configuration: true
'testCompileClasspath --> testCompileOnly --> lombok --> testImplementation --> implementation' is considered a test configuration: true
'testCompileOnly --> lombok' is considered a test configuration: true
'testImplementation --> implementation' is considered a test configuration: true
'testResultsElementsForTest --> testImplementation --> implementation --> testRuntimeOnly --> runtimeOnly' is considered a test configuration: true
'testRuntimeClasspath --> testRuntimeOnly --> runtimeOnly --> testImplementation --> implementation' is considered a test configuration: true
'testRuntimeOnly --> runtimeOnly' is considered a test configuration: true
- Analyzing fleet:annotationProcessor
Resolving global dependency management for project 'fleet'
Excluding []
- Analyzing fleet:compileClasspath
Excluding []
- Analyzing fleet:developmentOnly
Excluding []
- Analyzing fleet:e2eTestAnnotationProcessor
Excluding []
- Analyzing fleet:e2eTestCompileClasspath
Excluding []
- Analyzing fleet:e2eTestRuntimeClasspath
Excluding []
- Analyzing fleet:e2etestRuntimeOnly
Excluding []
- Analyzing fleet:lombok
Excluding []
- Analyzing fleet:productionRuntimeClasspath
Excluding []
- Analyzing fleet:runtimeClasspath
Excluding []
Checking for updates and analyzing dependencies for vulnerabilities
Element event queue destroyed: org.apache.commons.jcs.engine.control.event.ElementEventQueue@ec59fdde
In DISPOSE, [NODEAUDIT] fromRemote [false]
In DISPOSE, [NODEAUDIT] SKIPPING auxiliary [NODEAUDIT] fromRemote [false]
In DISPOSE, [NODEAUDIT] disposing of memory cache.
Memory Cache dispose called.
In DISPOSE, [CENTRAL] fromRemote [false]
In DISPOSE, [CENTRAL] SKIPPING auxiliary [CENTRAL] fromRemote [false]
In DISPOSE, [CENTRAL] disposing of memory cache.
Memory Cache dispose called.
In DISPOSE, [POM] fromRemote [false]
In DISPOSE, [POM] SKIPPING auxiliary [POM] fromRemote [false]
In DISPOSE, [POM] disposing of memory cache.
Memory Cache dispose called.
:dependencyCheckAnalyze (Thread[Execution worker Thread 3,5,main]) completed. Took 0.373 secs.

FAILURE: Build failed with an exception.

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

* Try:
> Run with --debug option to get more log output.
> Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':dependencyCheckAnalyze'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:142)
        at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:140)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
        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:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:327)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:314)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:307)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:293)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:420)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:342)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
Caused by: org.gradle.api.GradleException: Analysis failed.
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at org.owasp.dependencycheck.gradle.tasks.AbstractAnalyze.analyze(AbstractAnalyze.groovy:94)
        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 org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
        at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:236)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:221)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:204)
        at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:187)
        at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:165)
        at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:89)
        at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:40)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:53)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:50)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:40)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38)
        at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
        at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
        at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.executeDelegateBroadcastingChanges(CaptureStateAfterExecutionStep.java:124)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:80)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:58)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36)
        at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:181)
        at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:71)
        at org.gradle.internal.Either$Right.fold(Either.java:175)
        at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:69)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:47)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:36)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:25)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:110)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:56)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:56)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:73)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:89)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:50)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:114)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:57)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:76)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:50)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:254)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:91)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:56)
        at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32)
        at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
        at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:43)
        at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:31)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40)
        at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:281)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33)
        at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:139)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
        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:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:327)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:314)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:307)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:293)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:420)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:342)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
Caused by: org.owasp.dependencycheck.exception.ExceptionCollection: One or more exceptions occurred during analysis:
        DatabaseException: Unable to connect to the database - if this error persists it may be due to a corrupt database. Consider running `purge` to delete the existing database
                caused by DatabaseException: Unable to connect to the database
                caused by JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: java.lang.NullPointerException [2.1.214/3]" [50000-214]
                caused by MVStoreException: java.lang.NullPointerException [2.1.214/3]
                caused by NullPointerException: null
        at org.owasp.dependencycheck.Engine.throwFatalDatabaseException(Engine.java:746)
        at org.owasp.dependencycheck.Engine.initializeAndUpdateDatabase(Engine.java:712)
        at org.owasp.dependencycheck.Engine.analyzeDependencies(Engine.java:631)
        at org.owasp.dependencycheck.Engine$analyzeDependencies$0.call(Unknown Source)
        at org.owasp.dependencycheck.gradle.tasks.AbstractAnalyze.analyze(AbstractAnalyze.groovy:90)
        ... 116 more

lackovic avatar Dec 07 '22 16:12 lackovic

@lackovic while it's only a work-around for the root-cause it is a symptom that up-to-now has only been mentioned by people running the OpenJ9 VM... so one way out would be to switch to any of the hotspot OpenJDK binaries.

aikebah avatar Dec 07 '22 16:12 aikebah

As said before

Caused by: java.lang.NullPointerException
at org.h2.mvstore.WriteBuffer.ensureCapacity(WriteBuffer.java:301)

https://github.com/h2database/h2database/blob/1ba3590b5d29581a14b018b966e5da0a8ff2994c/h2/src/main/org/h2/mvstore/WriteBuffer.java#L301

Which would mean that buff is null, which according to my read of the H2 sources can only happen if ByteBuffer.allocate were to return null (or the JVM somehow would internally nullify the variable reference while still in use). Which is why I mentioned previously that this appears to be an obscure bug somehow in OpenJ9 JVM.

aikebah avatar Dec 07 '22 17:12 aikebah