Application not responding when CefSharp.BrowserSubprocess.exe crashes - c#-4.0

I've developed an application using cefSharp, application is working very fine.
But when any unhandled exception occurred in application at that time CefSharp.BrowserSubprocess.exe crashes and application throws message that application is not responding.
I've used below code for checking (throws unhandled exception)
private void OnBrowserStatusMessage(object sender, StatusMessageEventArgs args)
{
this.InvokeOnUiThreadIfRequired(() => lblStatus.Text = args.Value);
//Used below code to throw error for checking
throw new InvalidOperationException("Invalid operation.");
}
When below code throws error application got hanged and throws message that application is not responding.
Can any one tell me how can i handle this issue.
I'm using Chromium: 47.0.2526.80.
Here is a sample of my debug.log from my release folder, edited to remove too many duplicates:
[0317/175414:WARNING:quota_manager.cc(193)] Create directory failed for path
[0317/181858:ERROR:ipc_channel_win.cc(207)] pipe error: 109
[0317/182108:WARNING:quota_manager.cc(193)] Create directory failed for path
Edit debug.log
[0317/175414:WARNING:quota_manager.cc(193)] Create directory failed for path
[0317/181858:ERROR:ipc_channel_win.cc(207)] pipe error: 109
[0317/192448:ERROR:ipc_channel_win.cc(502)] pipe error: 232
[0317/193320:ERROR:ipc_channel_win.cc(207)] pipe error: 109
[0319/142421:WARNING:content_browser_client.cc(622)] No browser info matching frame process id 13 and routing id 1
[0319/183359:ERROR:audio_output_device.cc(427)] IO loop going away before the audio device has been stopped
[0319/184355:ERROR:ssl_client_socket_openssl.cc(1056)] handshake failed; returned -1, SSL error code 1, net_error -100
[0319/192106:ERROR:ssl_client_socket_openssl.cc(1056)] handshake failed; returned -1, SSL error code 1, net_error -100
[0319/200702:ERROR:gles2_cmd_decoder.cc(13099)] [.RenderWorker-00328548]GL ERROR :GL_INVALID_VALUE : glCopySubTextureCHROMIUM: source texture has no level 0

Related

An unknown server-side error occurred while processing the command. Original error: Failed to locate opened application window with appId

Class Initialization method xxxxx.Features.PublicAppFeature.FeatureSetup threw exception. OpenQA.Selenium.WebDriverException: OpenQA.Selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Failed to locate opened application window with appId: xxxxxxxxxxxxxxxxx, and processId: xxxx.
An Application opened on the Remote machine. But they failed with the above error.
Run on Azure Pipeline on a Self-hosted machine(Window Server 2019 Datacenter)
Application is opened on the machine.
AppiumOptions options = new AppiumOptions();
options.AddAdditionalCapability("app", AppPath);
options.AddAdditionalCapability("ms:waitForAppLaunch", $"{SecondsToWaitOnOpen}");
options.AddAdditionalCapability("ms:experimental-webdriver", false);
session = new WindowsDriver(WindowsApplicationDriverUrl, options);

Parse Server + Express - Issues with ParseError and site dying/restarting

I have deployed a Bitnami Parse stack to a Google Cloud VM. This stack is basically Apache running as a proxy, Then a MEAN stack handling parse server and dashboard etc.
Everything appears to be working fine when accessing the dashboard and sending individual CURL requests to test it's all available.
However, there appears to be a fatal flaw in that. When Parse returns one of it's errors e.g.
{"code":101,"error":"Object not found."}
Express sees it as an uncaught exception and dies. Now I realise that it's intentional behaviour (There's enough information out there as to why you don't want to persist after an uncaught exception)
The Bitnami stack uses Forever to run the Parse Server, but as you can see from the logs I will include below, you still run into issues with refused connections.
2016-11-25T11:41:16+00:00 DEBUG (7): {"code":101,"error":"Object not found."}
2016-11-25T11:41:16+00:00 DEBUG (7): Failed to connect to X.X.X.X: Connection refused
2016-11-25T11:41:17+00:00 DEBUG (7): Failed to connect to X.X.X.X: Connection refused
2016-11-25T11:41:17+00:00 DEBUG (7): Failed to connect to X.X.X.X: Connection refused
2016-11-25T11:41:17+00:00 DEBUG (7): Failed to connect to X.X.X.X: Connection refused
Meanwhile in the Forever logs:
Error generating response. ParseError { code: 101, message: 'Object not found.' } code=101, message=Object not found.
[object Object]
/opt/bitnami/apps/parse/htdocs/node_modules/parse-server/lib/ParseServer.js:425
throw err;
^
Error: EACCES: permission denied, open '/opt/bitnami/apps/parse/htdocs/logs/parse-server.info.2016-11-25'
at Error (native)
error: Forever detected script exited with code: 7
error: Script restart attempt #1
parse-server running on port 1337
parse-dashboard running on port 4040
So you can see that immediately following a Parse error being returned, The service is unavailable until Forever can restart the Parse Server.
This issue appears that it would affect all users as well, so if one user receives an exception, all users lose connection for a brief period.
So the question is, how should this be properly handled? Is Parse + Express not the way to go about it? Or is there some method of configuring Node or Express to return the API error to the requester, without Express dying (And without having to fall into the trap of using uncaughtException to keep Node alive)
Any help would be much appreciated, thank you
The logs from Forever said it's EACCES error, that means ParseServer couldn't access the log file and not able to write the info log in it.
Error: EACCES: permission denied, open '/opt/bitnami/apps/parse/htdocs/logs/parse-server.info.2016-11-25'
at Error (native)
error: Forever detected script exited with code: 7
error: Script restart attempt #1
parse-server running on port 1337
parse-dashboard running on port 4040
I think you have to change the /opt/bitnami/apps/parse/htdocs/logs with proper permission so that ParseServer can write log files in it.

Crossbar Thruway worker crashes

I have a Crossbar.io server with PHP Thruway workers. Recently, I started getting the following error. It happens about once a day now:
2016-04-17T21:08:12+0000 [Router 9572] Unable to format event {'log_logger': <Logger 'crossbar.router.protocol.WampWebSocketServerProtocol'>, 'log_time': 1460927292.17918, 'log_source': None, 'log_format': 'Traceback (most recent call last):\n File "/usr/local/lib/python2.7/site-packages/autobahn/wamp/websocket.py", line 88, in onMessage\n for msg in self._serializer.unserialize(payload, isBinary):\n File "/usr/local/lib/python2.7/site-packages/autobahn/wamp/serializer.py", line 106, in unserialize\n raise ProtocolError("invalid serialization of WAMP message ({0})".format(e))\nProtocolError: invalid serialization of WAMP message (Expected object or value)\n'}: tuple index out of range
2016-04-17T21:08:15+0000 [Guest 9583] The connected has closed with reason: close
2016-04-17T21:08:19+0000 [Guest 9583] PHP Fatal error: Call to a member function call() on null in /var/www/html/pickupServer/vendor/voryx/thruway/src/Thruway/ClientSession.php on line 106
2016-04-17T21:08:19+0000 [Guest 9583] Fatal error: Call to a member function call() on null in /var/www/html/pickupServer/vendor/voryx/thruway/src/Thruway/ClientSession.php on line 106
2016-04-17T21:08:19+0000 [Controller 9565] Guest worker2 exited with error A process has ended with a probable error condition: process ended with exit code 255.
Does anyone know hot to prevent this?
How do I automatically restart the worker if it fails as in this case?
I solved it in linux with MONIT checking crossbar-controler process and adding the following line:
if children < 3 then restart
3 is the number os child processes that crossbar-controler has on my environment. If any of them exits then crossbar restarts itself and notifies me. You have to check the number of child processes you have running using:
sudo service crossbar status.
This solves the error exit worker but with a cost of restarting the crossbar-controler. I am convinced that must be a crossbar/thruway way of solving the problem.
The ideal way is to try catch all possible errors of php to prevent fatal worker exits.
Thanks

STEAMCMD: Assertion Failed: Failed to write app state file

I'm setting up a gmod server on Linux but I get an error saying it failed to write app state. I read somewhere it was something to do with permission but I'm not sure how to fix it. What is causing this error and how can it be fixed?
Steam>force_install_dir /home/steam/gmod
Steam>app_update 4020
/home/buildbot/buildslave/steam_rel_client_linux/build/src/clientdll/applicationmanager.cpp (937) : Assertion Failed: Failed to write app state file /home/steam/gmod/b880344e252db2ff689623b22f39bb22fdbd1e01/appmanifest_4020.acf
/home/buildbot/buildslave/steam_rel_client_linux/build/src/clientdll/applicationmanager.cpp (937) : Assertion Failed: Failed to write app state file /home/steam/gmod/b880344e252db2ff689623b22f39bb22fdbd1e01/appmanifest_4020.acf
Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
Error! App '4020' state is 0x1 after update job.
I've resolved with root account. Launched steamcmd with root and then updated the app. No errors occurred. I hope could help someone.

Sending message via AMQP using qpid-proton-c fails with error SSL Failure: Unknown error

I am trying to get the sender example from the azure-service-bus-sample working on Linux based system (https://github.com/genieplus/azure-service-bus-samples/blob/master/proton-c-queues-and-topics/sender.c). However, when I try to execute it, it always fails with the following traces:
Sending messages to amqps://testRule:***#MY_DOMAIN/ServiceBusDefaultNamespace/q1
CALL pn_messenger_set_outgoing_window... RETURNED 0
CALL pn_messenger_set_blocking... RETURNED 0
CALL pn_messenger_start... RETURNED 0
CALL pn_messenger_put... RETURNED 0
CALL pn_messenger_send... recv: Connection reset by peer
[0x1449a80]:ERROR amqp:connection:framing-error SSL Failure: Unknown error.
CONNECTION ERROR connection aborted (remote)
RETURNED 0
I tried to add the auto generated certificate as a trusted certificate via
pn_messenger_set_trusted_certificates (messenger, "/ca/trusted/);
I got a different error message:
Sent BytesMessage with id
c99a2261-843e-4ebf-846c8fe799e8fc0b
Message status PN_STATUS_ABORTED
Final send status is: failed, never sent on network
CALL pn_messenger_settle... RETURNED 0
CALL pn_messenger_put... RETURNED 0
CALL pn_messenger_send... [0x18aaad0]:ERROR amqp:connection:framing-error SSL Failure: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
RETURNED 0
Any idea how to fix this?
You have to download the server certificate and copy to the path mentioned in the code. In linux you have to run c_rehash command to create hashing.
Ref link: https://www.openssl.org/docs/manmaster/ssl/SSL_CTX_load_verify_locations.html

Resources