Downgrade CI fails with "persistent task" Aqua error

The CellListMap.jl package Downgrade CI is failing with the error below. Can some provide any clue on how to find what is going wrong?

I’m not sure what the persistent_task erorr is exactly, and less why it could appear because of downgrading a package.

      Info Packages marked with ⌃ have new versions available and may be upgradable.
┌ Error: Unexpected error: /tmp/jl_j6dUDUncHc/done.log was not created, but precompilation exited
└ @ Aqua ~/.julia/packages/Aqua/rTj6Y/src/persistent_tasks.jl:159
  Activating project at `/tmp/jl_pZqc6X`
Persistent tasks: Test Failed at /home/runner/.julia/packages/Aqua/rTj6Y/src/persistent_tasks.jl:80
  Expression: !(has_persistent_tasks(package; kwargs...))

 [1] macro expansion
   @ /opt/hostedtoolcache/julia/1.10.2/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:672 [inlined]
 [2] test_persistent_tasks(package::Base.PkgId; broken::Bool, kwargs::@Kwargs{})
   @ Aqua ~/.julia/packages/Aqua/rTj6Y/src/persistent_tasks.jl:80
 [3] test_persistent_tasks
   @ ~/.julia/packages/Aqua/rTj6Y/src/persistent_tasks.jl:76 [inlined]
 [4] #test_persistent_tasks#61
   @ ~/.julia/packages/Aqua/rTj6Y/src/persistent_tasks.jl:85 [inlined]
 [5] test_persistent_tasks
   @ ~/.julia/packages/Aqua/rTj6Y/src/persistent_tasks.jl:84 [inlined]
 [6] macro expansion
   @ ~/.julia/packages/Aqua/rTj6Y/src/Aqua.jl:101 [inlined]
 [7] macro expansion
   @ /opt/hostedtoolcache/julia/1.10.2/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined]
 [8] test_all(testtarget::Module; ambiguities::Bool, unbound_args::Bool, undefined_exports::Bool, project_extras::Bool, stale_deps::Bool, deps_compat::Bool, piracies::Bool, persistent_tasks::Bool)
   @ Aqua ~/.julia/packages/Aqua/rTj6Y/src/Aqua.jl:100

What is the lowest version of Aqua you allow? If you remove Aqua are your tests fine?

Yes, it is an Aqua error only, and I’m bounding it to 0.8.0.

Here is a branch in which I removed the Aqua test, if someone is curious: comment Aqua test · m3g/CellListMap.jl@8c70f4b · GitHub.

The persistent task creates a new package TmpPkg with your CellListMap as a dependency and then tries to precompile TmpPkg. If this takes significant time, with a high probability there is some task created in CellListMap’s init function that does not terminate on exit of the precompilation. For more details, I would refer you to the Aqua docs at Persistent Tasks · Aqua.jl.

There have been some significant changes on this test in the 0.8.x release cycle as there were some flaws in it on 0.8.0.
I would recommend if bounding it to at least 0.8.5 (release from last week) fixes your problem or if it is due to downgrading some other dependency.
In general, I would say that downgrading test-only dependencies like Aqua is not that useful. At least for Aqua, there are usually multiple patch releases with some fixes and/or minor enhancements per minor release cycle.

1 Like

Upgrading the minimum Aqua to 0.8.5 solved the issue.

I’ll see how to add it to a list of non-Downgradable packages.