-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed as not planned
Labels
Staleawaiting-responseThe CodeQL team is awaiting further input or clarification from the original reporter of this issue.The CodeQL team is awaiting further input or clarification from the original reporter of this issue.questionFurther information is requestedFurther information is requested
Description
Hi,
I'm using an external predicate to read in csv data and apply these to the overrided predicate step
in DataFlow::SharedFlowStep
. This is nice because it allows me to make changes to the entire Dataflow easily, which is what I want.
This works, but for certain queries I get this error:
Oops! A fatal internal error occurred. Details:
java.lang.IllegalStateException: Tried to record two values for the extensional patchInfo. Old value: {[0, 29, foo, example.js, 5, example.js, false]}. New value: {[0, 29, foo, example.js, 5, example.js, false]}
at com.semmle.api.backend.ExtensionalValuesBase.put(ExtensionalValuesBase.java:82)
at com.semmle.cli2.execute.ExecuteQueriesCommand.loadExtensionals(ExecuteQueriesCommand.java:395)
at com.semmle.cli2.execute.ExecuteQueriesCommand$ExecutionIterator.startImpl(ExecuteQueriesCommand.java:235)
at com.semmle.cli2.execute.ExecuteQueriesCommand$ExecutionIterator.start(ExecuteQueriesCommand.java:192)
at com.semmle.cli2.execute.ExecuteQueriesCommand$ExecutionIterator.lambda$next$0(ExecuteQueriesCommand.java:187)
at com.semmle.util.concurrent.FutureUtils.supplyCompose(FutureUtils.java:248)
at com.semmle.util.concurrent.Paralleliser.lambda$startMoreJobs$3(Paralleliser.java:109)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
I'm pretty positive this is occurring due to another file using DataFlow::SharedFlowStep::step
which hits the external predicate more than once and causes errors.
I'm not sure if there is a way around this by perhaps:
- only loading the external predicate once
- forcing my class that overrides
DataFlow::SharedFlowStep::step
to run last
or some other fix.
Thanks!
Metadata
Metadata
Assignees
Labels
Staleawaiting-responseThe CodeQL team is awaiting further input or clarification from the original reporter of this issue.The CodeQL team is awaiting further input or clarification from the original reporter of this issue.questionFurther information is requestedFurther information is requested