We have chosen to move our HierarchyRoot attributes to our base classes. See: http://support.x-tensive.com/question/3336/weird-exceptions-for-inherited-classes-during-domain-build After that a set of bugs has arrived. So this is on more:

[ArgumentException: Invalid TupleDescriptor. Expected descriptor is TupleDescriptor(Guid, Int32, Guid, Guid, String, String, Guid, Boolean, Boolean, Guid, String, Guid, Int32, String, UInt32, UInt32, UInt16, Guid).
Parameter name: difference]
   Xtensive.Core.Tuples.TupleExtensions.MergeWith(Tuple origin, Tuple difference, Int32 startIndex, Int32 length, MergeBehavior behavior) in d:\Home\DataObjects.Net\Xtensive.Core\Xtensive.Core\Tuples\TupleExtensions.cs:224
   Xtensive.Core.Tuples.TupleExtensions.MergeWith(Tuple origin, Tuple difference, MergeBehavior behavior) in d:\Home\DataObjects.Net\Xtensive.Core\Xtensive.Core\Tuples\TupleExtensions.cs:291
   Xtensive.Storage.EntityState.Update(Tuple update) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\EntityState.cs:222
   Xtensive.Storage.Session.UpdateEntityState(Key key, Tuple tuple, Boolean isStale) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Session.Cache.cs:168
   Xtensive.Storage.Session.UpdateEntityState(Key key, Tuple tuple) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Session.Cache.cs:178
   Xtensive.Storage.Providers.SessionHandler.UpdateEntityStateInSessionCache(Key key, Tuple tuple, Boolean isStale) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Providers\SessionHandler.StateManagement.cs:63
   Xtensive.Storage.Providers.SessionHandler.RegisterEntityState(Key key, Tuple tuple) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Providers\SessionHandler.StateManagement.cs:30
   Xtensive.Storage.Linq.Materialization.ItemMaterializationContext.Materialize(Int32 entityIndex, Int32 typeIdIndex, TypeInfo type, Pair`1[] entityColumns, Tuple tuple) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Linq\Materialization\ItemMaterializationContext.cs:56
   lambda_method(Closure , Object[] , Tuple , ItemMaterializationContext ) +383
   Xtensive.Core.<>c__DisplayClassa`4.<Bind>b__9(T2 arg2, T3 arg3) in d:\Home\DataObjects.Net\Xtensive.Core\Xtensive.Core\Extensions\DelegateBindExtensions.cs:46
   Xtensive.Storage.Linq.Materialization.<>c__DisplayClass4`1.<Materialize>b__3(Tuple tuple) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Linq\Materialization\MaterializationHelper.cs:117
   System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +151
   Xtensive.Core.<Batch>d__20`1.MoveNext() in d:\Home\DataObjects.Net\Xtensive.Core\Xtensive.Core\Extensions\EnumerableExtensions.cs:498
   Xtensive.Core.<ApplyBeforeAndAfter>d__28`1.MoveNext() in d:\Home\DataObjects.Net\Xtensive.Core\Xtensive.Core\Extensions\EnumerableExtensions.cs:594
   Xtensive.Storage.<ToTransactional>d__0`1.MoveNext() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\TransactionalExtensions.cs:327
   System.Linq.<SelectManyIterator>d__14`2.MoveNext() +399
   System.Linq.Enumerable.SingleOrDefault(IEnumerable`1 source) +4178557
   lambda_method(Closure , Object[] , IEnumerable`1 , Dictionary`2 , ParameterContext ) +162
   Xtensive.Core.<>c__DisplayClass13`5.<Bind>b__12(T2 arg2, T3 arg3, T4 arg4) in d:\Home\DataObjects.Net\Xtensive.Core\Xtensive.Core\Extensions\DelegateBindExtensions.cs:70
   Xtensive.Storage.Linq.TranslatedQuery`1.Execute(ParameterContext parameterContext) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Linq\TranslatedQuery{TResult}.cs:55
   Xtensive.Storage.Linq.QueryProvider.Execute(Expression expression) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Linq\QueryProvider.cs:71
   System.Linq.Queryable.SingleOrDefault(IQueryable`1 source, Expression`1 predicate) +300
   Werp.Preloader.EntitiesPreloader.GenerateItems() in D:\Home\Docs\Visual Studio 2010\Projects\Platform\Werp.Preloader\EntitiesPreloader.cs:75
   Werp.Preloader.InitData.Init() in D:\Home\Docs\Visual Studio 2010\Projects\Platform\Werp.Preloader\InitData.cs:127
   Werp.Utils.DomainBuilder.PopulateData(Boolean checkIfPopulated) in D:\Home\Docs\Visual Studio 2010\Projects\Platform\Werp.Utils\DomainBuilder.cs:92
   Werp.Utils.DomainBuilder.Build() in D:\Home\Docs\Visual Studio 2010\Projects\Platform\Werp.Utils\DomainBuilder.cs:72
   Xtensive.Storage.Web.SessionManager.EnsureDomainIsBuilt() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Web\SessionManager.cs:281
   Xtensive.Storage.Web.SessionManager.get_Domain() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Web\SessionManager.cs:154
   Xtensive.Storage.Web.SessionManager.ProvideSession() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Web\SessionManager.cs:240
   Xtensive.Storage.Web.SessionManager.EnsureSessionIsProvided() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Web\SessionManager.cs:287
   Xtensive.Storage.Web.SessionManager.get_Session() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Web\SessionManager.cs:174
   Xtensive.Storage.Web.SessionManager.<System.Web.IHttpModule.Init>b__4() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Web\SessionManager.cs:266
   Xtensive.Storage.Session.get_Current() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Session.cs:228
   Werp.Controller.Services.WerpSessionProvider.GetItemExclusive(HttpContext context, String id, Boolean& locked, TimeSpan& lockAge, Object& lockId, SessionStateActions& actions) in D:\Home\Docs\Visual Studio 2010\Projects\Platform\Werp.Controller.Services\WerpSessionProvider.cs:75
   System.Web.SessionState.SessionStateModule.GetSessionStateItem() +115
   System.Web.SessionState.SessionStateModule.BeginAcquireState(Object source, EventArgs e, AsyncCallback cb, Object extraData) +768
   System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +96
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184

The query is innocent and worked well with 4.3.5@18/10/2010 alt text

asked Oct 27 '10 at 07:36

xumix's gravatar image

xumix
425757682

edited Oct 29 '10 at 02:23

Alex%20Yakunin's gravatar image

Alex Yakunin
29714412

The bug is reproduced in the latest stable branch

(Oct 27 '10 at 07:52) xumix xumix's gravatar image

UPD: The model is the same as in previous case, but [HierarchyRoot] was moved in the superclass in the hierarchy.

Query:

docEntity.BaseClass = Query.All<EntityBaseClass>()
  .SingleOrDefault(e => e.SysName == entityBaseClass.FullName);
(Oct 27 '10 at 07:59) Alex Yakunin Alex%20Yakunin's gravatar image
Be the first one to answer this question!
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