We have a Kiosk app which runs on Chrome Kiosk mode and is written in React JS. But for some of our Kiosk machines (All of our machines are Windows machines), it seems to be crashing regularly (Approx. %4 of the devices) without any user input or fixed time between crashes.
I reviewed the code several times but never found any background tasks running, or any reason for the Chrome to crash at all.
Because the crashes are irregular, I cannot connect to a problematic device and wait for it to crash for hours to debug the process. And because the app is automatically started via a VB script when Windows is started, the clients often "solve" the crashes by restarting the Kiosk machine, which is time consuming and leads to tons of complaints.
So my questions are;
Can I somehow force Chrome to restart, or lets say Go to first page in history if it crashes?
Can I catch errors globally without using ErrorBoundries in JavaScript (It is already implemented and is used for other things)
I tried using --remote-debugging-port=9222 to use Developer Tools, but I need to be connected to the machine and go to localhost:9222 port manually to use this and cannot afford to be connected to the device all the time. So is there a way to connect and use Developer Tools on 9222 port remotely?
I tried saving console logs to a file (using Chrome Command Line Arguments) but never saw any "Errors" on the list, so is there any arguments to help me save crash logs to a file to inspect them after the crash?
Thanks for all your help.
Related
I have encountered a problem with uVision and Hitex emulator (Tanto2) on a Win10 laptop (fresh install).
My initial setup was UV5.23, I updated to 5.24 and made tentative with 5.25 on Keil's request.
I have a dedicated SDK release for UV5.23, I switched to a new one for UV5.24.
Firmware emulator was reflashed when I was using SDK for UV5.23, and updated when moving to UV5.24
What I can do:
- start UV5, open my project,
- start a debug session on the emulator, load my project, make the first run and stop debug session.
Whatever the release I use, the problem appears when I want to start a second debug session on the emulator. Once I click on the Start Debug, UV5 crashes with this message:
"uVision IDE has stopped working
A problem caused the program to stop working correctly. Windows will ..."
I need to relaunch UV5 to run a new debug session.
The setup using Keil 5.23 and its dedicated SDK release was OK till the end of March.
Since the end of March, the Windows updates that have appeared are: KB4088776, KB4093110, KB4093112, KB890830, KB4099989.
I tried uninstalling KB4099989, but there was no change, the problem is still present.
Is there a link with these updates?
If someone encounters the same problem and was able to solve it, I hear you :-)
The same problem appears on the laptop of my colleague whereas it is working fine before the last Windows update.
Thank you in advance for your help.
This is because of the below issue. If there is a crash in application during dll unload, windows adds an entry in registry to ignore a future unload dll request. So if the application tries to load the dll again within the same session, then the application crashes.
As a workaround goto the below location in registry,
My Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
and delete the unload registry path. Everytime if there is a new crash then the dll will be added back which needs to be removed.
[work around]
I also get crashes when entering debugger session, however I noticed that it occurs only if I click the debugger icon and then leave the pointer over that icon. I have never had it crash if I click and immediately move the pointer away.
I'm trying to upload some video files using BackgroundUploader component.
It works great if I keep the application open until the transfer completes.
It also works great if the app is closed, the transfer is completed under the hood, which is great.
But it doesn't work if the application is restarted (rerun normally) before the transfer is finished. Simply put, there is no sign of error, the UploadOperation status is running but nothing happens anymore regarding this upload request.
I can see using WireShark that the transfer is stopped:
When the application starts there is no code that does anything regarding BackgroundUploader.
I don't know why but it behaves as normal when the app is not run from Visual Studio even if it is only Start Without Debugging.
Is this some kind of know issue or limitation?
What will happen with background transfers if the app is updated via Windows Store in the middile?
I'am developing windows store application. Sometimes application gets hang and crash. In the development environment is there any best way to get crash reports and analyze those reports. I have gone through some articles regarding application crashes. In those they've mentioned about windows application logs and report.wer files. But those files not contained much information about application crash (like stack trace). Please help.
For published apps on Windows Store (metro apps) and Windows Phone, all info about crashes (exceptions) you can get in Dashboard, where you submit the application, in Crash reports section.
For each application you can download excel file, where you can see all occurred exceptions and stack trace for each exception.
Or you can create your own logging system and submit crash log from user device in automatic mode or let the user to choose.
(Automatic send mode is not recommended, just for option)
You can get the crash reports from crash window which contains break and continue buttons. It might be applicable when you don't get the stack trace from your code. Now you can close the crash window and the bug line will be highlighted, mousehover on the args of that event and you can find TextVisualizer.
Now open that and you can find the stacktrace of the exception
I have a codenameone app that works fine in the desktop emulator (windows 7) but when I run it on my Xperia Z1 (android) it crashes when I try to show a new form (this has been working fine).
I am currently using the free account and so do not get crash reports (e.g. a call stack). And it'll take me forever to keep trial-and-error hoping to find it ....
Any suggestions?
Install the Android SDK, connect your device with a cable and launch the DDMS tool to connect to the device. You should be able to see the log messages and stack trace thru that and it might give you a better indication of what is going on.
It was as hard to write a good title for this issue as it was to search the web for it.
I have a lot of projects, some are in maintenance (they have been productive for years) and others in active development. This is an important fact because the problem happens on all projects on my computer and not on others.
The problem is that I run all web projects on tomcat and they all have database connections. I always used the "Terminate" button in favor of the "Stop" button to restart or stop tomcat from eclipse.
For those who dont know, the terminate button is the red button that stops the app from the log console or the debug console, while the stop button is the same red button but on the servers console.
It is a lot faster to stop the servers from the terminate button rather then the stop button, the problem is that ever since I upgraded to Helios my database connections no longer closed when terminating the servers... they do when stopping them normally.
Well no need to say that I discovered this because the database servers (Oracle, MySQL and SQLServer) started giving "Too many connections" errors.
This is a huge head scratcher for me since code has nothing to do with this issue, different types of database management in different projects have the same problem, only on my machine! Yes I havee tried this on other computers and the problem does not occur.
I have tried everything I could think of short from formatting...
Upgraded to Indigo
Reinstalled Galileo (even downloaded a fresh copy)
Reinstalled and tried different databases
Tried different versions of Tomcat (6 and 7)
I am starting to think it might not be an IDE problem and it just happened to start when I upgraded eclipse.
ANY suggestions are welcome!
When you stop Tomcat using that red button, Tomcat is actually requested to stop itself. If some SQL statement of your webapplication is blocked, then Tomcat will not stop. This probably causes the connection leak.
Why would an SQL statement block? This typically happens if another database user updates or deletes the same record that your application is trying to update/modify.
However, in my case Eclipse shows a popup after about 30 seconds to warn that Tomcat did not stop itself. The popup asks whether Tomcat should then be terminated (which should terminate even while the blocked connectione exists).