Uploaded image for project: 'OpenOLAT'
  1. OpenOLAT
  2. OO-3150

Silent the routine which update WebDAV password

    XMLWordPrintable

    Details

      Description

      In the case of duplicate emails, institutional emails or "xx@yy.zz" emails, the update of password can lead to red screen which prevent the user to log in.

      2017-11-19 11:13:46,450 [ajp-nio2-8008-exec-14] ERROR DBRuntimeException - OLAT::ERROR ^%^ N8-E23 ^%^ org.olat.core.logging 
      
      https://olat.xyz.ch/dmz/1%3A1%3Aoldap_login%3A1%3A0%3Aofo_%3Afid/ ^%^ Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko ^%^ **RedScreen** commit failed, rollback transaction
      
      <dispatchinfo>
      	<componentinfo>
      		<compname>ffo_main_vertical</compname>
      		<compclass>org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer</compclass>
      		<extendedinfo>n/a</extendedinfo>
      		<event>
      			<class&gt;org.olat.core.gui.control.Event</class&gt;
      			<command>validation ok</command>
      			<tostring>com:validation ok,org.olat.core.gui.control.Event@d62b3f02</tostring>
      		</event>
      	</componentinfo>
      	<controllerinfo>
      		<controllername>org.olat.login.auth.OLATAuthentcationForm</controllername>
      		<controllername>org.olat.login.LoginAuthprovidersController</controllername>
      		<controllername>org.olat.core.commons.fullWebApp.BaseFullWebappController</controllername>
      	</controllerinfo>
      </dispatchinfo>
       
      >>> stack of 1.cause::org.olat.core.logging.DBRuntimeException: commit failed, rollback transaction
      -> at org.olat.core.commons.persistence.DBImpl.commit(DBImpl.java:756)
         at org.olat.basesecurity.BaseSecurityManager.createAndPersistAuthenticationIntern(BaseSecurityManager.java:1364)
         at org.olat.basesecurity.BaseSecurityManager.access$000(BaseSecurityManager.java:92)
         at org.olat.basesecurity.BaseSecurityManager$1.execute(BaseSecurityManager.java:1337)
         at org.olat.basesecurity.BaseSecurityManager$1.execute(BaseSecurityManager.java:1332)
         at org.olat.commons.coordinate.cluster.ClusterSyncer.doInSync(ClusterSyncer.java:95)
         at org.olat.basesecurity.BaseSecurityManager.createAndPersistAuthentication(BaseSecurityManager.java:1332)
         at org.olat.core.commons.services.webdav.manager.WebDAVAuthManager.updateDigestPassword(WebDAVAuthManager.java:261)
         at org.olat.core.commons.services.webdav.manager.WebDAVAuthManager.updateDigestPasswords(WebDAVAuthManager.java:242)
         at org.olat.core.commons.services.webdav.manager.WebDAVAuthManager.changeDigestPassword(WebDAVAuthManager.java:226)
         at org.olat.login.auth.OLATAuthManager.synchronizeOlatPasswordAndUsername(OLATAuthManager.java:304)
      >>> stack of 2.cause::javax.persistence.RollbackException: Error while committing the transaction
      -> at org.hibernate.internal.ExceptionConverterImpl.convertCommitException(ExceptionConverterImpl.java:77)
         at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:71)
         at org.olat.core.commons.persistence.DBImpl.commit(DBImpl.java:713)
         at org.olat.basesecurity.BaseSecurityManager.createAndPersistAuthenticationIntern(BaseSecurityManager.java:1364)
         at org.olat.basesecurity.BaseSecurityManager.access$000(BaseSecurityManager.java:92)
         at org.olat.basesecurity.BaseSecurityManager$1.execute(BaseSecurityManager.java:1337)
         at org.olat.basesecurity.BaseSecurityManager$1.execute(BaseSecurityManager.java:1332)
         at org.olat.commons.coordinate.cluster.ClusterSyncer.doInSync(ClusterSyncer.java:95)
         at org.olat.basesecurity.BaseSecurityManager.createAndPersistAuthentication(BaseSecurityManager.java:1332)
         at org.olat.core.commons.services.webdav.manager.WebDAVAuthManager.updateDigestPassword(WebDAVAuthManager.java:261)
         at org.olat.core.commons.services.webdav.manager.WebDAVAuthManager.updateDigestPasswords(WebDAVAuthManager.java:242)
      >>> stack of 3.cause::javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement
      -> at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:149)
         at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:157)
         at org.hibernate.internal.ExceptionConverterImpl.convertCommitException(ExceptionConverterImpl.java:61)
         at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:71)
         at org.olat.core.commons.persistence.DBImpl.commit(DBImpl.java:713)
         at org.olat.basesecurity.BaseSecurityManager.createAndPersistAuthenticationIntern(BaseSecurityManager.java:1364)
         at org.olat.basesecurity.BaseSecurityManager.access$000(BaseSecurityManager.java:92)
         at org.olat.basesecurity.BaseSecurityManager$1.execute(BaseSecurityManager.java:1337)
         at org.olat.basesecurity.BaseSecurityManager$1.execute(BaseSecurityManager.java:1332)
         at org.olat.commons.coordinate.cluster.ClusterSyncer.doInSync(ClusterSyncer.java:95)
         at org.olat.basesecurity.BaseSecurityManager.createAndPersistAuthentication(BaseSecurityManager.java:1332)
      >>> stack of 4.cause::org.hibernate.exception.ConstraintViolationException: could not execute statement
      -> at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:112)
         at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
         at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111)
         at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97)
         at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:178)
         at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:45)
         at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3013)
         at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3513)
         at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:89)
         at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:589)
         at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:463)
      >>> stack of 5.cause::org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "o_bs_authentication_provider_authusername_key"
      

        Attachments

          Activity

            People

            Assignee:
            srosse Stéphane Rossé
            Reporter:
            srosse Stéphane Rossé
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 hour, 1 minute
                1h 1m