| The functional test org.xwiki.blocknote.test.ui.AllIT$NestedLinkIT#editPageLink fails intermittently on ci.xwiki.org. Affected tests
- org.xwiki.blocknote.test.ui.AllIT$NestedLinkIT#editPageLink
Branches: master, stable-18.8.x, stable-18.7.x. Frequency Develocity, 28 days to 2026-09-19: 13 failures in 240 executions (5.4%), in 5 of 15 configurations. The failure was already happening at the start of that window, so it may predate it.
| configuration (branch / browser / db / servlet) |
runs |
fails |
fail % |
first fail |
last fail |
| master / chrome / mysql latest / tomcat 11-jdk25 |
26 |
5 |
19.2% |
2026-08-29 |
2026-09-19 |
| master / chrome / postgresql latest / tomcat 11-jdk25 |
26 |
3 |
11.5% |
2026-09-05 |
2026-09-18 |
| master / firefox / mariadb latest / jetty 12-jdk25 |
25 |
2 |
8.0% |
2026-09-06 |
2026-09-09 |
| stable-18.7.x / chrome / postgresql latest / tomcat 11-jdk25 |
6 |
2 |
33.3% |
2026-08-27 |
2026-09-14 |
| stable-18.8.x / chrome / mysql latest / tomcat 11-jdk25 |
5 |
1 |
20.0% |
2026-09-16 |
2026-09-16 |
The failures group into 4 distinct signatures. The two largest are below. F1 - StaleElementReferenceException (7 of 13 failures, Chrome only, p=0.0002)
F4 - NoSuchElementException (most recent failure, 2026-09-19)
Analysis Both signatures fail on the same line, LinkIT.editPageLink:382, i.e. the setPageTargetAndSubmit() call, and both point at BlockNoteLinkModal: the link modal appears to re-render after a page suggestion is selected, so the page object's element handle goes stale (F1) or the submit button is not yet in the DOM when it is looked up (F4). That suggests a missing wait in the page object rather than a product defect. The fix should stay inside the page object - not an assertion, an expected value or a timeout change. Verifying a fix At the failure rate seen in the affected configurations, about 19 consecutive clean runs are needed before the failure can be called gone; the 2 clean runs since the last failure are worth p=0.73, i.e. no evidence either way. xwiki/scripts/xwiki-it-repeat.mjs on chrome / mysql latest / tomcat 11-jdk25 is the configuration to reproduce on. References
Filed automatically by the daily CI check. |