PawelTroka / Computator.NET

Computator.NET is a special kind of numerical software that is fast and easy to use but not worse than others feature-wise. It's features include: - Real and complex functions charts - Real and complex calculator - Real functions numerical calculations including different methods - Over 107 Elementary functions - Over 141 Special functions - Over 21 Matrix functions and operations - Scripting language with power to easy computations including matrices - You can declare your own custom functions with scripting language
GNU General Public License v3.0
233 stars 51 forks source link

Crash on Windows 10 Creators Update (Windows 10.0.15063) in Windows Store (Desktop App Converter) version because of issues with loading native libraries #73

Closed PawelTroka closed 6 years ago

PawelTroka commented 7 years ago

It looks like we are getting crashes when ScintillaNET is trying to load native library SciLexer.dll.

There are 13 somewhat similar crash reports for last 30 days and all seem to come from the same OS version (10.0.15063) which is Creators Update.

Failure nr 1: CLR_EXCEPTION_System.ComponentModel.Win32Exception_80004005_ScintillaNET.dll!ScintillaNET.Scintilla.get_CreateParams

image

image

Failure nr 2 APPLICATION_FAULT_60c201e_ScintillaNET.dll!ScintillaNET.Scintilla.get_CreateParams image

Stack trace (from v2.2.0): Stack trace Frame Image Function Offset 0 ntdll LdrAppxHandleIntegrityFailure 0x1BB 1 ntdll LdrpMapDllNtFileName 0x76DF0 2 ntdll LdrpMapDllFullPath 0xCD 3 ntdll LdrpProcessWork 0x8E 4 ntdll LdrpLoadDllInternal 0x13E 5 ntdll LdrpLoadDll 0x107 6 ntdll LdrLoadDll 0x8C 7 KERNELBASE LoadLibraryExW 0x152 8 NLog DomainBoundILStubClass.IL_STUB_PInvoke 0x89 9 ScintillaNET ScintillaNET.Scintilla.get_CreateParams 0x36 10 System_Windows_Forms_ni System.Windows.Forms.Control..ctor 0x309 11 ScintillaNET ScintillaNET.Scintilla..ctor 0x2F 12 Computator_NET Computator.NET.Controls.CodeEditors.ScintillaCodeEditorControl..ctor 0x19 13 unknown Unknown 0x1F7 14 Microsoft_Practices_Unity Microsoft.Practices.ObjectBuilder2.DynamicBuildPlanGenerationContext+cDisplayClass1._GetBuildMethod_b0 0x20 15 Microsoft_Practices_Unity Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp 0x151 16 Microsoft_Practices_Unity Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp 0x81 17 Microsoft_Practices_Unity Microsoft.Practices.ObjectBuilder2.BuilderContext.NewBuildUp 0x82 18 unknown Unknown 0xCF 19 Microsoft_Practices_Unity Microsoft.Practices.ObjectBuilder2.DynamicBuildPlanGenerationContext+cDisplayClass1._GetBuildMethod_b0 0x20 20 Microsoft_Practices_Unity Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp 0x151 21 Microsoft_Practices_Unity Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp 0x81 22 Microsoft_Practices_Unity Microsoft.Practices.Unity.UnityContainer.DoBuildUp 0x1C5 23 Microsoft_Practices_Unity Microsoft.Practices.Unity.UnityContainer.Resolve 0x14 24 unknown Microsoft.Practices.Unity.UnityContainerExtensions.Resolve[[System.__Canon, mscorlib]] 0x54 25 Computator_NET Computator.NET.Bootstrapping.WinFormsBootstrapper.RegisterControls 0x2DF 26 Computator_NET Computator.NET.Program.Main 0x1EC 27 clr CallDescrWorkerInternal 0x83 28 clr CallDescrWorkerWithHandler 0x4E 29 clr MethodDescCallSite::CallTargetWorker 0xF8 30 clr RunMain 0x1E7 31 clr Assembly::ExecuteMainMethod 0xB6 32 clr SystemDomain::ExecuteMainMethod 0x639 33 clr ExecuteEXE 0x3F 34 clr _CorExeMainInternal 0xB2 35 clr _CorExeMain 0x14 36 mscoreei _CorExeMain 0x112 37 mscoree _CorExeMain_Exported 0x6C 38 kernel32 BaseThreadInitThunk 0x14 39 ntdll RtlUserThreadStart 0x21

Another stack trace (from v2.1.0)

0 ntdll LdrAppxHandleIntegrityFailure 0x1BB 1 ntdll LdrpMapDllNtFileName 0x76DF0 2 ntdll LdrpMapDllFullPath 0xCD 3 ntdll LdrpProcessWork 0x8E 4 ntdll LdrpLoadDllInternal 0x13E 5 ntdll LdrpLoadDll 0x107 6 ntdll LdrLoadDll 0x8C 7 KERNELBASE LoadLibraryExW 0x152 8 Computator_NET DomainBoundILStubClass.IL_STUB_PInvoke 0x89 9 ScintillaNET ScintillaNET.Scintilla.get_CreateParams 0x36 10 System_Windows_Forms_ni System.Windows.Forms.Control..ctor 0x309 11 ScintillaNET ScintillaNET.Scintilla..ctor 0x2F 12 Computator_NET Computator.NET.UI.Controls.CodeEditors.Scintilla.ScintillaCodeEditorControl..ctor 0x12 13 Computator_NET Computator.NET.UI.Controls.CodeEditors.CodeEditorControlWrapper..ctor 0x58 14 Computator_NET Computator.NET.UI.Views.ScriptingView..ctor 0x6F 15 Computator_NET Computator.NET.UI.Views.MainForm..ctor 0x10F 16 Computator_NET Computator.NET.Program.Main 0x133 17 clr CallDescrWorkerInternal 0x83 18 clr CallDescrWorkerWithHandler 0x4E 19 clr MethodDescCallSite::CallTargetWorker 0xF8 20 clr RunMain 0x1E7 21 clr Assembly::ExecuteMainMethod 0xB6 22 clr SystemDomain::ExecuteMainMethod 0x639 23 clr ExecuteEXE 0x3F 24 clr _CorExeMainInternal 0xB2 25 clr _CorExeMain 0x14 26 mscoreei _CorExeMain 0x112 27 mscoree _CorExeMain_Exported 0x6C 28 kernel32 BaseThreadInitThunk 0x14 29 ntdll RtlUserThreadStart 0x21

So every time it is call to ScintillaNET.Scintilla.get_CreateParams which does a call to: LoadLibraryExW

Similar reports can be found on the web: http://rammichael.com/7-taskbar-tweaker-for-windows-10-creators-update

Simple workaround like bundling SciLexer.dll in 64bit version within Appx since we always only distribute x64 version within the Windows Store will not work because it's not p/invoke that's failing but the real call to LoadLibrary with path provided.

PawelTroka commented 7 years ago

I just upgraded OS on one of my computers and I haven't been able to reproduce this issue. Everything seems to work fine.

PawelTroka commented 6 years ago

This does not occur any longer according to health reports from Windows Developer Dashboard. image