UWP Access violation exception when activating any input field - c#

Something strange happens with my app.
Windows 10 UWP Application, works fine on PC and on some phones. But on my lumia 730 (with latest preview build) and on devices of some my customers app crashes when you trying to activate any input field.
Application "[7376] <AppName>.exe" has terminated with code -1073741819 (0xc0000005) 'Access violation'.
Theres no any stacktrace and other error messages. How I can debug the error and find the trouble?
UPD: Windows certification kit says that everything is allright
UPD2: In emulator of Windows 10 build 14393 I ahve the same trouble
UPD3: I did turn on machine code debugging and load the pdb files.
Now I have an error in wrl\client.h on these lines:
// query for U interface
template<typename U>
HRESULT As(_Inout_ Details::ComPtrRef<ComPtr<U>> p) const throw()
{
return ptr_->QueryInterface(__uuidof(U), p);
}
Any ideas?

Related

Windows UWP BLE DeviceInformation.CreateWatcher throws Property key syntax error

We have a Desktop Windows app using some UWP Bluetooth LE UWP functions. We start the watcher:
string BTLEDeviceWatcherAQSString = "(System.Devices.Aep.ProtocolId:=\"{bb7bb05e-5972-42b5-94fc-76eaa7084d49}\")";
string[] props = { "System.Devices.Aep.DeviceAddress", "System.Devices.Aep.IsConnected", "System.Devices.Aep.Bluetooth.Le.IsConnectable"};
watcher = DeviceInformation.CreateWatcher(BTLEDeviceWatcherAQSString, props, DeviceInformationKind.AssociationEndpoint);
It runs OK on most machines, just rarely we have an anonymized error log:
System.Exception: Element not found. Property key syntax error. A property key must either be specified as a canonical property name (preferred) or be of the form {fmtid} pid.
at Windows.Devices.Enumeration.DeviceInformation.CreateWatcher(String aqsFilter, IEnumerable`1 additionalProperties, DeviceInformationKind kind)
We run this code for Windows 10.0.15063 (i.e. 1703) or higher, so all properties should be available by doc.
What may cause this error? Some HW configuration or Windows 10 settings?
I have seen this exception in a windows WPF desktop application. The reason was that I had neglected to detect the revision of Windows 10 was greater than version 1703 AKA creators edition. Therefore anyone running the application on an earlier version of Windows 10 would see this error. Its unfortunate that the error is so obscure, a not supported error would be better.

Windows 10 iot speech synthesis language change

I recently installed Windows 10 IoT on my Raspberry Pi 2 following this tutorial, but it's not working.
foreach (var voice in SpeechSynthesizer.AllVoices)
{
Debug.WriteLine($"Name: {voice.DisplayName} Lang: {voice.Language} Type: {voice.Gender} Description : {voice.Description}");
}
On my first try, the above code showed "es-ES" language pack but, when trying to use the TTS it threw an exception:
Exception thrown: 'System.Runtime.InteropServices.COMException' in System.Private.CoreLib.ni.dll
So, I did a fresh install again, copied again the files but, this time shows this:
Exception thrown: 'System.InvalidOperationException' in System.Linq.dll.
Does somebody know how to properly install a new language pack on Windows 10 IoT core?
Thanks so much for your help, the solution was really easy, hope this helps somebody else. I did a fresh install again (using the flash image from Core Dashboard) and suddenly noticed that some old files were still there, even after the flash… So I did this:
I went to Partition Wizard and deleted the SD Card partition, then made a new Fat32 volume.
I reformatted the SD Card using Windows format storage tool and unticked the “Quick Format” option and selected default cluster. For a SD Card 8GB Class 10 took about 10 minutes.
Flashed again the W iot Core image.
Copied again Speech_OneCore\TTS\es-ES and System32\Speech_OneCore\Common\es-ES to my board and reboot.
Run again the code snippet to show available languages and it showed es-ES along en-US, I tested it with a TTS code and is talking in my mother tongue without problem.

MdilXapCompile.exe -- Windows Phone Device Deployment Error

I'm trying to deploy my appo to my Lumia 930 so I can test it on something other than an emulator, but every time I hit F5 it basses the build but crashes on deplyment.
MIDLXapCompile log file:
CrossGen failed
Error processing assembly C:\Users\mrrey_000\Dropbox\Dev\Windows Store\AnimeWatcherXYZ EX Summer\AnimeWatcherXYZ.WindowsPhone\obj\ARM\Debug\MSIL\Microsoft.Advertising.Mobile.Display.winmd
Raw error code: 2148733978
I tried deleting the reference to the Microsoft Advertising SDK and applying i oce again, I've also tried to remove the previous version of the app from my device - didn't help.
And yeah, I'm deploying a DEBUG package, not RELEASE.
How can I fix this?

Trying to debug Windows Store App from dump files

Let me start with my main questions, then below I will add some specifics and history. I have done research, but can't seem to fit the pieces together. Please ask for clarification before voting me down.
My questions:
Why would my Windows Store app start and run correctly locally on my Win 8.1 64 bit AND my Win 8.1 32 bit (Atom) tablet, but not start for other users?
When I get the dump file from Windows Store certification failure, how can I get the debug symbols to work so I can see more of the issue?
When I build in 'Release' mode, does it actually put the symbols into the .pdb files? And does it index the symbols?
Here's the history:
I developed a little game as a Universal app, Win Phone and Windows Store. Win Phone version is in the store, getting downloaded, and works fine.
The Windows Store version is having issues.
It runs on my machine, Win 8.1 64bit. It runs on my tablet, Win 8.1 Atom, which I install via Remote Debug from within Visual Studio. It passes the App Certification here on my box. But when I submit the package to the Windows Store it doesn't pass, and the report says it crashes when starting up. (Somehow the first appx package was released on the store, then later they replied that it crashes, so some users say the app doesn't load.)
So, I download the debug data and open up the .dmp file. I get Exception Code 0xC000027B
Digging around online, I find this is a 'Language Exception', and is a general error saying the bug was Unhandled. Following articles like this (http://blogs.msdn.com/b/ntdebugging/archive/2014/01/13/debugging-a-windows-8-1-store-app-crash-dump.aspx)
I try to get the symbols for my app to load to see if that will help. I added a folder for my app to my local symbols cache folder (c:\symbols\myApp\1.3.0.7) thinking Visual studio would pick them up, and copied the .exe, .dll, and .pdb files from the apx package that I had submitted to the store, but still get these messages:
'WER38D7.tmp.dmp' (Minidump): Loaded '*CryptoQuoteW8cs.exe'. Module was built without symbols.
'WER38D7.tmp.dmp' (CLR v4.0.30319: ): Loaded '*CryptoQuoteW8cs.exe'. No matching binary found.
'WER38D7.tmp.dmp' (CLR v4.0.30319: ): Loaded '*CryptoLogic.DLL'. No matching binary found.
A fatal exception was caught by the runtime. See $stowedexception in the Watch window to view the original exception information.
So, I'm at a loss. How do I get my app working? What error is holding it up? Why does it work and pass Certification locally, but not on the store? How can I find out? I've been all over Bing and Microsoft, and maybe I'm just not searching for the right thing. Please help!
Edit:
From windbag, I get this call stack.
combase!RoFailFastWithErrorContextInternal2(HRESULT hrError = 0xaaaaaaaa, unsigned long cStowedExceptions = 0xaaaaaaaa, struct _STOWED_EXCEPTION_INFORMATION_V2 ** aStowedExceptionPointers = 0xaaaaaaaa)+0x10a [d:\blue_gdr\com\combase\winrt\error\error.cpp # 1035]
combase!RoFailFastWithErrorContextInternal(HRESULT hrError = 0xaaaaaaaa, unsigned long cStowedExceptions = 0xaaaaaaaa, struct _STOWED_EXCEPTION_INFORMATION_V1 ** aStowedExceptionPointers = 0xaaaaaaaa)+0x10b [d:\blue_gdr\com\combase\winrt\error\error.cpp # 948]
kernel32!BaseThreadInitThunk+0xe
ntdll!__RtlUserThreadStart+0x20
ntdll!_RtlUserThreadStart+0x1b
ok, with the help of the Windbg Extension PDE.dll from Andrew Richards, I see that your application crashes because of an not handled System.UnauthorizedAccessException.
I used !PDE.dpx -dse to shows all Stowed Exceptions (those 0xC000027B exceptions):
0:006> !PDE.dpx -dse
Start memory scan : 0x0551fc7c ($csp)
End memory scan : 0x05520000 (User Stack Base)
0x0551fc94 : 0x012db914 : !dse combase!STOWED_EXCEPTION_INFORMATION_V1
0x0551fcdc : 0x0163c168 : !dse combase!STOWED_EXCEPTION_INFORMATION_V1
Now I use !PDE.dse to display its data:
0:006> !PDE.dse 0551fc94
Stowed Exception Array # 0x0551fc94
Stowed Exception #1 # 0x012db914
0x80070005 (FACILITY_WIN32 - Win32 Undecorated Error Codes): E_ACCESSDENIED - General access denied error
Stack : 0x163c528
770ba9f1 combase!RoOriginateLanguageException+0x3b
6f137872 clr!SetupErrorInfo+0x1e1
6f1fbc91 clr!MarshalNative::GetHRForException_WinRT+0x7d
>>> Associated CLR Exception <<<
Exception object: 02b424f8
Exception type: System.UnauthorizedAccessException
Message: <Invalid Object>
InnerException: <none>
StackTrace (generated):
SP IP Function
00000000 00000001 UNKNOWN!UNKNOWN+0x2
0551FC58 015702E9 CryptoQuoteW8cs!UNKNOWN+0x81
0551FC6C 01570251 CryptoQuoteW8cs!UNKNOWN+0x11
StackTraceString: <none>
HResult: 80070005
0:006> !PDE.dse 0163c168
Stowed Exception Array # 0x0163c168
Stowed Exception #1 # 0x012db914
0x80070005 (FACILITY_WIN32 - Win32 Undecorated Error Codes): E_ACCESSDENIED - General access denied error
Stack : 0x163c528
770ba9f1 combase!RoOriginateLanguageException+0x3b
6f137872 clr!SetupErrorInfo+0x1e1
6f1fbc91 clr!MarshalNative::GetHRForException_WinRT+0x7d
>>> Associated CLR Exception <<<
Exception object: 02b424f8
Exception type: System.UnauthorizedAccessException
Message: <Invalid Object>
InnerException: <none>
StackTrace (generated):
SP IP Function
00000000 00000001 UNKNOWN!UNKNOWN+0x2
0551FC58 015702E9 CryptoQuoteW8cs!UNKNOWN+0x81
0551FC6C 01570251 CryptoQuoteW8cs!UNKNOWN+0x11
StackTraceString: <none>
HResult: 80070005
Stowed Exception #2 # 0x01639748
0x80070005 (FACILITY_WIN32 - Win32 Undecorated Error Codes): E_ACCESSDENIED - General access denied error
Stack : 0x69d29c4
6d33bd5e Windows_UI_Xaml!DirectUI::Application::MainASTAInitialize+0xa9
6d33bb05 Windows_UI_Xaml!DirectUI::FrameworkView::Initialize+0x5a
6dc5a597 twinapi_appcore!Windows::ApplicationModel::Core::CoreApplicationView::CreateAndInitializeFrameworkView+0xa7
6dc5a6eb twinapi_appcore!Windows::ApplicationModel::Core::CoreApplicationView::CreateAndInitializeFrameworkView+0x1fb
74b2a83a SHCore!Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,CScalingInfoBase,Microsoft::WRL::FtmBase,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil>::`vector deleting destructor'+0x189
772c919f kernel32!BaseThreadInitThunk+0xe
775a0bbb ntdll!__RtlUserThreadStart+0x20
775a0b91 ntdll!_RtlUserThreadStart+0x1b
Here you can see that the underlaying issue is the System.UnauthorizedAccessException. The dmp is only a minidump, so I can't see what CryptoQuoteW8cs!UNKNOWN+0x81 does.
Use the Application.UnhandledException event to handle exception that you have not handled via try/catch to prevent the app from crashing.
Here is a good guide on how to handle exceptions:
Strategies for Handling Errors in your Windows Store Apps

How can I find the cause of an ExecutionEngineException

I have a WPF application(.net 4.0) which is working fine on Windows 7 systems. But when I try to run the application windows 8.1 it is working fine for 15 to 20 mins but after that suddenly a popup message is showing like
A problem caused the program to stop working correctly. Windows will close the program and notify you if a solution is available
popup message showing with two options Debug and close program. When I press debug it is showing message as FatalExecutionEngineError detected
The runtime has encountered a fatal error. The address of the error was at 0x713543ed, on thread 0x23624. The error code is 0xc0000005. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack.
if i press continue further showing message as
An unhandled exception of type 'System.ExecutionEngineException' occurred in PresentationFramework.dll
But i didn't get the exact reason why it is failing and which portion of code is causing the problem?
After searching over the net i have tried the following
Added DispatcherUnhandledException handler and App domain Unhandled exception handler and also added legacyUnhandledExceptionPolicy to . But nothing is works for me still facing the crash on Windows 8.1
Can someone point me how to detect the code portion which causing the crash? and How to handle FatalExecutionEngineEror exception?
EDIT
CLR version Used in both windows 7 and 8.1 is 4.0.30319

Categories

Resources