Quantcast
Viewing all articles
Browse latest Browse all 22

Commented Issue: ArgumentNullException [7639]

Hi Throb,

I tried to migrate the version I use Obtics hoping to have a performance gain for the last
changeset. I am facing a bug, here is the stacktrace:

at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Obtics.Collections.Patches.StandardPatchBase`2.<TakeSnapshot>b__0()
at Obtics.Collections.Transformations.XLazySnapshotEnumerator.TakeSnapshot[TType](Object transformation, VersionNumber contentVersion, Func`1 generateEnumerable)
at Obtics.Collections.Patches.StandardPatchBase`2.TakeSnapshot()
at Obtics.Collections.Patches.StandardPatchBase`2.GetEnumerator()
at Obtics.Collections.Transformations.NotifyVpcTransformation`2.InitializeBuffer(FlagsState& flags)
at Obtics.Collections.Transformations.OpaqueTransformationBase`3.CallInitializeBuffer(FlagsState& flags)
at Obtics.Collections.Transformations.OpaqueTransformationBase`3.GetEnumeratorEvent()
at Obtics.NCSourcedObjectToVE`2.GetEnumerator()
at Obtics.Collections.Transformations.FilterTransformationBase`3.InitializeBuffer(FlagsState& flags)
at Obtics.Collections.Transformations.OpaqueTransformationBase`3.CallInitializeBuffer(FlagsState& flags)
at Obtics.Collections.Transformations.OpaqueTransformationBase`3.GetEnumeratorEvent()
at Obtics.NCSourcedObjectToVE`2.GetEnumerator()
at Obtics.Collections.Transformations.ConvertTransformationBase`4.GetEnumerator()
at Obtics.Collections.Transformations.ConvertTransformationBase`4.GetEnumeratorEvent()
at Obtics.NCSourcedObjectToVE`2.GetEnumerator()
at Obtics.NCSourcedObjectToVE`2.System.Collections.Generic.IEnumerable<TOut>.GetEnumerator()
at System.Linq.Enumerable.Aggregate[TSource,TAccumulate,TResult](IEnumerable`1 source, TAccumulate seed, Func`3 func, Func`2 resultSelector)
at Obtics.Collections.Transformations.AccumulativeAggregate`3.GetValueDirect()
at Obtics.Collections.Transformations.AggregateBase`2.InitializeBuffer()
at Obtics.Values.Transformations.CachedTransformationBase`2.GetValueEvent()
at Obtics.NCSourcedObjectToVP`2.get_Value()
at Obtics.Values.Transformations.UnarySelectTransformation`2.GetValue()
at Obtics.Values.Transformations.ConvertTransformationBase`2.GetValueEvent()
at Obtics.NCSourcedObjectToVP`2.get_Value()
at Obtics.Values.Transformations.CascadeTransformation`2.GetValueFromItm(IInternalValueProvider`1 itm)
at Obtics.Values.Transformations.CascadingTransformationBase`3.GetValueEvent()
at Obtics.NCSourcedObjectToVP`2.get_Value()
at Obtics.Values.Transformations.CascadeTransformation`2.GetValueFromItm(IInternalValueProvider`1 itm)
at Obtics.Values.Transformations.CascadingTransformationBase`3.GetValueEvent()
at Obtics.NCSourcedObjectToVP`2.get_Value()
at Obtics.Values.Transformations.PipelineResultTransformation`3.GetValue()
at Obtics.Values.Transformations.ConvertTransformationBase`2.GetValueEvent()
at Obtics.NCSourcedObjectToVP`2.get_Value()
at Arcan.Planning.ViewModels.DynamicWorkDay.get_Value()
at lambda_method(Closure , DynamicWorkDay )
at Obtics.Values.Transformations.PropertyTransformation`2.PropertyClass.GetValue(TIn obj)
at Obtics.Values.Transformations.PropertyTransformation`2.GetValueFromItm(TIn itm)
at Obtics.Values.Transformations.CascadingTransformationBase`3.GetValueEvent()
at Obtics.NCSourcedObjectToVP`2.get_Value()
at Obtics.Values.Transformations.UnarySelectTransformation`2.GetValue()
at Obtics.Values.Transformations.ConvertTransformationBase`2.GetValueEvent()
at Obtics.NCSourcedObjectToVP`2.get_Value()
at Obtics.Values.Transformations.UnarySelectTransformation`2.GetValue()
at Obtics.Values.Transformations.ConvertTransformationBase`2.GetValueEvent()
at Obtics.NCSourcedObjectToVP`2.get_Value()
at Obtics.Values.Transformations.CascadeTransformation`2.GetItmFromSource()
at Obtics.Values.Transformations.CascadingTransformationBase`3.GetValueEvent()
at Obtics.NCSourcedObjectToVP`2.get_Value()
at Obtics.Values.Transformations.UnarySelectTransformation`2.GetValue()
at Obtics.Values.Transformations.ConvertTransformationBase`2.GetValueEvent()
at Obtics.NCSourcedObjectToVP`2.get_Value()
at Obtics.Values.Transformations.CascadeTransformation`2.GetItmFromSource()
at Obtics.Values.Transformations.CascadingTransformationBase`3.GetValueEvent()
at Obtics.NCSourcedObjectToVP`2.get_Value()
at Obtics.Values.Transformations.PipelineResultTransformation`3.GetValue()
at Obtics.Values.Transformations.ConvertTransformationBase`2.GetValueEvent()
at Obtics.NCSourcedObjectToVP`2.get_Value()
at Obtics.Values.Transformations.ExceptionTransformation`2.GetValue()
at Obtics.Values.Transformations.ConvertTransformationBase`2.GetValueEvent()
at Obtics.NCSourcedObjectToVP`2.get_Value()

I think I'll go back to the old, when do you think that a new stable version will be available?

You use your assembly in your projects?
I'd like Microsoft to do a library like yours, because it should ask you a lot of work.

Best regards,
Vincent BOUZON
Comments: ** Comment from web user: Throb **

Yes, it does take a lot of work. So at the moment progress is quite slow. The new version will not do implicit null reference checks. This leads to a significant performance improvement but leaves checking for null references or catching exceptions to the developer. Also the new introduction of skiplists (form of binary trees) should lead to improvements when working with large collections.

Would be nice to work on this concept in a real team, like at Microsoft.


Viewing all articles
Browse latest Browse all 22

Trending Articles