-
-
Notifications
You must be signed in to change notification settings - Fork 388
Flaky test failure result in error of GetLinkable
#4093
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
GetLinkable
GetLinkable
Although I have seen the error in the github action.
Is there something wrong with my runs🤔. |
Sure, I'm using Linux, Fedora 36, x86_64 arch. |
GetLinkable
GetLinkable
@wz1000 as I said it's still reproducible with master, but it requires couple dozen test iteration to trigger the failure. # recommended to build test binary separately and then run it in a loop (to avoid running cabal test in a loop)
cabal build hls-eval-plugin-tests
find dist-newstyle -name hls-eval-plugin-tests -type f
# ./dist-newstyle/build/x86_64-linux/ghc-9.4.8/haskell-language-server-2.7.0.0/t/hls-eval-plugin-tests/build/hls-eval-plugin-tests/hls-eval-plugin-tests
# Run tests in a loop
for i in {1..100}; do LSP_TEST_LOG_MESSAGES=1 LSP_TEST_LOG_STDERR=1 ./dist-newstyle/build/x86_64-linux/ghc-9.4.8/haskell-language-server-2.7.0.0/t/hls-eval-plugin-tests/build/hls-eval-plugin-tests/hls-eval-plugin-tests -p'/:i behaves exactly the same as :info/' || { echo "Command failed at iteration $i"; break; }; done Eventually (for me it failed after 29/71 iterations with 9.4.8/9.8.2) it fails, and the logs contain:
|
…nd rule values [flaky test #4185 #4093] (#4190) The main problem is the out of sync state in the build system. Several states involved, the shake database running result state for key. shake extra's dirty state for key and shake extra's rule values state. To stablize the build system. This PR force some of the updates of these state into a single STM block. 1. collect dirtykeys and ship it to session restart directly. No more invalid removal before session restart. Fixing Flaky test failure result in error of GetLinkable #4093 2. move the dirtykey removal and rules values updating to hls-graph by adding a call back fucntion to RunResult. Properly handle the dirtykeys and rule value state after session start and closely followed by another session restart Fixing ghcide-tests' addDependentFile test #4194 3. properly handle clean up by wrapping the asyncWithCleanUp to refreshDeps --------- Co-authored-by: wz1000 <zubin.duggal@gmail.com> Co-authored-by: Jan Hrcek <2716069+jhrcek@users.noreply.github.com> Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
fixed by #4190 |
update
=>IsEvaluating is running and already get the files for evaluations,
=>enqeueue file for evaluation
=>setSomethingModified dirty the IsEvaluating key in shakeExtre
=>IsEvaluating is finished, diry key removed from shakeExtra
=>session restarting and flushing the dirty keys of shakeExtra to hls-graph database
=>IsEvaluating is not updating since hls-graph database do not know it is dirty.
=======================
This is the issue discovered by @jhrcek
we can run the test
This merge from @wz1000 alleviate the situation #4076
but
@wz1000 point out it may orgins from #3423, we trying to fix #3423 in pr #4087
but @jhrcek reported the error of
GetLinkable
still exist in the test.The text was updated successfully, but these errors were encountered: