Build Error (rarely)

Seems like a deadlock issue (at the bottom)

Importance: Error



Date: Donnerstag, 17. April 2014


Time: 12:22:35



Message:



Build Controller



An exception occurred while creating build log. Details: Exception: GenericADOException


Message: could not update: [Continua.Modules.Builds.Build#6014][SQL: UPDATE builds_build SET status_message = ?, status_datetime = ? WHERE Id = ?]


Stack Trace:    bei NHibernate.Persister.Entity.AbstractEntityPersister.Update(Object id, Object[] fields, Object[] oldFields, Object rowId, Boolean[] includeProperty, Int32 j, Object oldVersion, Object obj, SqlCommandInfo sql, ISessionImplementor session)


   bei NHibernate.Persister.Entity.AbstractEntityPersister.UpdateOrInsert(Object id, Object[] fields, Object[] oldFields, Object rowId, Boolean[] includeProperty, Int32 j, Object oldVersion, Object obj, SqlCommandInfo sql, ISessionImplementor session)


   bei NHibernate.Persister.Entity.AbstractEntityPersister.Update(Object id, Object[] fields, Int32[] dirtyFields, Boolean hasDirtyCollection, Object[] oldFields, Object oldVersion, Object obj, Object rowId, ISessionImplementor session)


   bei NHibernate.Action.EntityUpdateAction.Execute()


   bei NHibernate.Engine.ActionQueue.Execute(IExecutable executable)


   bei NHibernate.Engine.ActionQueue.ExecuteActions(IList list)


   bei NHibernate.Engine.ActionQueue.ExecuteActions()


   bei NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session)


   bei NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)


   bei NHibernate.Impl.SessionImpl.Flush()


   bei NHibernate.Transaction.AdoTransaction.Commit()


   bei Continua.Shared.Data.Hibernate.NHibernateDatabase.SaveChanges()


   bei Continua.Modules.Builds.BuildManager.<>c__DisplayClass6f.b__6e(Int32 x)


   bei Continua.Shared.Utils.LockList`1.WithLock(TId id, Action`1 action)


   bei Continua.Modules.Builds.BuildManager.UpdateStatus(Build build, BuildState newState, String message, EntityDTO configuration, EntityDTO project)


   bei Continua.Modules.Builds.BuildController.Initialise(Int32 buildId)



Exception: NpgsqlException


Message: FEHLER: 40P01: Verklemmung (Deadlock) entdeckt


Stack Trace:    bei Npgsql.NpgsqlState.d__a.MoveNext()


   bei Npgsql.ForwardsOnlyDataReader.GetNextResponseObject()


   bei Npgsql.ForwardsOnlyDataReader.GetNextRowDescription()


   bei Npgsql.ForwardsOnlyDataReader.NextResult()


   bei Npgsql.ForwardsOnlyDataReader..ctor(IEnumerable`1 dataEnumeration, CommandBehavior behavior, NpgsqlCommand command, NotificationThreadBlock threadBlock, Boolean synchOnReadError)


   bei Npgsql.NpgsqlCommand.GetReader(CommandBehavior cb)


   bei Npgsql.NpgsqlCommand.ExecuteNonQuery()


   bei NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery(IDbCommand cmd)


   bei NHibernate.AdoNet.NonBatchingBatcher.AddToBatch(IExpectation expectation)


   bei NHibernate.Persister.Entity.AbstractEntityPersister.Update(Object id, Object[] fields, Object[] oldFields, Object rowId, Boolean[] includeProperty, Int32 j, Object oldVersion, Object obj, SqlCommandInfo sql, ISessionImplementor session)

Yes, we have seen the occasional deadlock, and have done a lot of work to try and resolve them, but they so still happen occasionally.