Piotr Zieliński 0 Napisano 5 Stycznia 2023 Udostępnij Napisano 5 Stycznia 2023 w [Sfera] Wyjątek OutOfMemoryException po wielokrotnym utworzeniu dokumentu ZPM Dzień dobry, po wielokrotnym utworzeniu dokumentu ZPM za pomocą sfery rzucany jest wyjątek System.OutOfMemoryException. Dzieje się tak po utworzeniu 70/80 dokumentów. Po kilku takich próbach utworzenia dokumentu ZPM (czasami nawet po jednym razie), nasza aplikacja zacina się, a potem wyłącza. Zauważalny jest też przy samym tworzeniu dokumentu wzrost zużycia pamięci. Nie ma tutaj też znaczenia, czy dokumenty były tworzone np. w przeciągu 1 bądź 2 dni, lub czy były tworzone w tym samym momencie jeden po drugim. Jedyne co tutaj pomaga, to tylko restart aplikacji, lecz nie jest to rozwiązaniem. Tak wygląda stacktrace dla tego wyjątku. Dodatkowo sam stacktrace potrafi różnie wyglądać. Exception of type 'System.OutOfMemoryException' was thrown. at System.Collections.Generic.List`1.set_Capacity(Int32 value) at System.Collections.Generic.List`1.EnsureCapacity(Int32 min) at System.Collections.Generic.List`1.Add(T item) at VMRuntime.Libraries.CSVMRuntime.6zU=(Assembly asm, String id, Object[] args) at VMRuntime.Libraries.CSVMRuntime.RunMethod(String id, Object[] args) at InsERT.Mox.Security.LicenceController.FBQ=(ProductId productId, IEnumerable`1 minProductLevels) at InsERT.Mox.Security.LicenceController.CheckProductLevel(ProductId productId, IEnumerable`1 minProductLevels) at lTU=.mDY=.ozY=(Object& instance, Object[] methodArgs, Boolean isNullNullable, MethodBase methodBase, Boolean isVirtualCall) at lTU=.TDk=.UDk=(YDY= ) at lTU=.lDU=.mDU=(YDY= ctx) at lTU=.lDU=.mDU=(YDY= ctx) at VMRuntime.Libraries.CSVMRuntime.7DU=(KTY= vmMethod, YDY= ctx) at VMRuntime.Libraries.CSVMRuntime.6zU=(Assembly asm, String id, Object[] args) at VMRuntime.Libraries.CSVMRuntime.RunMethod(String id, Object[] args) at InsERT.Mox.Security.LicenceController.FBQ=(IProductContext productContext, IEnumerable`1 minProductLevels) at InsERT.Mox.Security.LicenceController.CheckProductLevel(IProductContext productContext, IEnumerable`1 minProductLevels) at lTU=.mDY=.ozY=(Object& instance, Object[] methodArgs, Boolean isNullNullable, MethodBase methodBase, Boolean isVirtualCall) at lTU=.kzk=.ljk=(YDY= ) at lTU=.lDU=.mDU=(YDY= ctx) at lTU=.lDU=.mDU=(YDY= ctx) at VMRuntime.Libraries.CSVMRuntime.7DU=(KTY= vmMethod, YDY= ctx) at VMRuntime.Libraries.CSVMRuntime.6zU=(Assembly asm, String id, Object[] args) at VMRuntime.Libraries.CSVMRuntime.RunMethod(String id, Object[] args) at InsERT.Mox.Security.LicenceController.CheckProductLevel(IProductContext productContext, Tuple`2[] minProductLevels) at InsERT.Moria.Narzedzia.Licencje.LicenceControllerProxy.CheckProductLevel(IProductContext productContext, Tuple`2[] minProductLevels) at InsERT.Moria.Narzedzia.ProductAffinity.ProductAffinityManager.Check(Tuple`2[] minProductLevels) at InsERT.Moria.Narzedzia.ProductAffinity.ProductAffinityManager.Check(ProductLevelId minProductLevel) at InsERT.Moria.SladRewizyjny.SladRewizyjny.<>c__DisplayClass112_0.<.ctor>b__17() at System.Lazy`1.CreateValue() at System.Lazy`1.LazyInitValue() at System.Lazy`1.get_Value() at InsERT.Moria.SladRewizyjny.SladRewizyjny.JestWylaczony(String identyfikatorTypuObiektu) at InsERT.Moria.SladRewizyjny.SladRewizyjny.Zaladowano(UnitOfWork unitOfWork, IBusinessObject businessObject) at InsERT.Moria.SladRewizyjny.ZaladowanieObiektuAdvice.Execute(IJoinpoint joinpoint) at InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() at InsERT.Mox.Aop.Weaver.RuntimeWeave(RuntimeWeavedJoinpoint joinpoint, Action coreOperation) at InsERT.Mox.BusinessObjects.BusinessObject`3.DoInitialize() at InsERT.Mox.BusinessObjects.BusinessObject`3.InitializePossiblyDeferred(Boolean considerAddingMode) at InsERT.Mox.BusinessObjects.BusinessObject`3.Load(TId id) at InsERT.Moria.EgzekutorMagazynowy.Egzekutor.<>c__DisplayClass38_0.<AnulujDyspozycje>b__2(Rozchod dyspozycja) at InsERT.Moria.Narzedzia.Prywatne.ObjectQueryHelper.<>c__DisplayClass5_0`2.<PageObjectQuery>b__0(ObjectQuery`1 pq) at InsERT.Moria.Narzedzia.Prywatne.ObjectQueryHelper.PageObjectQueryPrivate[T,TId](ObjectQuery`1 source, IEnumerable`1 ids, Action`1 action, Int32 pageSize, String idPropertyName, String parameterNamePrefix) at InsERT.Moria.Narzedzia.Prywatne.ObjectQueryHelper.PageObjectQuery[T,TId](ObjectQuery`1 source, IEnumerable`1 ids, Action`1 action, Int32 pageSize, String idPropertyName, String parameterNamePrefix) at InsERT.Moria.EgzekutorMagazynowy.Egzekutor.AnulujDyspozycje(IEnumerable`1 dyspozycje) at InsERT.Moria.EgzekutorMagazynowy.WydanieBO.ZwolnijDyspozycje() at InsERT.Moria.EgzekutorMagazynowy.WydanieBO.Dispose(Boolean disposing) at InsERT.Mox.BusinessObjects.BusinessObject`3.Dispose() at InsERT.Mox.Runtime.Unity.DisposingLifetimeManager.Dispose() at Microsoft.Practices.ObjectBuilder2.LifetimeContainer.Dispose(Boolean disposing) at Microsoft.Practices.Unity.UnityContainer.Dispose(Boolean disposing) at Microsoft.Practices.Unity.UnityContainer.Dispose() at InsERT.Mox.Runtime.Unity.UnityAdapter.Dispose() at InsERT.Mox.Work.UnitOfWork.Dispose() at InsERT.Mox.BusinessObjects.BusinessObject`3.Dispose(Boolean disposing) at InsERT.Moria.Dokumenty.Logistyka.ZlecenieProdukcyjneMontowaniaBO.Dispose(Boolean disposing) at InsERT.Mox.BusinessObjects.BusinessObject`3.Dispose() Link to postu
Mateusz Matuszewski 91 Napisano 9 Stycznia 2023 Udostępnij Napisano 9 Stycznia 2023 w [Sfera] Wyjątek OutOfMemoryException po wielokrotnym utworzeniu dokumentu ZPM Czy jest to aplikacja konsolowa czy WPF? Jednowątkowa czy wielowątkowa? Czy uchwyt do sfery tworzony jest przy dodawaniu każdego dokumentu (i czy w takim przypadku na starym uchwycie wykonywany jest Dispose), czy tylko przy uruchamianiu aplikacji? Czy rozwiązanie służy jedynie do wystawiania dokumentów ZPM czy robi jeszcze jakieś inne rzeczy? Link to postu
Piotr Zieliński 0 Napisano 9 Stycznia 2023 Autor Udostępnij Napisano 9 Stycznia 2023 w [Sfera] Wyjątek OutOfMemoryException po wielokrotnym utworzeniu dokumentu ZPM Jest to aplikacja WPF, jednowątkowa. Uchwyt tworzony jest przy starcie aplikacji. Rozwiązanie służy też do wystawiania innych dokumentów, zarządzania klientami oraz asortymentami. Link to postu
Mateusz Matuszewski 91 Napisano 9 Stycznia 2023 Udostępnij Napisano 9 Stycznia 2023 w [Sfera] Wyjątek OutOfMemoryException po wielokrotnym utworzeniu dokumentu ZPM W takim razie potrzebny będzie zrzut pamięci procesu (Menedżer Zadań -> PPM na procesie -> Utwórz plik zrzutu; po wykonaniu w okienku pojawi się lokalizacja pliku) w momencie, gdy aplikacja widocznie zaczęła spowalniać i zużywać dużo pamięci. Link to postu
Polecane posty