I am experiencing some problems, because properties that seem to be correctly initialized throw NullReferenceException when they are accessed.

I am currently using the latest nightly build that was posted on the web site. Therefore, I point out that my persistent properties are marked [Field], and not [Field(LazyLoad=true)] as suggested by the workaround (for 4.0.5 build) for a previous post entitled "Problem with abstract persistent classes" by Olorin.

Unfortunately, I have not been able to isolate the bug and post some code for reproducing it. However, I have noticed that the exception stack trace always indicates that the origin of the error is the same : at Xtensive.Core.Tuples.TupleExtensions.GetFieldStateMap(Tuple target, TupleFieldState requestedState)

Please find hereafter several stacktraces :

Interception de System.NullReferenceException
  Message="Object reference not set to an instance of an object."
  Source="Xtensive.Core"
  StackTrace:
       at Xtensive.Core.Tuples.TupleExtensions.GetFieldStateMap(Tuple target, TupleFieldState requestedState)
       at Xtensive.Storage.Providers.Sql.SessionHandler.CreateUpdateTask(PersistAction action)
       at Xtensive.Storage.Providers.Sql.SessionHandler.CreatePersistTask(PersistAction action)
       at Xtensive.Storage.Providers.Sql.SessionHandler.Persist(IEnumerable`1 persistActions, Boolean dirty)
       at Xtensive.Storage.Providers.SessionHandler.Persist(EntityChangeRegistry registry, Boolean dirtyFlush)
       at Xtensive.Storage.Session.Persist(Boolean dirty)
       at Xtensive.Storage.Providers.EnumerationContext..ctor()
       at Xtensive.Storage.Providers.CompilationContext.CreateEnumerationContext()
       at Xtensive.Storage.Rse.Providers.EnumerationScope.Open()
       at Xtensive.Storage.Rse.RecordSet.<GetEnumerator>d__4.MoveNext()
       at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
       at Xtensive.Storage.Internals.RecordSetReader.ReadSingleRow(RecordSet source, Key key)
       at Xtensive.Storage.Providers.SessionHandler.Execute(FetchTask task, Key key)
       at Xtensive.Storage.Providers.SessionHandler.FetchInstance(Key key)
       at Xtensive.Storage.Query.SingleOrDefault(Session session, Key key)
       at Xtensive.Storage.Query.SingleOrDefault(Key key)
       at Xtensive.Storage.Internals.EntityFieldAccessor`1.GetValue(Persistent obj, FieldInfo field)
       at Xtensive.Storage.Persistent.GetFieldValue[T](FieldInfo field)
       at Xtensive.Storage.Persistent.GetFieldValue[T](String fieldName)
       at Test.Pilot.Kernel.ProcessingWorkflowModel.QueueProcessor.get_ProcessedContainer()
       at Test.Pilot.Kernel.ProcessingWorkflowModel.QueueProcessor.MoveDocumentsToOutputAndDoneContainers(Document outputDocument, Document inputDocument) in D:\Perforce\aradus\Projets\Donatello\Pilot.Kernel.ProcessingWorkflowModel\QueueProcessor.cs:line 271
       at Test.Pilot.Kernel.Basic.EchoProcessor.ProcessDocument(Document inputDocument) in D:\Perforce\aradus\Projets\Donatello\Pilot.BusinessTools\Debug\EchoProcessor.cs:line 16
       at Test.Pilot.Kernel.ProcessingWorkflowModel.QueueProcessor.ProcessAndMove(Document inputDocument, Document documentToProcess) in D:\Perforce\aradus\Projets\Donatello\Pilot.Kernel.ProcessingWorkflowModel\QueueProcessor.cs:line 202
       at Test.Pilot.Kernel.ProcessingWorkflowModel.QueueProcessor.Execute() in D:\Perforce\aradus\Projets\Donatello\Pilot.Kernel.ProcessingWorkflowModel\QueueProcessor.cs:line 175
  InnerException:

Interception de System.NullReferenceException
  Message="Object reference not set to an instance of an object."
  Source="Xtensive.Core"
  StackTrace:
       at Xtensive.Core.Tuples.TupleExtensions.GetFieldStateMap(Tuple target, TupleFieldState requestedState)
       at Xtensive.Storage.Providers.Sql.SessionHandler.CreateUpdateTask(PersistAction action)
       at Xtensive.Storage.Providers.Sql.SessionHandler.CreatePersistTask(PersistAction action)
       at Xtensive.Storage.Providers.Sql.SessionHandler.Persist(IEnumerable`1 persistActions, Boolean dirty)
       at Xtensive.Storage.Providers.SessionHandler.Persist(EntityChangeRegistry registry, Boolean dirtyFlush)
       at Xtensive.Storage.Session.Persist(Boolean dirty)
       at Xtensive.Storage.Providers.EnumerationContext..ctor()
       at Xtensive.Storage.Providers.CompilationContext.CreateEnumerationContext()
       at Xtensive.Storage.Rse.Providers.EnumerationScope.Open()
       at Xtensive.Storage.Rse.RecordSet.<GetEnumerator>d__4.MoveNext()
       at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<Batch>d__27`1.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<ApplyBeforeAndAfter>d__2f`1.MoveNext()
       at Xtensive.Storage.Linq.Materialization.MaterializationHelper.<Materialize>d__8`1.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<Batch>d__27`1.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<ApplyBeforeAndAfter>d__2f`1.MoveNext()
       at Xtensive.Storage.Query.<ExecuteSequence>d__b`1.MoveNext()
       at Xtensive.Storage.EntitySet`1.LoadState()
       at Xtensive.Storage.TransactionalStateContainer`1.get_State()
       at Xtensive.Storage.EntitySetBase.Contains(Key key, Nullable`1 state)
       at Xtensive.Storage.EntitySetBase.Contains(Entity item)
       at Xtensive.Storage.EntitySetBase.Add(Entity item)
       at Xtensive.Storage.EntitySet`1.Add(TItem item)
       at Test.Pilot.Kernel.ProcessingWorkflowModel.Document.AddHistoryEntry(String what, HistoryEntryVisibility visibility) in D:\Perforce\aradus\Projets\Donatello\Pilot.Kernel.ProcessingWorkflowModel\Document.History.cs:line 24
       at Test.Pilot.Kernel.ProcessingWorkflowModel.QueueProcessor.ProcessAndMove(Document inputDocument, Document documentToProcess) in D:\Perforce\aradus\Projets\Donatello\Pilot.Kernel.ProcessingWorkflowModel\QueueProcessor.cs:line 204
       at Test.Pilot.Kernel.ProcessingWorkflowModel.QueueProcessor.Execute() in D:\Perforce\aradus\Projets\Donatello\Pilot.Kernel.ProcessingWorkflowModel\QueueProcessor.cs:line 175
  InnerException:

Interception de System.NullReferenceException
  Message="Object reference not set to an instance of an object."
  Source="Xtensive.Core"
  StackTrace:
       at Xtensive.Core.Tuples.TupleExtensions.GetFieldStateMap(Tuple target, TupleFieldState requestedState)
       at Xtensive.Storage.Providers.Sql.SessionHandler.CreateUpdateTask(PersistAction action)
       at Xtensive.Storage.Providers.Sql.SessionHandler.CreatePersistTask(PersistAction action)
       at Xtensive.Storage.Providers.Sql.SessionHandler.Persist(IEnumerable`1 persistActions, Boolean dirty)
       at Xtensive.Storage.Providers.SessionHandler.Persist(EntityChangeRegistry registry, Boolean dirtyFlush)
       at Xtensive.Storage.Session.Persist(Boolean dirty)
       at Xtensive.Storage.Providers.EnumerationContext..ctor()
       at Xtensive.Storage.Providers.CompilationContext.CreateEnumerationContext()
       at Xtensive.Storage.Rse.Providers.EnumerationScope.Open()
       at Xtensive.Storage.Rse.RecordSet.<GetEnumerator>d__4.MoveNext()
       at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<Batch>d__27`1.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<ApplyBeforeAndAfter>d__2f`1.MoveNext()
       at Xtensive.Storage.Linq.Materialization.MaterializationHelper.<Materialize>d__8`1.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<Batch>d__27`1.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<ApplyBeforeAndAfter>d__2f`1.MoveNext()
       at Xtensive.Storage.Query.<ExecuteSequence>d__b`1.MoveNext()
       at Xtensive.Storage.EntitySet`1.LoadState()
       at Xtensive.Storage.TransactionalStateContainer`1.get_State()
       at Xtensive.Storage.EntitySetBase.Contains(Key key, Nullable`1 state)
       at Xtensive.Storage.EntitySetBase.Contains(Entity item)
       at Xtensive.Storage.EntitySetBase.Add(Entity item)
       at Xtensive.Storage.Internals.AssociationActionProvider.<.cctor>b__3(AssociationInfo association, IEntity owner, IEntity target)
       at Xtensive.Storage.PairIntegrity.SyncContext.ExecuteNextAction()
       at Xtensive.Storage.PairIntegrity.SyncManager.Enlist(OperationType type, Entity owner, Entity target, AssociationInfo association)
       at Xtensive.Storage.Persistent.SetFieldValue[T](FieldInfo field, T value)
       at Xtensive.Storage.Persistent.SetFieldValue[T](String fieldName, T value)
       at Test.Pilot.Kernel.ProcessingWorkflowModel.HistoryEntry.set_Owner(Document value)
       at Test.Pilot.Kernel.ProcessingWorkflowModel.Document.AddHistoryEntry(String what, HistoryEntryVisibility visibility) in D:\Perforce\aradus\Projets\Donatello\Pilot.Kernel.ProcessingWorkflowModel\Document.History.cs:line 24
       at Test.Pilot.Kernel.ProcessingWorkflowModel.QueueProcessor.ProcessAndMove(Document inputDocument, Document documentToProcess) in D:\Perforce\aradus\Projets\Donatello\Pilot.Kernel.ProcessingWorkflowModel\QueueProcessor.cs:line 204
       at Test.Pilot.Kernel.ProcessingWorkflowModel.QueueProcessor.Execute() in D:\Perforce\aradus\Projets\Donatello\Pilot.Kernel.ProcessingWorkflowModel\QueueProcessor.cs:line 175
  InnerException:

L'exception System.NullReferenceException n'a pas été gérée
  Message="Object reference not set to an instance of an object."
  Source="Xtensive.Core"
  StackTrace:
       at Xtensive.Core.Tuples.TupleExtensions.GetFieldStateMap(Tuple target, TupleFieldState requestedState)
       at Xtensive.Storage.Providers.Sql.SessionHandler.CreateUpdateTask(PersistAction action)
       at Xtensive.Storage.Providers.Sql.SessionHandler.CreatePersistTask(PersistAction action)
       at Xtensive.Storage.Providers.Sql.SessionHandler.Persist(IEnumerable`1 persistActions, Boolean dirty)
       at Xtensive.Storage.Providers.SessionHandler.Persist(EntityChangeRegistry registry, Boolean dirtyFlush)
       at Xtensive.Storage.Session.Persist(Boolean dirty)
       at Xtensive.Storage.Providers.EnumerationContext..ctor()
       at Xtensive.Storage.Providers.CompilationContext.CreateEnumerationContext()
       at Xtensive.Storage.Rse.Providers.EnumerationScope.Open()
       at Xtensive.Storage.Rse.RecordSet.<GetEnumerator>d__4.MoveNext()
       at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<Batch>d__27`1.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<ApplyBeforeAndAfter>d__2f`1.MoveNext()
       at Xtensive.Storage.Linq.Materialization.MaterializationHelper.<Materialize>d__8`1.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<Batch>d__27`1.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<ApplyBeforeAndAfter>d__2f`1.MoveNext()
       at Xtensive.Storage.Query.<ExecuteSequence>d__b`1.MoveNext()
       at Xtensive.Storage.EntitySet`1.LoadState()
       at Xtensive.Storage.TransactionalStateContainer`1.get_State()
       at Xtensive.Storage.EntitySetBase.get_Count()
  InnerException:

Is there any other piece of information I can post in order to ease the investigation ?

Would there any Domain or Session options related to lazy loading (if it is relevant) that might be a workaround ?

Kind regards,

Auguste


Updated at 17.09.2009 14:58:31

Here is some more context about the problem. The bug occurs in a call to AddHistoryEntry method, in the Document class, where Document has a property EntitySet<historyentry> HistoryEntries .

The exception stack trace is the same, whether I used [Field] or [Field(Lazyload=true)] for the property HistoryEntries :

Interception de System.NullReferenceException
  Message="Object reference not set to an instance of an object."
  Source="Xtensive.Core"
  StackTrace:
       at Xtensive.Core.Tuples.TupleExtensions.GetFieldStateMap(Tuple target, TupleFieldState requestedState)
       at Xtensive.Storage.Providers.Sql.SessionHandler.CreateUpdateTask(PersistAction action)
       at Xtensive.Storage.Providers.Sql.SessionHandler.CreatePersistTask(PersistAction action)
       at Xtensive.Storage.Providers.Sql.SessionHandler.Persist(IEnumerable`1 persistActions, Boolean dirty)
       at Xtensive.Storage.Providers.SessionHandler.Persist(EntityChangeRegistry registry, Boolean dirtyFlush)
       at Xtensive.Storage.Session.Persist(Boolean dirty)
       at Xtensive.Storage.Providers.EnumerationContext..ctor()
       at Xtensive.Storage.Providers.CompilationContext.CreateEnumerationContext()
       at Xtensive.Storage.Rse.Providers.EnumerationScope.Open()
       at Xtensive.Storage.Rse.RecordSet.<GetEnumerator>d__4.MoveNext()
       at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<Batch>d__27`1.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<ApplyBeforeAndAfter>d__2f`1.MoveNext()
       at Xtensive.Storage.Linq.Materialization.MaterializationHelper.<Materialize>d__8`1.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<Batch>d__27`1.MoveNext()
       at Xtensive.Core.Collections.EnumerableExtensions.<ApplyBeforeAndAfter>d__2f`1.MoveNext()
       at Xtensive.Storage.Query.<ExecuteSequence>d__b`1.MoveNext()
       at Xtensive.Storage.EntitySet`1.LoadState()
       at Xtensive.Storage.TransactionalStateContainer`1.get_State()
       at Xtensive.Storage.EntitySetBase.Contains(Key key, Nullable`1 state)
       at Xtensive.Storage.EntitySetBase.Contains(Entity item)
       at Xtensive.Storage.EntitySetBase.Add(Entity item)
       at Xtensive.Storage.EntitySet`1.Add(TItem item)
       at Test.Pilot.Kernel.ProcessingWorkflowModel.Document.AddHistoryEntry(String what, HistoryEntryVisibility visibility) in D:\Perforce\aradus\Projets\Donatello\Pilot.Kernel.ProcessingWorkflowModel\Document.History.cs:line 25
       at Test.Pilot.Kernel.ProcessingWorkflowModel.QueueProcessor.ProcessAndMove(Document inputDocument, Document documentToProcess) in D:\Perforce\aradus\Projets\Donatello\Pilot.Kernel.ProcessingWorkflowModel\QueueProcessor.cs:line 204
       at Test.Pilot.Kernel.ProcessingWorkflowModel.QueueProcessor.Execute() in D:\Perforce\aradus\Projets\Donatello\Pilot.Kernel.ProcessingWorkflowModel\QueueProcessor.cs:line 175
  InnerException:

Here is the related part of the Document class :

[HierarchyRoot]
public partial class Document : Entity
{
    [Field, Key]
    public long Id { get; private set; }

    [Field, Association(PairTo = "Owner", OnOwnerRemove = OnRemoveAction.Clear)]
    public EntitySet<HistoryEntry> HistoryEntries { get; private set; }

    public void AddHistoryEntry(string what, HistoryEntryVisibility visibility)
    {
      HistoryEntry historyEntry = new HistoryEntry { What = what, Visibility = visibility, When = DateTime.Now};
      HistoryEntries.Add(historyEntry);
      log.DebugFormat("History entry added for {0}. {1}What : {2}", ToString(), Environment.NewLine, what);
    }
}

Here is the HistoryEntry class :

[HierarchyRoot]
public class HistoryEntry : Entity
{
    [Field, Key]
    public long Id { get; private set; }

    public const HistoryEntryVisibility VisibilityForAll = HistoryEntryVisibility.EndUser | HistoryEntryVisibility.AdministratorUser | HistoryEntryVisibility.Debugger;

    [Field]
    public string What { get; set; }

    [Field]
    public DateTime When { get; set; }

    [Field]
    public HistoryEntryVisibility Visibility { get; set; }

    [Field]
    public Document Owner { get; set; }
}

Kind regards,

Auguste


Updated at 21.09.2009 10:07:19

Could you please specify the File version & File creation date of Xtensive.Storage.dll? This could help us to quickly revert code base exactly to your revision and run the tests. .

Hello Dmitri,

The dll Xtensive.Storage has a modification date of 05 september 2009, 04:41 (AM). It is the last nightly build that I could find the DataObjects web site. Right click on the dll indicates a file version 1.0.0.0 (which does not seem very informative)

Hope that helps.

Best regards.

Auguste

This thread was imported from our support forum. The original discussion may contain more detailed answer.

asked Sep 17 '09 at 14:39

Auguste's gravatar image

Auguste
25888

We'll try to isolate the issue tomorrow. If it will be fixed, I'll send you the latest nightly build on this weekend (we're updating Xtensive.Core now as well, so likely we'll need some time to merge all the changes).

(Sep 17 '09 at 14:39) Alex Yakunin Alex%20Yakunin's gravatar image

Forgot to add - the report seems very comprehensive. Normally stack trace & exception is enough to locate the issue.

(Sep 17 '09 at 14:39) Alex Yakunin Alex%20Yakunin's gravatar image

One Answer:

Dmitri Maximov (Xtensive) wrote:

Hello Auguste,

We're trying to reproduce the issue but with no success yet.

Could you please specify the File version & File creation date of Xtensive.Storage.dll? This could help us to quickly revert code base exactly to your revision and run the tests.

Thanks in advance.


Alex (Xtensive) wrote:

Auguste, likely, you seen assembly version. It is really always 1.0.0.0 - we maintain it the same to simplify upgrade, since we update DO nearly once per month; moreover, there are nightly builds.

On the other hand, we set file version to 1.0.0.SvnRevisionNumber on each build. This allows us to identify the build you have.

The screenshot showing how to view file version is attached to this post.


Dmitri Maximov (Xtensive) wrote:

Hello Auguste,

We've failed to reproduce the issue even on code base revision from 05 september 2009. I've attached Domain model and test we used to investigate the issue. Could you please take a look on them? May be we tested the wrong scenario.

Thanks in advance.


olorin wrote:

Hello,

I'm working with auguste, so I'll try to solve this problem too ;)

Unfortunately the file version is also 1.0.0.0 on our assembly: it's from an installer for nightly build downloaded the 11th of september.

I'm also failing to reproduce the issue with the sample code provided by auguste : no wonder you can't find it! I'll try to isolate the cause of this problem to provide a small sample with this behaviour, but this seems difficult. Do you have any idea based on the stack trace?

Can you send us the latest nighly build ? I believe you have auguste's email.

Another stack trace, another place in our application:

L'exception System.NullReferenceException s'est produite
  Message="La référence d'objet n'est pas définie à une instance d'un objet."
  Source="Xtensive.Core"
  StackTrace:
       à Xtensive.Core.Tuples.TupleExtensions.GetFieldStateMap(Tuple target, TupleFieldState requestedState)
       à Xtensive.Storage.Providers.Sql.SessionHandler.CreateUpdateTask(PersistAction action)
       à Xtensive.Storage.Providers.Sql.SessionHandler.CreatePersistTask(PersistAction action)
       à Xtensive.Storage.Providers.Sql.SessionHandler.Persist(IEnumerable`1 persistActions, Boolean dirty)
       à Xtensive.Storage.Providers.SessionHandler.Persist(EntityChangeRegistry registry, Boolean dirtyFlush)
       à Xtensive.Storage.Session.Persist(Boolean dirty)
       à Xtensive.Storage.Providers.EnumerationContext..ctor()
       à Xtensive.Storage.Providers.CompilationContext.CreateEnumerationContext()
       à Xtensive.Storage.Rse.Providers.EnumerationScope.Open()
       à Xtensive.Storage.Rse.RecordSet.<GetEnumerator>d__4.MoveNext()
       à System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
       à Xtensive.Storage.Internals.RecordSetReader.ReadSingleRow(RecordSet source, Key key)
       à Xtensive.Storage.Providers.SessionHandler.Execute(FetchTask task, Key key)
       à Xtensive.Storage.Providers.SessionHandler.FetchInstance(Key key)
       à Xtensive.Storage.Query.SingleOrDefault(Session session, Key key)
       à Xtensive.Storage.Query.SingleOrDefault(Key key)
       à Xtensive.Storage.Internals.EntityFieldAccessor`1.GetValue(Persistent obj, FieldInfo field)
       à Xtensive.Storage.Persistent.GetFieldValue[T](FieldInfo field)
       à Xtensive.Storage.Persistent.GetFieldValue[T](String fieldName)
       à Test.Pilot.Kernel.ProcessingWorkflowModel.QueueProcessor.get_ProcessedContainer()
       à Test.Pilot.Kernel.ProcessingWorkflowModel.QueueProcessor.GetProcessedContainerForDocument(Document inputDocument) dans D:\perforce\julien_andromede\Donatello\Pilot.Kernel.ProcessingWorkflowModel\QueueProcessor.cs:ligne 224

olorin wrote:

The same problem occurs with the version you sent.

I've been able to trace your code using the pdb files.

The error occurs in Xtensive.Storage.Providers.Sql.SessionHandler in method CreateUpdateTask The line var source = dTuple.Difference; returns null, so the next line throws a NullReferenceException.

Any idea how we could find a solution to this problem? This is a critical problem for us. I'm searching on my side how to reproduce it without sending our whole code.


Alex (Xtensive) wrote:

We'll investigate this further... That's really strange.

AFAIK, the problem is that difference there can't be null on update (but it can be null for new entity), but as you're showing, there is some case when it's null. I fixed some issue related to this earlier and actually hoped everything is ok there now, but...

Can you try to put Session.Persist() right after changes in places where this happens? E.g. if something is changed in a loop, put it inside this loop. There can be some issue with topological sorting & temporal nullifying of some references, and this might help to find out if this is a real cause.


olorin wrote:

I try to add Session.Persist, but this don't seem to help.

I get the same exception:

L'exception System.NullReferenceException s'est produite
  Message="La référence d'objet n'est pas définie à une instance d'un objet."
  Source="Xtensive.Core"
  StackTrace:
       à Xtensive.Core.Tuples.TupleExtensions.GetFieldStateMap(Tuple target, TupleFieldState requestedState)
       à Xtensive.Storage.Providers.Sql.SessionHandler.CreateUpdateTask(PersistAction action)
       à Xtensive.Storage.Providers.Sql.SessionHandler.CreatePersistTask(PersistAction action)
       à Xtensive.Storage.Providers.Sql.SessionHandler.Persist(IEnumerable`1 persistActions, Boolean dirty)
       à Xtensive.Storage.Providers.SessionHandler.Persist(EntityChangeRegistry registry, Boolean dirtyFlush)
       à Xtensive.Storage.Session.Persist(Boolean dirty)
       à Xtensive.Storage.Session.Persist()

Dmitri Maximov (Xtensive) wrote:

Hello Olorin,

I see the only way to overcome. You should gather and send to us (to support or directly to my e-mail) the following information (I claim that it is confidential): 1. Domain model. 2. One or more scenarios (code) in which the possibility of exception raising is relatively high. 3. SQL Server profiler log with insert/update sequence that is taken place during Session.Persist execution that leads to the exception. 4. Any comments on how to build and run your application.

Thanks in advance.

answered Sep 17 '09 at 18:08

Editor's gravatar image

Editor
46154156157

The corresponding issue has been opened in issue tracker: http://code.google.com/p/dataobjectsdot ... ail?id=408

(Sep 17 '09 at 18:08) Dmitri Maximov Dmitri%20Maximov's gravatar image

Hello Auguste,

Thanks, we'll run the tests on the appropriate code base revision.

(Sep 17 '09 at 18:08) Dmitri Maximov Dmitri%20Maximov's gravatar image

Hello Olorin,

I'll send the latest version of DataObjects.Net 4 to Auguste's e-mail shortly.

(Sep 17 '09 at 18:08) Dmitri Maximov Dmitri%20Maximov's gravatar image
(Sep 17 '09 at 18:08) Alex Yakunin Alex%20Yakunin's gravatar image

Just to inform everyone: yesterday we've got the sample from auguste and fixed the bug, although I don't know yet if this fix has eliminated the original problem.

(Sep 17 '09 at 18:08) Alex Yakunin Alex%20Yakunin's gravatar image

olorin wrote: Thanks!

I confirm our problem is fixed : our code runs like a charm.

(Sep 17 '09 at 18:08) Editor Editor's gravatar image

We are glad to hear this! =)

(Sep 17 '09 at 18:08) Dmitri Maximov Dmitri%20Maximov's gravatar image
(Sep 17 '09 at 18:08) Alex Yakunin Alex%20Yakunin's gravatar image
Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
toggle preview

powered by OSQA