|
Rank: Advanced Member Groups: Member
Joined: 3/10/2020 Posts: 59
|
We use EO Browser in a WPF 64bit application which is developed using .NET framework 4.8. We are initializing eowp.exe while loading application homepage. Multiple users are getting below memory related error for eowp.exe while loading the homepage.
"The instruction at 0x000...1C9D9 referenced memory at 0x000...04. The Memory could not be read."
Please let us know under which circumstance's eowp have memory related issues.
Users also have Channel disconnected exceptions.
"Channel disconnected EC:0x80131500"
Please advise.
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,217
|
Hi, The native browser engine runs inside eowp.exe, so this indicates a crash inside the browser engine. The browser engine is extremely large and complex, so numerous different scenario can cause it to crash. The most effective way to troubleshoot such crash is to reproduce it first. So if you have a way to reproduce the problem, please send a repro to us and we will debug into it and see what we can find. See here about more information on how to send repro to us: https://www.essentialobjects.com/forum/test_project.aspxIf you can not reproduce it, you can try to collect crash log following these instructions: https://www.essentialobjects.com/doc/common/crash_report.aspxMake sure you are on the latest build before you try to collect the crash logs. Once we have the logs we will see what we can find. Thanks!
|
|
Rank: Advanced Member Groups: Member
Joined: 3/10/2020 Posts: 59
|
Hi, We are having common exception handling which will accept exception in string format and write it in log file. EO crash event arguments contains data as a byte array.
Please let us know how to write EO crash data in string without corrupting exception data.
public class CrashDataEventArgs : EventArgs { public byte[] Data { get; } public string Message { get; } }
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,217
|
Hi,
You should not try to covert our crash data. However way you convert/save it, you MUST covert it back to its original binary form if you want us to analyze it. So it doesn't matter how you encode it in your log as long as you have a way to decode it back.
Thanks!
|
|
Rank: Advanced Member Groups: Member
Joined: 3/10/2020 Posts: 59
|
Hi, We are unable to reproduce the issue in our environment but issue is consistent in user machine.
Our current production code not handled CrashDataAvailable event to capture the logs and our next release is planned in April 2021. Is there any tool available in EO to capture eowp.exe crash logs in user machine?
As issue is consistent in user machine is it possible for EO support people to join the working session with user to debug the issue.
Thanks.
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,217
|
Hi, Unless you have explicitly set EO.Base.Runtime.EnableCrashReport to false, the crash report will be automatically sent to our server even if you did not handle CrashDataAvailable event. However in order for us to analyze these crash logs you will need to: 1. Provide some kind of information for us to locate your crash report. The recommended method is for you to explicitly set EO.Base.Runtime.ApplicationID to a unique value. If you did not set that in your code, you can let us know your application name and the end user's IP address and time of the crash (you may want to use private message to send us those information). We can then search our database to see if we can find matching crash logs; 2. You must be on a very recent build. Due to the enormous size and complexity of the Chromium browser engine, we only keep debug environment for very recent builds so we won't be able to analyze crash logs from older builds; If that's not practical for you, you should consider creating a separate small test programs with the current build and handle CrashDataAvailable event in that test program, then coordinate with the end user to run the test program and collect the crash data. (We would be doing exactly the same thing if we had access to the end user's computer directly) You can also try to use these new APIs to collect diagnostic logs: https://www.essentialobjects.com/doc/eo.base.diagnostictools.startdiagnosticlog.aspxThis will provide additional log information to us to troubleshoot the problem. Thanks!
|
|