Re: Eglot tests fail on emba
Michael Albinus <[email protected]>
| Newsgroups | gmane.emacs.devel |
|---|---|
| Message-ID | <[email protected]> |
João Távora <[email protected]> writes: > Hi Michael, Hi João, > I'm sure it's related to the problem you saw, because if you bisect with > this other canary: > > make && make -C test eglot-tests SELECTOR='"rust"' > > it blames that very same commit 07925d7070 of yours and with what seems > to be 100% the same problem you get on EMBA. This test needs > rust-analyzer, presumably already installed on those machines. I ran the eglot tests in the emba containers for emacs-31 and master. As selector, I've taken eglot-test-rust-on-type-formatting. For the test runs, I've enabled file notification debug messages. The resulting eglot-tests.log files are filtered by occur with the regexp '^file-notify-\(add\|rm\|handle\)'. I append both filtered log files as occur.31 and occur.32. Both event queues look very similar. In occur.31, some stopped events aren't traced due to a bug I've fixed with my last filenotify.el patch. I have also replaced your callback lambda with '...'. What's surprising is, that Eglot opens always two file notification watches for the same target. Like --8<---------------cut here---------------start------------->8--- 8:file-notify-add-watch (1 . 0) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/" (change) ... 17:file-notify-add-watch (1 . 1) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/" (change) ... --8<---------------cut here---------------end--------------->8--- Is this intended? I believe there is a logic twist in the code, one watch shall be sufficient. Otherwise, everything looks very the same until the end. *But* in occur.32, the very last action is --8<---------------cut here---------------start------------->8--- 445:file-notify-handle-event (file-notify ((1 . 0) (create) ".#main.rs" 0) file-notify--callback-inotify) --8<---------------cut here---------------end--------------->8--- Neither 'main.rs' nor '.#main.rs' is mentioned in occur.31. Where does this come from? > João Best regards, Michael.
occur.31
(text/plain, 6.3 KB)
58 matches for "^file-notify-\(add\|rm\|handle\)" in buffer: eglot-tests.log</podman:emacs-eglot-31:>
8:file-notify-add-watch (1 . 0) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/" (change) ...
17:file-notify-add-watch (1 . 1) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/" (change) ...
31:file-notify-handle-event (file-notify ((1 . 0) (isdir create) "targetEfYWLI" 0) file-notify--callback-inotify)
41:file-notify-handle-event (file-notify ((1 . 1) (isdir create) "targetEfYWLI" 0) file-notify--callback-inotify)
49:file-notify-handle-event (file-notify ((1 . 0) (isdir moved-from) "targetEfYWLI" 1904645) file-notify--callback-inotify)
50:file-notify-handle-event (file-notify ((1 . 1) (isdir moved-from) "targetEfYWLI" 1904645) file-notify--callback-inotify)
51:file-notify-handle-event (file-notify ((1 . 0) (isdir moved-to) "target" 1904645) file-notify--callback-inotify)
61:file-notify-handle-event (file-notify ((1 . 1) (isdir moved-to) "target" 1904645) file-notify--callback-inotify)
69:file-notify-rm-watch (1 . 1)
70:file-notify-rm-watch (1 . 0)
71:file-notify-add-watch (1 . 0) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/" (change) ...
80:file-notify-add-watch (2 . 0) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/target/" (change) ...
89:file-notify-add-watch (3 . 0) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/target/debug/" (change) ...
98:file-notify-add-watch (4 . 0) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/target/debug/.fingerprint/on-type-formatting-project-5cf45481a1f3c2ca/" (change) ...
107:file-notify-add-watch (5 . 0) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/target/debug/.fingerprint/on-type-formatting-project-87f0b6ead918a2a7/" (change) ...
116:file-notify-add-watch (1 . 1) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/" (change) ...
123:file-notify-add-watch (2 . 1) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/target/" (change) ...
130:file-notify-add-watch (3 . 1) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/target/debug/" (change) ...
137:file-notify-add-watch (4 . 1) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/target/debug/.fingerprint/on-type-formatting-project-5cf45481a1f3c2ca/" (change) ...
144:file-notify-add-watch (5 . 1) "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project/target/debug/.fingerprint/on-type-formatting-project-87f0b6ead918a2a7/" (change) ...
151:file-notify-handle-event (file-notify ((1 . 1) stopped "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project") ...
158:file-notify-handle-event (file-notify ((1 . 0) stopped "/tmp/eglot--fixture-OWy2ZN/on-type-formatting-project") ...
173:file-notify-handle-event (file-notify ((2 . 0) (modify) ".rustc_info.json" 0) file-notify--callback-inotify)
183:file-notify-handle-event (file-notify ((2 . 1) (modify) ".rustc_info.json" 0) file-notify--callback-inotify)
191:file-notify-handle-event (file-notify ((2 . 0) (modify) ".rustc_info.json" 0) file-notify--callback-inotify)
201:file-notify-handle-event (file-notify ((2 . 1) (modify) ".rustc_info.json" 0) file-notify--callback-inotify)
209:file-notify-handle-event (file-notify ((5 . 0) (modify) "bin-on-type-formatting-project" 0) file-notify--callback-inotify)
219:file-notify-handle-event (file-notify ((5 . 1) (modify) "bin-on-type-formatting-project" 0) file-notify--callback-inotify)
227:file-notify-handle-event (file-notify ((4 . 0) (modify) "test-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
237:file-notify-handle-event (file-notify ((4 . 1) (modify) "test-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
245:file-notify-handle-event (file-notify ((5 . 0) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
255:file-notify-handle-event (file-notify ((5 . 1) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
263:file-notify-handle-event (file-notify ((4 . 0) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
273:file-notify-handle-event (file-notify ((4 . 1) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
281:file-notify-handle-event (file-notify ((5 . 0) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
291:file-notify-handle-event (file-notify ((5 . 1) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
299:file-notify-handle-event (file-notify ((4 . 0) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
309:file-notify-handle-event (file-notify ((4 . 1) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
317:file-notify-handle-event (file-notify ((4 . 0) (create) "output-test-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
327:file-notify-handle-event (file-notify ((4 . 1) (create) "output-test-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
335:file-notify-handle-event (file-notify ((4 . 0) (modify) "output-test-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
345:file-notify-handle-event (file-notify ((4 . 1) (modify) "output-test-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
353:file-notify-handle-event (file-notify ((5 . 0) (create) "output-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
363:file-notify-handle-event (file-notify ((5 . 1) (create) "output-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
371:file-notify-handle-event (file-notify ((5 . 0) (modify) "output-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
381:file-notify-handle-event (file-notify ((5 . 1) (modify) "output-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
389:file-notify-handle-event (file-notify ((2 . 0) (modify) ".rustc_info.json" 0) file-notify--callback-inotify)
399:file-notify-handle-event (file-notify ((2 . 1) (modify) ".rustc_info.json" 0) file-notify--callback-inotify)
412:file-notify-rm-watch (5 . 1)
413:file-notify-rm-watch (4 . 1)
414:file-notify-rm-watch (3 . 1)
415:file-notify-rm-watch (2 . 1)
416:file-notify-rm-watch (1 . 1)
417:file-notify-rm-watch (5 . 0)
418:file-notify-rm-watch (4 . 0)
419:file-notify-rm-watch (3 . 0)
420:file-notify-rm-watch (2 . 0)
421:file-notify-rm-watch (1 . 0)
occur.32
(text/plain, 6.7 KB)
57 matches for "^file-notify-\(add\|rm\|handle\)" in buffer: eglot-tests.log</podman:emacs-eglot-32:>
8:file-notify-add-watch (1 . 0) "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/" (change) ...
17:file-notify-add-watch (1 . 1) "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/" (change) ...
31:file-notify-handle-event (file-notify ((1 . 0) (isdir create) "targetGb2DLv" 0) file-notify--callback-inotify)
41:file-notify-handle-event (file-notify ((1 . 1) (isdir create) "targetGb2DLv" 0) file-notify--callback-inotify)
49:file-notify-handle-event (file-notify ((1 . 0) (isdir moved-from) "targetGb2DLv" 1904360) file-notify--callback-inotify)
50:file-notify-handle-event (file-notify ((1 . 1) (isdir moved-from) "targetGb2DLv" 1904360) file-notify--callback-inotify)
60:file-notify-handle-event (file-notify ((1 . 0) (isdir moved-to) "target" 1904360) file-notify--callback-inotify)
77:file-notify-handle-event (file-notify ((1 . 1) (isdir moved-to) "target" 1904360) file-notify--callback-inotify)
85:file-notify-rm-watch (1 . 1)
86:file-notify-handle-event (file-notify ((1 . 1) stopped "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project") file-notify-callback)
94:file-notify-rm-watch (1 . 1)
99:file-notify-rm-watch (1 . 0)
100:file-notify-handle-event (file-notify ((1 . 0) stopped "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project") file-notify-callback)
110:file-notify-rm-watch (1 . 0)
111:file-notify-add-watch (1 . 0) "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/" (change) ...
120:file-notify-add-watch (2 . 0) "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/target/" (change) ...
129:file-notify-add-watch (3 . 0) "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/target/debug/" (change) ...
138:file-notify-add-watch (4 . 0) "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/target/debug/.fingerprint/on-type-formatting-project-5cf45481a1f3c2ca/" (change) ...
147:file-notify-add-watch (5 . 0) "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/target/debug/.fingerprint/on-type-formatting-project-87f0b6ead918a2a7/" (change) ...
156:file-notify-add-watch (1 . 1) "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/" (change) ...
163:file-notify-add-watch (2 . 1) "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/target/" (change) ...
170:file-notify-add-watch (3 . 1) "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/target/debug/" (change) ...
177:file-notify-add-watch (4 . 1) "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/target/debug/.fingerprint/on-type-formatting-project-5cf45481a1f3c2ca/" (change) ...
184:file-notify-add-watch (5 . 1) "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/target/debug/.fingerprint/on-type-formatting-project-87f0b6ead918a2a7/" (change) ...
193:file-notify-handle-event (file-notify ((2 . 0) (modify) ".rustc_info.json" 0) file-notify--callback-inotify)
203:file-notify-handle-event (file-notify ((2 . 1) (modify) ".rustc_info.json" 0) file-notify--callback-inotify)
211:file-notify-handle-event (file-notify ((2 . 0) (modify) ".rustc_info.json" 0) file-notify--callback-inotify)
221:file-notify-handle-event (file-notify ((2 . 1) (modify) ".rustc_info.json" 0) file-notify--callback-inotify)
229:file-notify-handle-event (file-notify ((5 . 0) (modify) "bin-on-type-formatting-project" 0) file-notify--callback-inotify)
239:file-notify-handle-event (file-notify ((5 . 1) (modify) "bin-on-type-formatting-project" 0) file-notify--callback-inotify)
247:file-notify-handle-event (file-notify ((4 . 0) (modify) "test-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
257:file-notify-handle-event (file-notify ((4 . 1) (modify) "test-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
265:file-notify-handle-event (file-notify ((5 . 0) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
275:file-notify-handle-event (file-notify ((5 . 1) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
283:file-notify-handle-event (file-notify ((4 . 0) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
293:file-notify-handle-event (file-notify ((4 . 1) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
301:file-notify-handle-event (file-notify ((5 . 0) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
311:file-notify-handle-event (file-notify ((5 . 1) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
319:file-notify-handle-event (file-notify ((4 . 0) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
329:file-notify-handle-event (file-notify ((4 . 1) (modify) "invoked.timestamp" 0) file-notify--callback-inotify)
337:file-notify-handle-event (file-notify ((5 . 0) (create) "output-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
347:file-notify-handle-event (file-notify ((5 . 1) (create) "output-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
355:file-notify-handle-event (file-notify ((5 . 0) (modify) "output-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
370:file-notify-rm-watch (5 . 1)
371:file-notify-handle-event (file-notify ((5 . 1) (modify) "output-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
379:file-notify-handle-event (file-notify ((4 . 0) (create) "output-test-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
389:file-notify-handle-event (file-notify ((4 . 1) (create) "output-test-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
397:file-notify-handle-event (file-notify ((4 . 0) (modify) "output-test-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
407:file-notify-rm-watch (4 . 1)
408:file-notify-handle-event (file-notify ((4 . 1) (modify) "output-test-bin-on-type-formatting-project" 0) file-notify--callback-inotify)
416:file-notify-handle-event (file-notify ((5 . 1) stopped "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/target/debug/.fingerprint/on-type-formatting-project-87f0b6ead918a2a7") file-notify-callback)
417:file-notify-handle-event (file-notify ((4 . 1) stopped "/tmp/eglot--fixture-Flo6cy/on-type-formatting-project/target/debug/.fingerprint/on-type-formatting-project-5cf45481a1f3c2ca") file-notify-callback)
425:file-notify-rm-watch (4 . 1)
426:file-notify-handle-event (file-notify ((2 . 0) (modify) ".rustc_info.json" 0) file-notify--callback-inotify)
436:file-notify-handle-event (file-notify ((2 . 1) (modify) ".rustc_info.json" 0) file-notify--callback-inotify)
444:file-notify-rm-watch (3 . 1)
445:file-notify-handle-event (file-notify ((1 . 0) (create) ".#main.rs" 0) file-notify--callback-inotify)