0
Fixed

Stack empty exceptions from full imports

Matthew Clark 12 years ago updated by anonymous 9 years ago 2

With the latest build of Framework, the following error appears when trying to run an adapter full import using ECMA 1:

Stack empty
at System.Collections.Generic.Stack`1.Pop()
at Unify.Framework.Collections.GenericStack`1.Pop() in c:\workspaces\DEV\FrameworkCore\Source\Collections\Unify.Framework.Collections\Collections\GenericStack.cs:line 71
at Unify.Framework.Collections.Scope`1.Dispose() in c:\workspaces\DEV\FrameworkCore\Source\Collections\Unify.Framework.Collections\Scope\Scope.cs:line 79
at Unify.Framework.Notification.ProcessScope.Dispose() in c:\workspaces\DEV\FrameworkCore\Source\Notification\Unify.Framework.Notification.Core\ProcessScope.cs:line 59
at Unify.Framework.Notification.TaskNotifier`1.Dispose() in c:\workspaces\DEV\FrameworkCore\Source\Notification\Unify.Framework.Notification.Core\TaskNotifier_T.cs:line 80
at Unify.Framework.Notification.NotificationEnumerableExtensions.<>c_DisplayClass3`1.<Notify>b_2() in c:\workspaces\DEV\FrameworkCore\Source\Notification\Unify.Framework.Notification.Core\NotificationEnumerableExtensions.cs:line 62
at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__17`1.MoveNext() in c:\workspaces\DEV\FrameworkCore\Source\Collections\Unify.Framework.Collections\Collections\EnumerableExtensions.cs:line 261
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
at System.Linq.Enumerable.<ConcatIterator>d__71`1.MoveNext()
at Unify.Framework.IO.LDIFComponentFileGenerator`1.GenerateFile(TextWriter writer, IEnumerable`1 entries) in c:\workspaces\DEV\FrameworkCore\Source\IO\Unify.Framework.IO.LDIF\LDIFComponentFileGenerator.cs:line 46
at Unify.Product.IdentityBroker.LDIFAdapterBase.<>c_DisplayClass14`1.<CreateLDIFComponentStream>b_13(Stream stream) in S:\Hg\Product\IdentityBroker\IdentityBroker\Source\Adapter\Unify.IdentityBroker.Adapter.Remoting\LDIFAdapterBase.cs:line 399
at Unify.Framework.IO.LazyEvaluationStream.Evaluate(Object obj) in c:\workspaces\DEV\FrameworkCore\Source\IO\Unify.Framework.IO\LazyEvaluationStream.cs:line 124

This is appearing in the serialization/ECMA 2 branch, but may also be occurring in default.

I fixed up task notifier to not dispose multiple times. Fixed up scope to reset the number of items in the collection.

Please confirm.

This has not been observed since fixed. Issue closed.