Please consider this a "hail mary" of sorts. I know I don't have much to go on but I'm just hoping someone else may have seen something similar and be able to help.
From time to time we integrate with the latest CEF release branch and start to see strange crashes in debug builds of our CEF based app. The crashes don't seem to happen in release builds but we have seen strange behavior in javascript where an object is defined and then our code enters a loop, after several iterations of the loop the object mysteriously becomes undefined. If we revert back to the previous CEF revision, the problem goes away. We were attributing it to a bug in V8 or V8 suddenly being more strict on checking something but we really have no idea. Unfortunately, we have not been able to re-create this with a simple test web page.
We saw this with 3.1547.1357 then things were fine with release branch 3.1650.1544. Most recently we attempted to jump to 3.1916.1707 and the problem has reappeared.
The Visual Studio console shows the following:
#
# Fatal error in c:\cef\workspace\cef3-windows-1916\download\chromium\src\v8\src\objects.cc, line 6449
# CHECK(object->map()->instance_descriptors()-> GetKey(descriptor_number) == *name) failed
#
First-chance exception at 0x00000000 in testcefapp.exe: 0xC0000005: Access violation executing location 0x00000000.
Unhandled exception at 0x7515CB49 in testcefapp.exe: 0xC0000005: Access violation executing location 0x00000000.
Call stack excerpt but frames may be incomplete or incorrect
libcef.dll!v8::internal::OS::Abort() Line 939 C++
libcef.dll!V8_Fatal(const char * file, int line, const char * format, ...) Line 114 C++
libcef.dll!v8::internal::JSObject::DefineFastAccessor(v8::internal::Handle<v8::internal::JSObject> object, v8::internal::Handle<v8::internal::Name> name, v8::internal::AccessorComponent component, v8::internal::Handle<v8::internal::Object> accessor, PropertyAttributes attributes) Line 6449 C++
libcef.dll!v8::internal::JSObject::DefinePropertyAccessor(v8::internal::Handle<v8::internal::JSObject> object, v8::internal::Handle<v8::internal::Name> name, v8::internal::Handle<v8::internal::Object> getter, v8::internal::Handle<v8::internal::Object> setter, PropertyAttributes attributes, v8::AccessControl access_control) Line 6159 C++
libcef.dll!v8::internal::JSObject::DefineAccessor(v8::internal::Handle<v8::internal::JSObject> object, v8::internal::Handle<v8::internal::Name> name, v8::internal::Handle<v8::internal::Object> getter, v8::internal::Handle<v8::internal::Object> setter, PropertyAttributes attributes, v8::AccessControl access_control) Line 6353 C++
libcef.dll!v8::internal::__RT_impl_Runtime_DefineOrRedefineAccessorProperty(v8::internal::Arguments args, v8::internal::Isolate * isolate) Line 5169 C++
CEF log (on Warning level)
[0529/190638:ERROR:renderer_main.cc(227)] Running without renderer sandbox
[0529/190638:ERROR:singleton_hwnd.cc(43)] Cannot create windows on non-UI thread!
If anyone has any thoughts I'd love to hear them.
Thanks,
John