Crash when loadString(..) of big HTML

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

Crash when loadString(..) of big HTML

Postby sokolovAS » Tue Dec 13, 2016 9:14 am

My use case:
I use JCEF 3.2849.146 (with CEF 3.2840.1511, Chromium 54.0.2840.59) from java to load html as string, render it and then printToPDF.
on VM with Windows Server 2008 R2 (x64), and XEON X5670
The problem is that it sometimes crashes on loading/rendering process (after call cefBrowser.loadString(..) and before anything else).
I turn on maximum logging and tracing (see below settings).

I loadtesting this app with some samples of html (this is just html + css documents like some A4 report) with loop of load-render-pringToPdf process for each sample
This test successfully runs 1-3 loops. And then crashes on big HTML - one of my sample is 900kb html with 40+ A4 pages.

I test it with and without "--single-process" arg.

With this flag - I see in jcef log:
Code: Select all
[1213/142840:FATAL:stringview.cpp(20)] Check failed: !m_impl->hasOneRef(). StringView does not own the StringImpl, it must not have the last ref.

and then JVM crashes (i think because of unhandled exception from native code).

Without this flag - in log:
Code: Select all
[1213/172757:FATAL:stringview.cpp(20)] Check failed: !m_impl->hasOneRef(). StringView does not own the StringImpl, it must not have the last ref.
[1213/172757:VERBOSE1:node_controller.cc(546)] Dropped peer 7490F1E5E0101BBC.C82F151B095CDF55
[1213/172757:VERBOSE1:node.cc(412)] Observing lost connection from node 70D08BFA3A0A984A.7499842B3324C1EF to node 7490F1E5E0101BBC.C82F151B095CDF55
[1213/172757:VERBOSE1:node_controller.cc(668)] Dropping message for unknown peer: 7490F1E5E0101BBC.C82F151B095CDF55
[1213/172757:VERBOSE1:media_stream_dispatcher_host.cc(144)] MediaStreamDispatcherHost::OnChannelClosing
[1213/172757:VERBOSE1:node.cc(391)] Merging local ports 63F870291A5BCE16.ADC45C176096A226@70D08BFA3A0A984A.7499842B3324C1EF and 87B0FCD1EA9AC6D6.9F637775908F91F0@70D08BFA3A0A984A.7499842B3324C1EF


and then nothing happens like in deadlock.

So my questions are:
1. what this error means and can someone tell me how to overcome it ?
2. can i turn off this DCHECK (!m_impl->hasOneRef) ?
3. can i add tracing/logging for more information ?

Also I'll be glad to hear any helpful information about my problem.

PS:
My settings of CefApp:
Code: Select all
cefSettings.windowless_rendering_enabled = false;
cefSettings.log_severity = log_severity; // VERBOSE
cefSettings.log_file = log_file; // some file where i can see logs
cefSettings.cache_path = someDirectory;
args:
--disable-extensions
--disable-gpu
--enable-logging
--also-emit-success-logs
--trace-config-file
--trace-to-console
--trace-to-file=*
--trace-to-file-name=C:\\jcef_logs\\cef_trace.log // not created
--enable-logging=stdout
--v=1
--memory-profile
Attachments
jcef_logs_cutted-PROBLEM.log
logs with sturtup tracing. after 1213/175710 - Check failed: !m_impl->hasOneRef() i programmaticaly call cefBrowser.reload().
(1.83 MiB) Downloaded 459 times
sokolovAS
Newbie
 
Posts: 4
Joined: Thu Nov 24, 2016 8:10 am

Return to Support Forum

Who is online

Users browsing this forum: Google [Bot] and 36 guests