Crash in CEFLib after long run in windows.

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 in CEFLib after long run in windows.

Postby vivek67 » Wed Sep 17, 2014 6:42 am

Hi,

We have a Windows & Mac application with CEF embedded within it. We have a mechanism where a widget (part of the page) refreshes every 1 minute.

While performing long run test, we consistently see a crash in Windows after the above said senario is run for about 40 hours.

We have enabled logging from CEF Library and below are the last few lines of the CEFLibrary logs.

Code: Select all
[0912/172903:INFO:CONSOLE(0)] "Application Cache Cached event", source: https://gs0.salesforce.com/one/one.app (0)
[0912/191405:ERROR:dns_config_service_win.cc(739)] DNS config watch failed.
[0914/074456:INFO:CONSOLE(0)] "Uncaught SyntaxError: Unexpected end of input", source: https://gs0.salesforce.com/one/one.app (0)
[0914/083759:FATAL:platform_canvas.cc(70)] SK_CRASH


I also have the Crash Dump (which is a binary file so can't upload in this post) I can share this to any mailid on request.

Can anyone please advice what might be the casuse of this consistent crash in windows during long run scenarios where a part of the page is being refreshed every one minute.

Regards,
VivekS
vivek67
Newbie
 
Posts: 5
Joined: Thu Jan 30, 2014 4:16 am

Re: Crash in CEFLib after long run in windows.

Postby magreenblatt » Wed Sep 17, 2014 12:37 pm

What CEF version and Windows version? Can you provide a symbolized stack trace for the crash? Debug symbols are available from http://cefbuilds.com.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: Crash in CEFLib after long run in windows.

Postby vivek67 » Thu Sep 18, 2014 6:06 am

Thanks for the quick reply Mag!

We use version 3.1650.1562 of CEF.

Please find below stacktrace from the Dump file in windows.

Code: Select all
>   libcef.dll!base::debug::BreakDebugger()  Line 107   C++
    libcef.dll!logging::LogMessage::~LogMessage()  Line 652   C++
    libcef.dll!SkDebugf_FileLine(const char * file=0x5f800c10, int line=70, bool fatal=true, const char * format=0x5f800c68, ...)  Line 25   C++
    libcef.dll!skia::CreateCanvas(const skia::RefPtr<SkBaseDevice> & device={...}, skia::OnFailureType failureType=CRASH_ON_FAILURE)  Line 70 + 0x13 bytes   C++
    libcef.dll!skia::CreatePlatformCanvas(int width=45, int height=45, bool is_opaque=false, void * shared_section=0x00000000, skia::OnFailureType failureType=CRASH_ON_FAILURE)  Line 319 + 0xd bytes   C++
    libcef.dll!cc::BitmapContentLayerUpdater::PrepareToUpdate(gfx::Rect content_rect={...}, gfx::Size tile_size={...}, float contents_width_scale=1.0000000, float contents_height_scale=1.0000000, gfx::Rect * resulting_opaque_rect=0x003cdd38)  Line 69 + 0x1d bytes   C++
    libcef.dll!cc::TiledLayer::UpdateTileTextures(gfx::Rect paint_rect={...}, int left=0, int top=0, int right=0, int bottom=0, cc::ResourceUpdateQueue * queue=0x067e9580, const cc::OcclusionTrackerBase<cc::Layer,cc::RenderSurface> * occlusion=0x003ce0d0)  Line 498   C++
    libcef.dll!cc::TiledLayer::UpdateTiles(int left=0, int top=0, int right=0, int bottom=0, cc::ResourceUpdateQueue * queue=0x067e9580, const cc::OcclusionTrackerBase<cc::Layer,cc::RenderSurface> * occlusion=0x003ce000, bool * updated=0x003cdfc7)  Line 350   C++
    libcef.dll!cc::TiledLayer::Update(cc::ResourceUpdateQueue * queue=0x067e9580, const cc::OcclusionTrackerBase<cc::Layer,cc::RenderSurface> * occlusion=0x003ce0d0)  Line 777 + 0x1d bytes   C++
    libcef.dll!cc::ContentLayer::Update(cc::ResourceUpdateQueue * queue=0x067e9580, const cc::OcclusionTrackerBase<cc::Layer,cc::RenderSurface> * occlusion=0x003ce0d0)  Line 100 + 0x12 bytes   C++
    libcef.dll!cc::LayerTreeHost::PaintLayerContents(const cc::RenderSurfaceLayerList & render_surface_layer_list={...}, cc::ResourceUpdateQueue * queue=0x067e9580, bool * did_paint_content=0x5faf2b1c, bool * need_more_updates=0x003ce392)  Line 1038 + 0x40 bytes   C++
    libcef.dll!cc::LayerTreeHost::UpdateLayers(cc::Layer * root_layer=0x02bfbd80, cc::ResourceUpdateQueue * queue=0x067e9580)  Line 844   C++
    libcef.dll!cc::LayerTreeHost::UpdateLayers(cc::ResourceUpdateQueue * queue=0x067e9580)  Line 743 + 0xf bytes   C++
    libcef.dll!cc::SingleThreadProxy::CommitAndComposite(base::TimeTicks frame_begin_time={...}, gfx::Rect device_viewport_damage_rect={...}, bool for_readback=false, cc::LayerTreeHostImpl::FrameData * frame=0x003ce698)  Line 445   C++
    libcef.dll!cc::SingleThreadProxy::CompositeImmediately(base::TimeTicks frame_begin_time={...})  Line 367 + 0x26 bytes   C++
    libcef.dll!cc::LayerTreeHost::Composite(base::TimeTicks frame_begin_time={...})  Line 717 + 0x10 bytes   C++
    libcef.dll!content::RenderWidgetCompositor::Composite(base::TimeTicks frame_begin_time={...})  Line 342   C++
    libcef.dll!content::RenderWidget::Composite(base::TimeTicks frame_begin_time={...})  Line 1430   C++
    libcef.dll!content::RenderWidget::DoDeferredUpdate()  Line 1407   C++
    libcef.dll!content::RenderWidget::InvalidationCallback()  Line 1175 + 0xe bytes   C++
    libcef.dll!base::internal::Invoker<1,base::internal::BindState<base::internal::RunnableAdapter<void (__thiscall content::RenderWidget::*)(void)>,void __cdecl(content::RenderWidget *),void __cdecl(content::RenderWidget *)>,void __cdecl(content::RenderWidget *)>::Run(base::internal::BindStateBase * base=0x07fcb4c0)  Line 1169 + 0x25 bytes   C++
    libcef.dll!base::MessageLoop::RunTask(const base::PendingTask & pending_task={...})  Line 493   C++
    libcef.dll!base::MessageLoop::DoWork()  Line 618   C++
    libcef.dll!base::MessagePumpDefault::Run(base::MessagePump::Delegate * delegate=0x013cf3d0)  Line 33   C++
    libcef.dll!base::MessageLoop::RunInternal()  Line 441 + 0xb bytes   C++
    libcef.dll!base::RunLoop::Run()  Line 48   C++
    libcef.dll!base::MessageLoop::Run()  Line 312   C++
    libcef.dll!content::RendererMain(const content::MainFunctionParams & parameters={...})  Line 253   C++
    libcef.dll!content::RunNamedProcessTypeMain(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & process_type="renderer", const content::MainFunctionParams & main_function_params={...}, content::ContentMainDelegate * delegate=0x003cf7e4)  Line 458 + 0xd bytes   C++
    libcef.dll!content::ContentMainRunnerImpl::Run()  Line 777 + 0x21 bytes   C++
    libcef.dll!content::ContentMain(HINSTANCE__ * instance=0x012b0000, sandbox::SandboxInterfaceInfo * sandbox_info=0x003cf850, content::ContentMainDelegate * delegate=0x003cf7e4)  Line 35 + 0x5 bytes   C++
    libcef.dll!CefExecuteProcess(const CefMainArgs & args={...}, CefRefPtr<CefApp> application={...})  Line 88 + 0x17 bytes   C++
    libcef.dll!cef_execute_process(const _cef_main_args_t * args=0x003cfae8, _cef_app_t * application=0x02c7adc8)  Line 129 + 0x33 bytes   C++
    Salesforce Desktop.exe!012b59e2()    
    [Frames below may be incorrect and/or missing, no symbols loaded for Salesforce Desktop.exe]   
    msvcr90.dll!71976774()    
    kernel32.dll!75df14ad()    
    msvcr90.dll!71973c1b()    
    kernel32.dll!75df338a()    


Regards,
VivekS
vivek67
Newbie
 
Posts: 5
Joined: Thu Jan 30, 2014 4:16 am

Re: Crash in CEFLib after long run in windows.

Postby magreenblatt » Thu Sep 18, 2014 9:10 am

vivek67 wrote:We use version 3.1650.1562 of CEF.

1650 is a pretty old branch and the problem may already be fixed. Can you test with the 1916 or 2062 branch?
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 98 guests