I've published an app with integrated hockeyapp. But Windows Phone dashboard crash report contains mystic crashes that are not in hockeyapp. According to stacktrace they are native (OS crashes).
App is 8.0 DirectX + Xaml app. Crashes are generated by 8.1 devices.
8.0 devices worked perfectly. I've tested app on all known WP devices for many hours on each, everything works perfectly. Seems some ocasianal bug in 8.1 :(
The biggest crash group is the following:
EXCEPTION_FAILFAST_ON_ERRORCODE_ERROR_CODE_88000837_BEDB185E-7ADE-48E5-B755-D7556882BD1B
Frame Image Function Offset
0 KERNELBASE.dll RaiseException 0x00000036
1 npctrl.dll CXcpControl::CPReportError 0x00000066
2 npctrl.dll CXcpControl::ReportError 0x00000010
3 npctrl.dll CXcpDispatcher::OnError 0x000000c2
4 npctrl.dll CXcpDispatcher::OnWindowMessage 0x00011ba6
5 npctrl.dll CXcpDispatcher::GroupDispatchProcStatic 0x0000011e
6 CoreMessaging.dll Microsoft__CoreUI__DispatchGroupHandler$CallbackThunk 0x000000ca
7 CoreMessaging.dll Microsoft::CoreUI::DispatchGroupHandler::Invoke 0x00000016
8 CoreMessaging.dll Microsoft::CoreUI::Dispatch::Dispatcher::Callback_DispatchLoop 0x00000746
9 CoreMessaging.dll Microsoft::CoreUI::Dispatch::EventLoop::Callback_Run 0x0000007a
10 CoreMessaging.dll Microsoft::CoreUI::Messaging::MessageSession$R::Microsoft__CoreUI__IExportMessageSession_Impl::Run 0x0000002c
11 CoreMessaging.dll Microsoft::CoreUI::IExportMessageSession$X__ExportAdapter::Run 0x0000004e
12 TaskHostCore.dll HostDispatcher::Run 0x000000a8
13 TaskHostCore.dll TaskHost::RunMessageLoop 0x00000016
14 TaskHostCore.dll ThRun 0x0000000e
15 TaskHost.exe wmain 0x00000016
16 TaskHost.exe __wmainCRTStartup 0x000+H1:H2
Crash has attached minidmp for TaskHost.exe. Unfortunately i have no idea what can i get from it.
Any ideas what way i can go to fix the issue ?
Are you sure you're handling the Disconnect callback accordingly ? As in do you clear and reload all your resources after a Surface::Diconnect ? If you do not handle Disconnect at all, your app will crash on resume. If you do handle it and you're not doing it the proper way your app will start using more and more memory and will crash if it goes past 170MB or so.
Related
Maybe I'm going crazy...
I got a crash log in the Google Dev Console:
5 Feb 02:42 on app version 10
Google Emulator (generic_x86), 4096MB RAM, Android 8.0
Report 1 of 1
java.lang.IllegalArgumentException:
at business.dots.android.collection.ui.detail.redeem.states.RxStateMachine.register (RxStateMachine.kt)
at business.dots.android.collection.ui.detail.redeem.states.UIState.<init> (UIState.kt:15)
at business.dots.android.collection.ui.detail.redeem.states.UIStateIncomplete.<init> (UIStateIncomplete.kt:9)
at business.dots.android.collection.ui.detail.redeem.RedeemFragment.onCreateView (RedeemFragment.kt:58)
at android.support.v4.app.Fragment.performCreateView (Fragment.java:2261)
at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1419)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState (FragmentManager.java:1750)
at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1819)
at android.support.v4.app.BackStackRecord.executeOps (BackStackRecord.java:797)
at android.support.v4.app.FragmentManagerImpl.executeOps (FragmentManager.java:2590)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether (FragmentManager.java:2377)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute (FragmentManager.java:2332)
at android.support.v4.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:2239)
at android.support.v4.app.FragmentManagerImpl$1.run (FragmentManager.java:700)
at android.os.Handler.handleCallback (Handler.java:789)
at android.os.Handler.dispatchMessage (Handler.java:98)
at android.os.Looper.loop (Looper.java:164)
at android.app.ActivityThread.main (ActivityThread.java:6541)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:240)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:767)
The thing is that app version 10 was released back in 2017.
As of now, the class RxStateMachine does not exist in the release version.
I introduced the class around the 5th of February but i never released a version including the class.
Even if Google had a time machine and this exception is from the future, this would not be possible since I would have to use the next version code (11) in order to release a new version^^
So my question is...how is that possible?
But maybe I'm going crazy...
I am developing a javascript library to perform smart card operations using the CCID protocol over chrome webusb API. Everything goes well when I plug the smart card reader on Linux and MacOS, however I get stuck on windows when I try to claim the interface.
I tried to run chrome as an administrator, disable smart card services /
CCID drivers on windows in case those were claiming the interface, but nothing does it. I keep having the
"Failed to claim interface: Access denied (insufficient permissions)"
message. Is it really a permission problem ? Or is it some windows service I am not aware of blocking the access ?
Edit: I tried on another mac, on which the reader didn't work. After removing the specific vendor id / product id from the CCID driver info.plist, I managed to make it work. So I suppose the same problem is happening on windows, a CCID driver is "blocking" the access interface. What are my alternatives ?
The device descriptor:
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x1a44 VASCO Data Security International
idProduct 0x0001 Digipass 905 SmartCard Reader
bcdDevice 1.02
iManufacturer 1 VASCO
iProduct 2 DP905v1.1
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 93
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 50mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 11 Chip/SmartCard
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
ChipCard Interface Descriptor:
bLength 54
bDescriptorType 33
bcdCCID 1.00
nMaxSlotIndex 0
bVoltageSupport 3 5.0V 3.0V
dwProtocols 3 T=0 T=1
dwDefaultClock 3700
dwMaxiumumClock 3700
bNumClockSupported 1
dwDataRate 9946 bps
dwMaxDataRate 318280 bps
bNumDataRatesSupp. 53
dwMaxIFSD 254
dwSyncProtocols 00000007 2-wire 3-wire I2C
dwMechanical 00000000
dwFeatures 000404BE
Auto configuration based on ATR
Auto activation on insert
Auto voltage selection
Auto clock change
Auto baud rate change
Auto PPS made by CCID
Auto IFSD exchange
Short and extended APDU level exchange
dwMaxCCIDMsgLen 272
bClassGetResponse echo
bClassEnvelope echo
wlcdLayout none
bPINSupport 0
bMaxCCIDBusySlots 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 0
The insight in your edit is correct, if the CCID driver is blocking access to the device then Chrome cannot access it. In addition on Windows the operating system must know to load the WinUSB.sys driver (which comes with Windows) against the device or else any userspace application such as Chrome cannot access it. This can be accomplished using an INF file like this one or by adding Microsoft OS descriptors to the device to set the "compatible ID" to "WINUSB".
If you are building your own device the latter option is preferable as it will provide plug-and-play support for your users while the former still requires a manual installation step for Windows users.
If you are working with an existing device but have control over the Windows system then, similar to editing the Info.plist for the macOS driver, you can go into the Windows Device Manager and replace the existing driver with WinUSB.sys using an INF file like the above.
I'm pretty new to this but as far as i can see when a native driver takes hold of your USB device, your lost and there is nothing the browser can do about it. It seems a fix could be to change the vendor or product ID (if you can do this) so no native driver will claim your device. If this is not a solution, a chrome app has much more possibilities and might be able to overcome the problem.
I'm experiencing problems while building my Codename One project for Windows Phone.
I've had 3 attempts: 2 failed and 1 was stuck on a build phase for more than an hour and I decided to cancel it.
I've downloaded error logs for both failed attempts (files were more than 60M and I've noticed it too late, so sorry for using your server's bandwidth). Here is the extract (files sizes are more than 60M) from the last error log (2f361a99-589d-4e29-9e6d-14d22b1cacc3-1453240937030-error.txt/Tue Jan 19 2016 23:46:42 GMT+0200 (FLE Standard Time)):
Executing: java -Xmx1024m -jar win_xmlvm.jar --in=C:\Users\Shai\AppData\Local\Temp\build6825805865501307423xxx\classes --resource=C:\Users\Shai\AppData\Local\Temp\build6825805865501307423xxx\ApplicationCN1\ApplicationCN1\res/ --out=C:\Users\Shai\AppData\Local\Temp\build6825805865501307423xxx\ApplicationCN1\ApplicationCN1\src --target=csharp --app-name=ApplicationCN1 [01/19/16 23:47:19.038] ERROR: Couldn't create node for com.codename1.impl.ImplementationFactory
[01/19/16 23:47:19.038] ERROR: Couldn't create node for com.codename1.impl.ImplementationFactory
...classes...
...lots of warnings about hidden inherited members...
"C:\Users\Shai\AppData\Local\Temp\build6825805865501307423xxx\ApplicationCN1\ApplicationCN1.sln" (default target) (1) ->
"C:\Users\Shai\AppData\Local\Temp\build6825805865501307423xxx\ApplicationCN1\ApplicationCN1\ApplicationCN1.csproj" (default target) (2) ->
(CoreCompile target) ->
src\com\yyy\yyy\DialogForm.cs(1133,5): error CS1511: Keyword 'base' is not available in a static method [C:\Users\Shai\AppData\Local\Temp\build6825805865501307423xxx\ApplicationCN1\ApplicationCN1\ApplicationCN1.csproj]
130875 Warning(s)
1 Error(s)
Time Elapsed 00:07:44.77
My configuration:
Windows 7 SP1 x64;
Java SE Development Kit 7 Update 45 (64-bit);
Eclipse IDE for Java Developers, Version: Luna Service Release 2 (4.4.2), Build id: 20150219-0600;
Plugin: CodenameOneFeature 1.0.0.201511241324;
Contents of my codenameone_settings.properties:
#
#Mon Jan 18 16:05:13 EET 2016
codename1.vendor=yyy
codename1.displayName=yyy
codename1.icon=icon.png
codename1.languageLevel=5
codename1.secondaryTitle=yyy
codename1.version=0.4
codename1.mainName=ApplicationCN1
codename1.ios.certificatePassword=
codename1.rim.signtoolDb=
libVersion=97
codename1.ios.certificate=
codename1.arg.j2me.nativeThemeConst=3
codename1.arg.ios.add_libs=CFNetwork.framework
codename1.arg.android.debug=false
codename1.arg.android.release=true
codename1.j2me.nativeTheme=
codename1.rim.signtoolCsk=
codename1.rim.certificatePassword=
codename1.ios.provision=
codename1.packageName=com.yyy.yyy
What am I doing wrong?
You probably have a field or method named base and our old XMLVM based backend isn't smart enough to deal with that (reserved word in C#).
Just rename that for now and also look at the project size.
We are currently working on a rewrite of the Windows Phone VM/port so this and many other issues won't exist when we are done. Since its almost a complete rewrite (we will probably base it in part on the community port) this might take a while to deliver.
My Lumia 820 is running Windows Phone 8.0. My Lumia 520 is running Windows Phone 8.1 developer preview. Speech reco works fine on the Lumia 520, but with the 820 I get a System.Exception with an HRESULT code of 0x800455BC. I did some research and that error is supposed to be localization related. It happens when the language your phone is set to is not supported by the speech recognizer:
Exception HRESULT: 0x800455BC in speech recongnition in Windows phone 8
Except I am not getting the same call stack as what that page shows. Also, the solution offered on that page says I should set my recognizer to the desired language explicitly. But that's a problem since I get the error when I create the recognizer. Since I can't create it, I can't set the language. Other people get the error when they try to do a speech recognition session.
Note, I definitely have enabled speech recognition via the phone settings, even allowing it when the phone is locked. Have any of you seen this and know what to do about it? I get the error right when I try to construct the SpeechRecognizer object:
// Create the recognition engine.
this.SpeechRecognizerObj = new SpeechRecognizer();
I am developing a Windows Phone 8 application.
How can I exit or quit programmatically (through code) from my Windows Phone 8 app?
What are the various ways in which I can programmatically (through code) exit or quit from my Windows Phone 8 app?
In WP8 there's a new API which lets you terminate the application:
Application.Current.Terminate();
By calling the method your app will immediatelly terminate. However the Application_Closing event won't be called, and IsolatedStorageSettings.ApplicationSettings dictionary won't be automatically persisted.
So if you have data hanging around in IsolatedStorageSettings.ApplicationSettings that you don't want to lose then it's wise to save it:
IsolatedStorageSettings.ApplicationSettings.Save();
Application.Current.Terminate();
Also the method should not be misused. See http://msdn.microsoft.com/en-us/library/windowsphone/develop/system.windows.application.terminate(v=vs.105).aspx for more info for legitimate use cases.
while (((PhoneApplicationFrame)App.Current.RootVisual).CanGoBack)
{
((PhoneApplicationFrame)App.Current.RootVisual).RemoveBackEntry();
}
In Windows Phone 8.1, the method has been renamed to
Application.Current.Exit();