Janek Abakus
2018-08-23 06:29:44 UTC
Hello.
Recently we've upgraded our PostgreSQL database driver to version 4.0.2 and
Evners started to throw exceptions. It was working fine on 3.x.x branch of
the driver.
From exception stacks I can tell that there's some wrong revtype mapping
(probably enum is passed instead of enum casted to short).
Can't write CLR type NHibernate.Envers.RevisionType with handler type
Int16Handler
w lambda_method(Closure , NpgsqlTypeHandler , Object ,
NpgsqlLengthCache& , NpgsqlParameter )
w
Npgsql.TypeHandling.NpgsqlSimpleTypeHandler`1.ValidateObjectAndGetLength(Object
value, NpgsqlLengthCache& lengthCache, NpgsqlParameter parameter)
w Npgsql.NpgsqlParameter.ValidateAndGetLength()
w Npgsql.NpgsqlCommand.ValidateParameters()
w Npgsql.NpgsqlCommand.<ExecuteDbDataReader>d__100.MoveNext()
--- Koniec Åladu stosu z poprzedniej lokalizacji, w której wystÄ piÅ wyjÄ tek
---
w System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task)
w
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)
w Npgsql.NpgsqlCommand.<ExecuteNonQuery>d__92.MoveNext()
--- Koniec Åladu stosu z poprzedniej lokalizacji, w której wystÄ piÅ wyjÄ tek
---
w System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task)
w
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)
w Npgsql.NpgsqlCommand.ExecuteNonQuery()
w NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery(DbCommand cmd)
w NHibernate.AdoNet.NonBatchingBatcher.AddToBatch(IExpectation
expectation)
w NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id,
Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object
obj, ISessionImplementor session)
w NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id,
Object[] fields, Object obj, ISessionImplementor session)
w NHibernate.Action.EntityInsertAction.Execute()
w NHibernate.Engine.ActionQueue.InnerExecute(IExecutable executable)
w NHibernate.Engine.ActionQueue.ExecuteActions(IList list)
w NHibernate.Engine.ActionQueue.ExecuteActions()
w
NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource
session)
w NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent
event)
w NHibernate.Impl.SessionImpl.Flush()
w
NHibernate.Envers.Synchronization.AuditProcess.DoBeforeTransactionCompletion()
w
D:\stuff\code\envers\Src\NHibernate.Envers\Synchronization\AuditProcess.cs:wiersz
166
w
NHibernate.Envers.Synchronization.AuditProcessManager.<>c__DisplayClass3_0.<Get>b__0()
w
D:\stuff\code\envers\Src\NHibernate.Envers\Synchronization\AuditProcessManager.cs:wiersz
35
w
NHibernate.Engine.ActionQueue.BeforeTransactionCompletionProcessQueue.BeforeTransactionCompletion()
Recently we've upgraded our PostgreSQL database driver to version 4.0.2 and
Evners started to throw exceptions. It was working fine on 3.x.x branch of
the driver.
From exception stacks I can tell that there's some wrong revtype mapping
(probably enum is passed instead of enum casted to short).
An exception of type 'NHibernate.AssertionFailure' occurred in
NHibernate.dll but was not handled in user code
Additional information: Unable to perform BeforeTransactionCompletion
callback
w
NHibernate.Engine.ActionQueue.BeforeTransactionCompletionProcessQueue.BeforeTransactionCompletion()
w NHibernate.Impl.SessionImpl.BeforeTransactionCompletion(ITransaction
tx)
w NHibernate.Transaction.AdoTransaction.Commit()
And the inner exception:NHibernate.dll but was not handled in user code
Additional information: Unable to perform BeforeTransactionCompletion
callback
w
NHibernate.Engine.ActionQueue.BeforeTransactionCompletionProcessQueue.BeforeTransactionCompletion()
w NHibernate.Impl.SessionImpl.BeforeTransactionCompletion(ITransaction
tx)
w NHibernate.Transaction.AdoTransaction.Commit()
Can't write CLR type NHibernate.Envers.RevisionType with handler type
Int16Handler
w lambda_method(Closure , NpgsqlTypeHandler , Object ,
NpgsqlLengthCache& , NpgsqlParameter )
w
Npgsql.TypeHandling.NpgsqlSimpleTypeHandler`1.ValidateObjectAndGetLength(Object
value, NpgsqlLengthCache& lengthCache, NpgsqlParameter parameter)
w Npgsql.NpgsqlParameter.ValidateAndGetLength()
w Npgsql.NpgsqlCommand.ValidateParameters()
w Npgsql.NpgsqlCommand.<ExecuteDbDataReader>d__100.MoveNext()
--- Koniec Åladu stosu z poprzedniej lokalizacji, w której wystÄ piÅ wyjÄ tek
---
w System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task)
w
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)
w Npgsql.NpgsqlCommand.<ExecuteNonQuery>d__92.MoveNext()
--- Koniec Åladu stosu z poprzedniej lokalizacji, w której wystÄ piÅ wyjÄ tek
---
w System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task)
w
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)
w Npgsql.NpgsqlCommand.ExecuteNonQuery()
w NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery(DbCommand cmd)
w NHibernate.AdoNet.NonBatchingBatcher.AddToBatch(IExpectation
expectation)
w NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id,
Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object
obj, ISessionImplementor session)
w NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id,
Object[] fields, Object obj, ISessionImplementor session)
w NHibernate.Action.EntityInsertAction.Execute()
w NHibernate.Engine.ActionQueue.InnerExecute(IExecutable executable)
w NHibernate.Engine.ActionQueue.ExecuteActions(IList list)
w NHibernate.Engine.ActionQueue.ExecuteActions()
w
NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource
session)
w NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent
event)
w NHibernate.Impl.SessionImpl.Flush()
w
NHibernate.Envers.Synchronization.AuditProcess.DoBeforeTransactionCompletion()
w
D:\stuff\code\envers\Src\NHibernate.Envers\Synchronization\AuditProcess.cs:wiersz
166
w
NHibernate.Envers.Synchronization.AuditProcessManager.<>c__DisplayClass3_0.<Get>b__0()
w
D:\stuff\code\envers\Src\NHibernate.Envers\Synchronization\AuditProcessManager.cs:wiersz
35
w
NHibernate.Engine.ActionQueue.BeforeTransactionCompletionProcessQueue.BeforeTransactionCompletion()
--
You received this message because you are subscribed to the Google Groups "nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nhusers+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nhusers+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.