average-sugar-68948
05/10/2023, 7:56 PMIntrinsicError: The dependency graph contained a cycle:
@rule(pants.core.util_rules.source_files.determine_source_files()) <-
@rule(pants.engine.internals.graph.hydrate_sources(third_party/glog:glog))
@rule(pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox())
@rule(pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target())
@rule(pants.core.util_rules.source_files.determine_source_files()) <-
As you can guess, we've thrown together C++ support with experiemental_shell_command rules. These aren't true dependency cycles, they only show up sometimes, more often for some than others. We suspect that the file-change detector gets a little confused. We have to get around them by using --no-local-cache, which is becoming less feasible as our repo grows. Any ideas?witty-crayon-22786
05/10/2023, 8:43 PMaverage-sugar-68948
05/11/2023, 11:59 AMwitty-crayon-22786
05/11/2023, 4:30 PM--no-local-cache
is not actually what is solving the issue most likely: rather, restarting pantsd
, which holds the graph in memory. changing a bootstrap option like that will recreate the scheduler. so faster next time would likely be to remove the .pids
directory or pkill pantsd
witty-crayon-22786
05/11/2023, 4:31 PMaverage-sugar-68948
05/11/2023, 5:22 PMwitty-crayon-22786
05/11/2023, 5:28 PMaverage-sugar-68948
05/11/2023, 7:44 PMaverage-sugar-68948
05/11/2023, 7:44 PMwitty-crayon-22786
05/11/2023, 7:46 PMaverage-sugar-68948
05/12/2023, 11:30 AM