Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BrowserSubprocess has stopped working; Exception Code: e0000008 #2019

Closed
Guido22 opened this issue Apr 13, 2017 · 18 comments
Closed

BrowserSubprocess has stopped working; Exception Code: e0000008 #2019

Guido22 opened this issue Apr 13, 2017 · 18 comments

Comments

@Guido22
Copy link

Guido22 commented Apr 13, 2017

I have a VB.Net Application using Nuget Winforms : version 55.0.0
Architecture x86 / Operating System : Windows Server 2008

On this particular users machine -

  1. the browser instance reloads a URL (same URL ie. the page address is constant) every 5minutes

  2. retrieves HTML from the browser instance every 15 seconds....
    Dim webBrowser as ChromiumWebBrowser
    Dim taskHtml As Task(Of String) = webBrowser.GetBrowser.MainFrame.GetSourceAsync()
    WebPageHTML = taskHtml.Result

.... and after a period of time , an exception is thrown with the message ..."CefSharp.Browser subprocess has stopped working"

Viewing the problem details reveals the following....

Problem signature:
Problem Event Name: APPCRASH
Application Name: CefSharp.BrowserSubprocess.exe
Application Version: 55.0.0.0
Application Timestamp: 589282ef
Fault Module Name: KERNELBASE.dll
Fault Module Version: 6.1.7601.18798
Fault Module Timestamp: 5507b485
Exception Code: e0000008
Exception Offset: 0000c42d
OS Version: 6.1.7601.2.1.0.272.7
Locale ID: 2057
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt

To the best of my knowledge, this is working fine on many other machines without issue.
I am unable to replicate the issue on both my Windows 2012 Server and both development machines (running Windows 10 / Windows 7).... any suggestions why this particular user is having this problem would be really appreciated , thank you.

@amaitland
Copy link
Member

Are you using Windows server 2008 or 2008r2? Chromium stopped supporting vanilla 2008 quite some time back.

@Guido22
Copy link
Author

Guido22 commented Apr 14, 2017

I have checked, it is Windows Server 2008 R2 ... so that should be OK ?

@Guido22
Copy link
Author

Guido22 commented Apr 14, 2017

I now have another user with similar... again running Windows 2008 R2...

Problem signature:

Problem Event Name: APPCRASH
Application Name: CefSharp.BrowserSubprocess.exe
Application Version: 55.0.0.0
Application Timestamp: 589282ef
Fault Module Name: KERNELBASE.dll
Fault Module Version: 6.3.9600.17415
Fault Module Timestamp: 54504ade
Exception Code: e0000008
Exception Offset: 00014598
OS Version: 6.3.9600.2.0.0.272.7
Locale ID: 2057

Additional Information 1: 5861
Additional Information 2: 5861822e1919d7c014bbb064c64908b2
Additional Information 3: a10f
Additional Information 4: a10ff7d2bb2516fdc753f9c34fc3b069
Read our privacy statement online:

http://go.microsoft.com/fwlink/?linkid=280262

If the online privacy statement is not available, please read our privacy statement offline:

C:\Windows\system32\en-US\erofflps.txt

I remain hopeful that someone can help. I switched to using this control to overcome serious memory leaks with the Microsoft browser control... the Chromium browser is far better in that regard, but now I find not 'performing' for all users...

@merceyz
Copy link
Member

merceyz commented Apr 14, 2017

That doesn't really say much, could you get a symbolized stack trace?

@Guido22
Copy link
Author

Guido22 commented Apr 14, 2017

I would if I knew what one of those was.!.. bear in mind - these CRASh reports are from end users.. I have not been able to replicate on my development machines... so for the more technically challenged users out there... is getting a 'symbolized stack trace' an easy thing for a layperson to get...???

@merceyz
Copy link
Member

merceyz commented Apr 14, 2017

is getting a 'symbolized stack trace' an easy thing for a layperson to get...???

Not really, you would need to provide them with pdb files then attach a debugger to the process.
You might have some luck with the dump files created during one of those crashes

@amaitland
Copy link
Member

You might have some luck with the dump files created during one of those crashes

It should be sufficient to analyse the crashdump, it's important to make sure the .pdb is present. See https://github.com/cefsharp/CefSharp/wiki/Trouble-Shooting#unmanaged-crashes-when-the-process-dies

The fact your application runs on other computers successfully means the likelihood of this being a CefSharp issue is very small. Probably a Chromium related bug. Upgrading to a newer version is probably your best bet at this point.

@amaitland amaitland changed the title CefSharp.Browser subprocess has stopped working; Exception Code: e0000008 BrowserSubprocess has stopped working; Exception Code: e0000008 Apr 16, 2017
@amaitland
Copy link
Member

Version 57.0.0 was released a few days ago, try upgrading.

@amaitland
Copy link
Member

@Guido22 Were you able to obtain a symbolized stack trace?

See https://bitbucket.org/chromiumembedded/cef/wiki/CrashReporting.md for configuring the new crashpad reporting feature that was recently introduced in Chromium

@Guido22
Copy link
Author

Guido22 commented May 2, 2017 via email

@amaitland
Copy link
Member

No – regretably, I dont have the means to do that. The people experiencing problems are/were users... all of my testing proved successful with no errors... Guy

You simply need to obtain a crashdump, there's no special requirements. Follow the instructions provided in the link I gave you. Then you can load the crashdump on your developer machine.

@MattGerg
Copy link

MattGerg commented May 2, 2017

FWIW, I have had users report this same error using CefSharp v55. Here is some information that was obtained from the Windows Event Viewer on two occasions:

Application: CefSharp.BrowserSubprocess.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: exception code e0000008, exception address 76ADC54F

CefSharp.BrowserSubprocess.exe
55.0.0.0
589282ef
KERNELBASE.dll
6.1.7601.23569
57f7bc1f
e0000008
0000c54f
1538
01d2b9d5a8e688d7
C:\Program Files (x86)\MACH\CefSharp.BrowserSubprocess.exe
C:\WINDOWS\syswow64\KERNELBASE.dll
a36cf570-25ce-11e7-8597-f48e389bdd22

I have been seeing this in the CEF log file as well:

[0407/095824:FATAL:memory.cc(19)] Out of memory. size=16777216

Our application code, which has not changed, worked without issue using CefSharp v43 and CefSharp v53. These errors began happening after our upgrade to CefSharp v55, and continue with CefSharp v57.

I am continuing to investigate on my end as well. If I find any more relevant information, I will share here. If anybody has any insight, it would be much appreciated.

And to the CefSharp team, thank you for all of your hard work! Great product!

@amaitland
Copy link
Member

Our application code, which has not changed, worked without issue using CefSharp v43 and CefSharp v53. These errors began happening after our upgrade to CefSharp v55, and continue with CefSharp v57.

Are you using WinForms or WPF?

[0407/095824:FATAL:memory.cc(19)] Out of memory. size=16777216

Whilst not directly related you should read http://www.magpcss.org/ceforum/viewtopic.php?f=6&t=14130 as background on out of memory issues. Often they're javascript related, others are due to really large images.

If you get a symbolized stacktrace then you can post on ceforum and ask for advice there.

@MattGerg
Copy link

MattGerg commented May 3, 2017

Are` you using WinForms or WPF?

WinForms

...out of memory issues. Often they're javascript related, others are due to really large images.

Our issue does appear to be javascript related. Specifically, the BrowserSubProcess exits while our application performs a large number of Javascript calls on a Google Map, usually occurs while the Google Map is performing an animated zoom.

I have noticed that, sometimes, a promise Task returned from IWebBrowser.EvaluateScriptAsync is never completed. These tasks just build up in "Awaiting" status.

So the issue can manifest itself in any of 3 ways:

  1. BrowserSubprocess exits per the description in this issue.
  2. Out of memory error in the CEF log.
  3. Javascript Tasks that are never completed.

Still trying to figure which of these are the cause of the issue, vs symptoms. Like I said, our code used to work without issue, so I feel like something upstream has changed, either in CefSharp or CEF.

My next steps are:

  1. Looks for clues in the CEF devtools while the javascript executes and the BrowserSubProcess exits.
  2. Trace through CefSharp v57 code, looking for any place where a javascript Task might be forgotten or lost without completion.

Still investigating... will report back with any new findings... any insight from others greatly appreciated!

@amaitland
Copy link
Member

Like I said, our code used to work without issue, so I feel like something upstream has changed, either in CefSharp or CEF.

In relation to EvaluateScriptAsync changes were made in 55.0.0 see #1875

My next steps are:

You need to obtain a symbolized stacktrace, that should be step one.

@MattGerg
Copy link

MattGerg commented May 4, 2017

I obtained a symbolized stack trace (I think?) and posted it on ceforum. Sharing here for interested parties:
http://magpcss.org/ceforum/viewtopic.php?f=6&t=15120

@amaitland
Copy link
Member

I obtained a symbolized stack trace (I think?)

Stacktrace looks fine, interesting the error is coming from Skia.

I've upgraded master as a one off to 3.3029.1611.g44e39a8 (there will not be a release based on the 3029 branch). You may be able to test again as requested, though there is a problem that affects Javascript binding that could cause you problems. Would be handy if you can fork the main project and provide an example that demos your problem (pushing your changes to GitHub of course).

For reference you can easily compare branches on GitHub, cefsharp/53...cefsharp/55 should you choose to review all the CefSharp changes (there aren't actually that many that are relevant).

Good luck!

@amaitland
Copy link
Member

As per suggestion in http://magpcss.org/ceforum/viewtopic.php?f=6&t=15120#p34802 it appears that setting The Large Address Aware linker setting on your application executable when running as a 32bit application may now be necessary where high memory load is experienced.

https://msdn.microsoft.com/en-us/library/wz223b1z.aspx

The default x86 SubProcess shipped with CefSharp is large address aware and has been for quite some time, this had previously been enough.

After applying the Large Address Aware linker setting to your executable, if your still experiencing the exact same problem then discuss your issue at http://magpcss.org/ceforum/viewtopic.php?f=6&t=15120

Closing this now as I don't believe it's a CefSharp specific issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants