Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-18541

InplaceTranslateIT#translateInplace is flickering

    XMLWordPrintable

Details

    • Unknown
    • org.xwiki.edit.test.ui.AllIT$NestedInplaceTranslateIT#translateInplace{TestUtils, TestReference}

    Description

      InplaceTranslateIT.translateInplace is flickering with the following stacktrace:

      org.openqa.selenium.TimeoutException: 
      Expected condition failed: waiting for org.xwiki.test.ui.XWikiWebDriver$$Lambda$959/1715354589@b590744 (tried for 10 second(s) with 500 milliseconds interval)
      Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
      System info: host: '01ece0dabd06', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.9.185-xxxx-std-ipv6-64', java.version: '1.8.0_282'
      Driver info: org.xwiki.test.ui.XWikiWebDriver
      Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 83.0.4103.61, chrome: {chromedriverVersion: 83.0.4103.39 (ccbf011cb2d2b..., userDataDir: /tmp/.com.google.Chrome.7iWnIa}, goog:chromeOptions: {debuggerAddress: localhost:33493}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: ignore, webauthn:virtualAuthenticators: true, webdriver.remote.sessionid: 3b8e9753d734177476828ea5027...}
      Session ID: 3b8e9753d734177476828ea50277df7a
      	at org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:95)
      	at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:272)
      	at org.xwiki.test.ui.XWikiWebDriver.waitUntilCondition(XWikiWebDriver.java:228)
      	at org.xwiki.test.ui.XWikiWebDriver.waitUntilElementsAreVisible(XWikiWebDriver.java:330)
      	at org.xwiki.test.ui.XWikiWebDriver.waitUntilElementsAreVisible(XWikiWebDriver.java:317)
      	at org.xwiki.edit.test.po.InplaceEditablePage.waitForInplaceEditor(InplaceEditablePage.java:89)
      	at org.xwiki.edit.test.po.InplaceEditablePage.editInplace(InplaceEditablePage.java:52)
      	at org.xwiki.edit.test.ui.InplaceTranslateIT.translateInplace(InplaceTranslateIT.java:150)
      

      Apparently it happened with different configurations on docker, such as MySQL 8, Tomcat 9, Chrome. According to the screenshot the bug sounds related to a bad lock handling, we can also see the following truncated stack in logs:

      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:40)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:281)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at com.xpn.xwiki.internal.store.hibernate.HibernateStore.endTransaction(HibernateStore.java:846)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernateBaseStore.java:603)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at com.xpn.xwiki.store.XWikiHibernateStore.saveLock(XWikiHibernateStore.java:1973)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	... 48 common frames omitted
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [com.xpn.xwiki.doc.XWikiLock#3410984134522531708]
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:2604)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3448)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3311)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3725)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:201)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.engine.spi.ActionQueue.lambda$executeActions$1(ActionQueue.java:478)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at java.base/java.util.LinkedHa
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: shMap.forEach(LinkedHashMap.java:684)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:475)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:348)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:40)
      17:39:17.697 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:102)
      17:39:17.698 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1362)
      17:39:17.698 [docker-java-stream-1725287905] INFO  o.x.t.d.i.j.s.ServletContainerExecutor - STDOUT: 	... 59 common frames omitted
      

      Same issue also happen for InPlaceEditIT#editInPlace:

      org.openqa.selenium.TimeoutException: 
      Expected condition failed: waiting for org.xwiki.test.ui.XWikiWebDriver$$Lambda$959/1963665527@1f8217e7 (tried for 10 second(s) with 500 milliseconds interval)
      Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
      System info: host: '5f9acab0f539', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.9.185-xxxx-std-ipv6-64', java.version: '1.8.0_282'
      Driver info: org.xwiki.test.ui.XWikiWebDriver
      Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 83.0.4103.61, chrome: {chromedriverVersion: 83.0.4103.39 (ccbf011cb2d2b..., userDataDir: /tmp/.com.google.Chrome.pjBEDP}, goog:chromeOptions: {debuggerAddress: localhost:34375}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: ignore, webauthn:virtualAuthenticators: true, webdriver.remote.sessionid: 9272822d560e7889fae8578eaf7...}
      Session ID: 9272822d560e7889fae8578eaf7daf54
      	at org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:95)
      	at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:272)
      	at org.xwiki.test.ui.XWikiWebDriver.waitUntilCondition(XWikiWebDriver.java:228)
      	at org.xwiki.test.ui.XWikiWebDriver.waitUntilElementsAreVisible(XWikiWebDriver.java:330)
      	at org.xwiki.test.ui.XWikiWebDriver.waitUntilElementsAreVisible(XWikiWebDriver.java:317)
      	at org.xwiki.edit.test.po.InplaceEditablePage.waitForInplaceEditor(InplaceEditablePage.java:89)
      	at org.xwiki.edit.test.po.InplaceEditablePage.editInplace(InplaceEditablePage.java:52)
      	at org.xwiki.edit.test.ui.InplaceEditIT.editInplace(InplaceEditIT.java:70)
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            surli Simon Urli
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: