cefclient.exe -multi-threaded-message-loop freezes ..

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.

cefclient.exe -multi-threaded-message-loop freezes ..

Postby kaido » Fri Sep 02, 2016 4:36 am

Hi!

cefclient.exe with -multi-threaded-message-loop switch set freezes the program when Alt key is pressed.

The problem started with Windows 10 Anniversary update. We first discovered it with an C# app using CefSharp, some testing and debugging later it was found out that the plain cefclient.exe has the same problem ... Seems to be repeatable on all Win 10 machines with the Anniversary Update installed. Does not happen on any other systems (Windows 7/8/10) Has anyone else seen the problem? Any ideas if this is Microsoft to blame or someone else? ;)

regards,
kaido
kaido
Techie
 
Posts: 10
Joined: Fri Sep 02, 2016 4:30 am

Re: cefclient.exe -multi-threaded-message-loop freezes ..

Postby magreenblatt » Fri Sep 02, 2016 4:57 am

Download symbols for CEF, use a debug build, and break in the debugger while the application is frozen. What call stack does it show you?
magreenblatt
Site Admin
 
Posts: 12408
Joined: Fri May 29, 2009 6:57 pm

Re: cefclient.exe -multi-threaded-message-loop freezes ..

Postby kaido » Fri Sep 02, 2016 5:09 am

>> and break in the debugger while the application is frozen. What call stack does it show you?

I was hoping someone with development environment set up on windows 10 can do that with much less hassle :)

Will try to investigate later today ..
kaido
Techie
 
Posts: 10
Joined: Fri Sep 02, 2016 4:30 am

Re: cefclient.exe -multi-threaded-message-loop freezes ..

Postby magreenblatt » Fri Sep 02, 2016 5:21 am

I don't have access to a machine with Anniversary update. So, you can do it and maybe get a fix soon, or you can wait a while ;)
magreenblatt
Site Admin
 
Posts: 12408
Joined: Fri May 29, 2009 6:57 pm

Re: cefclient.exe -multi-threaded-message-loop freezes ..

Postby kaido » Fri Sep 02, 2016 10:15 am

The most-relevant-looking thread is as follows, others are mostly in different Wait()/WaitForWork()/TimedWait() functions ..

Code: Select all
libcef.dll!CefBrowserPlatformDelegateNativeWin::HandleKeyboardEvent(const content::NativeWebKeyboardEvent & event) Line 325   C++
    libcef.dll!CefBrowserHostImpl::HandleKeyboardEvent(content::WebContents * source, const content::NativeWebKeyboardEvent & event) Line 2167   C++
    libcef.dll!content::WebContentsImpl::HandleKeyboardEvent(const content::NativeWebKeyboardEvent & event) Line 1740   C++
    libcef.dll!content::RenderWidgetHostImpl::OnKeyboardEventAck(const content::EventWithLatencyInfo<content::NativeWebKeyboardEvent> & event, content::InputEventAckState ack_result) Line 1915   C++
    libcef.dll!content::InputRouterImpl::ProcessKeyboardAck(blink::WebInputEvent::Type type, content::InputEventAckState ack_result, const ui::LatencyInfo & latency) Line 585   C++
    libcef.dll!content::InputRouterImpl::ProcessInputEventAck(blink::WebInputEvent::Type event_type, content::InputEventAckState ack_result, const ui::LatencyInfo & latency_info, unsigned int unique_touch_event_id, content::InputRouterImpl::AckSource ack_source) Line 547   C++
    libcef.dll!content::InputRouterImpl::OnInputEventAck(const content::InputEventAck & ack) Line 471   C++
    libcef.dll!IPC::MessageT<InputHostMsg_HandleInputEvent_ACK_Meta,std::tuple<content::InputEventAck>,void>::Dispatch<content::InputRouterImpl,content::InputRouterImpl,void,void (__thiscall content::InputRouterImpl::*)(content::InputEventAck const &)>(const IPC::Message * msg, content::InputRouterImpl * obj, content::InputRouterImpl * sender, void * parameter, void (const content::InputEventAck &) * func) Line 121   C++
    libcef.dll!content::InputRouterImpl::OnMessageReceived(const IPC::Message & message) Line 257   C++
    libcef.dll!content::RenderWidgetHostImpl::OnMessageReceived(const IPC::Message & msg) Line 482   C++
    libcef.dll!content::RenderProcessHostImpl::OnMessageReceived(const IPC::Message & msg) Line 1774   C++
    libcef.dll!IPC::ChannelProxy::Context::OnDispatchMessage(const IPC::Message & message) Line 285   C++
    libcef.dll!base::internal::Invoker<base::internal::BindState<base::internal::RunnableAdapter<bool (__thiscall content::UtilityProcessHostClient::*)(IPC::Message const &)>,content::UtilityProcessHostClient *,IPC::Message const &>,void __cdecl(void)>::Run(base::internal::BindStateBase * base) Line 346   C++
    libcef.dll!base::debug::TaskAnnotator::RunTask(const char * queue_function, const base::PendingTask & pending_task) Line 51   C++
    libcef.dll!base::MessageLoop::RunTask(const base::PendingTask & pending_task) Line 491   C++
    libcef.dll!base::MessageLoop::DoWork() Line 622   C++
    libcef.dll!base::MessagePumpForUI::DoRunLoop() Line 263   C++
    libcef.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate) Line 142   C++
    libcef.dll!base::MessageLoop::RunHandler() Line 455   C++
    libcef.dll!base::RunLoop::Run() Line 36   C++
    libcef.dll!base::Thread::Run(base::MessageLoop * message_loop) Line 205   C++
    libcef.dll!base::Thread::ThreadMain() Line 259   C++
Last edited by kaido on Fri Sep 02, 2016 10:21 am, edited 2 times in total.
kaido
Techie
 
Posts: 10
Joined: Fri Sep 02, 2016 4:30 am

Re: cefclient.exe -multi-threaded-message-loop freezes ..

Postby magreenblatt » Fri Sep 02, 2016 10:19 am

Is that the complete call stack or are you perhaps missing the top-most symbol?
magreenblatt
Site Admin
 
Posts: 12408
Joined: Fri May 29, 2009 6:57 pm

Re: cefclient.exe -multi-threaded-message-loop freezes ..

Postby kaido » Fri Sep 02, 2016 10:20 am

magreenblatt wrote:Is that the complete call stack or are you perhaps missing the top-most symbol?


yep, fixed.
kaido
Techie
 
Posts: 10
Joined: Fri Sep 02, 2016 4:30 am

Re: cefclient.exe -multi-threaded-message-loop freezes ..

Postby kaido » Fri Sep 02, 2016 10:27 am

.. and some more bits - it's not just the program is frozen, but start button and taskbar do not react to correctly to mouse/keyboard .. and the same happens by pressing F10, not just Alt ..

k.
kaido
Techie
 
Posts: 10
Joined: Fri Sep 02, 2016 4:30 am

Re: cefclient.exe -multi-threaded-message-loop freezes ..

Postby magreenblatt » Fri Sep 02, 2016 11:30 am

Looks like the call to DefWindowProc is causing the problem: https://bitbucket.org/chromiumembedded/ ... win.cc-324
magreenblatt
Site Admin
 
Posts: 12408
Joined: Fri May 29, 2009 6:57 pm

Re: cefclient.exe -multi-threaded-message-loop freezes ..

Postby kaido » Fri Sep 02, 2016 11:39 am

magreenblatt wrote:Looks like the call to DefWindowProc is causing the problem: https://bitbucket.org/chromiumembedded/ ... win.cc-324


yeah, and that's not very helpful, unfortunately ..
kaido
Techie
 
Posts: 10
Joined: Fri Sep 02, 2016 4:30 am

Next

Return to Support Forum

Who is online

Users browsing this forum: No registered users and 48 guests