CEF crash on using accessibility keyboard on Mac OS X 10.15

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.

CEF crash on using accessibility keyboard on Mac OS X 10.15

Postby shmishra » Fri Nov 08, 2019 3:25 am

We are using a recent version of CEF (77.1.18.0) in our desktop app and the app also need to support accessibility (e.g., VoiceOver, Keyboard accessibility, etc.)
To enable accessibility support in CEF we tried using `force-renderer-accessibility` command line flag as well as by invoking `SetAccessibilityState(STATE_ENABLED)` but with either way CEF crashes as soon as `Enable Accessibility Keyboard` option is selected on Mac OS X 10.15 (Catalina), its working fine with 10.14 though.
We looked into other similar app (e.g., Spotify as thats also based directly on CEF) and observed the same behaviour there as well.
Have looked around for any open issues in CEF but could not find any reported bug around this. Following is a snippet of the crash dump with CEF symbols resolved:
Code: Select all
Thread 0 Crashed:: CrBrowserMain  Dispatch queue: com.apple.main-thread
0   com.apple.HIServices             0x00007fff3a920d6b AXTextMarkerGetLength + 9
1   org.chromium.ContentShell.framework   0x00000001126edbe5 -[BrowserAccessibilityCocoa accessibilityAttributeValue:forParameter:] (in Chromium Embedded Framework) (browser_accessibility_cocoa.mm:207)
2   com.apple.AppKit                 0x00007fff39ed59c9 ___NSAccessibilityEntryPointValueForAttributeWithParameter_block_invoke.821.llvm.7288867694539378565 + 557
3   com.apple.AppKit                 0x00007fff39ed0c29 NSAccessibilityPerformEntryPointObject.llvm.7288867694539378565 + 16
4   com.apple.AppKit                 0x00007fff39ed21a3 NSAccessibilityEntryPointValueForAttributeWithParameter + 172
5   com.apple.AppKit                 0x00007fff39cc5e88 CopyParameterizedAttributeValue + 460
6   com.apple.HIServices             0x00007fff3a9076a5 _AXXMIGCopyParameterizedAttributeValue + 376
7   com.apple.HIServices             0x00007fff3a92a11f _XCopyParameterizedAttributeValue + 608
8   com.apple.HIServices             0x00007fff3a8e6553 mshMIGPerform + 205
9   com.apple.CoreFoundation         0x00007fff3c68fd9f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41
10  com.apple.CoreFoundation         0x00007fff3c68fcef __CFRunLoopDoSource1 + 541
11  com.apple.CoreFoundation         0x00007fff3c677c9c __CFRunLoopRun + 2612
12  com.apple.CoreFoundation         0x00007fff3c676fe3 CFRunLoopRunSpecific + 499
13  com.apple.HIToolbox              0x00007fff3b1fe67d RunCurrentEventLoopInMode + 292
14  com.apple.HIToolbox              0x00007fff3b1fe3bd ReceiveNextEventCommon + 600
15  com.apple.HIToolbox              0x00007fff3b1fe147 _BlockUntilNextEventMatchingListInModeWithFilter + 64
16  com.apple.AppKit                 0x00007fff39883864 _DPSNextEvent + 990
17  com.apple.AppKit                 0x00007fff398825d4 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
18  com.apple.AppKit                 0x00007fff3987cd76 -[NSApplication run] + 658
19  org.chromium.ContentShell.framework   0x000000011392b3bc base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) (in Chromium Embedded Framework) (message_pump_mac.mm:0)
20  org.chromium.ContentShell.framework   0x0000000113929ed8 base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) (in Chromium Embedded Framework) (message_pump_mac.mm:189)
21  org.chromium.ContentShell.framework   0x0000000113979f08 non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) (in Chromium Embedded Framework) (thread_controller_with_message_pump_impl.cc:0)
22  org.chromium.ContentShell.framework   0x000000011394d797 base::RunLoop::RunWithTimeout(base::TimeDelta) (in Chromium Embedded Framework) (run_loop.cc:159)
23  org.chromium.ContentShell.framework   0x0000000113672980 CefRunMessageLoop() (in Chromium Embedded Framework) (context.cc:308)


Has anyone faced any similar issue in CEF ? Or any other ideas around what might be going wrong ?

Thanks
shmishra
Techie
 
Posts: 10
Joined: Mon Jan 23, 2017 7:13 am

Re: CEF crash on using accessibility keyboard on Mac OS X 10

Postby magreenblatt » Fri Nov 08, 2019 10:43 pm

This is https://bugs.chromium.org/p/chromium/is ... ?id=998896. It should be fixed in v78.
magreenblatt
Site Admin
 
Posts: 12382
Joined: Fri May 29, 2009 6:57 pm

Re: CEF crash on using accessibility keyboard on Mac OS X 10

Postby shmishra » Sun Nov 10, 2019 11:48 pm

Thanks @magreenblatt :) , will try out v78
shmishra
Techie
 
Posts: 10
Joined: Mon Jan 23, 2017 7:13 am

Re: CEF crash on using accessibility keyboard on Mac OS X 10

Postby shmishra » Mon Nov 11, 2019 5:34 am

I tried with v78 and the keyboard accessibility is working fine now :)
But one other thing with v78 that i noticed is increase in the number of actively running helper processes e.g., below is a list of helper processes running with cefclient.app (v78):
Code: Select all
shmishra         21752   0.0  1.1  4790588  92876   ??  S     2:31PM   0:00.70 /private/var/folders/p1/30jtd73s1z7btnqgnswktm5r0000gn/T/AppTranslocation/2EC120AB-C175-4710-AFE7-29A841A2EE53/d/cefclient.app/Contents/Frameworks/cefclient Helper (Renderer).app/Contents/MacOS/cefclient Helper (Renderer) --type=renderer --log-file=/Users/shmishra/Library/Logs/cefclient_debug.log --field-trial-handle=1718379636,3148692335493392860,1464633675107772958,131072 --disable-features=MimeHandlerViewInCrossProcessFrame --lang=en-US --log-file=/Users/shmishra/Library/Logs/cefclient_debug.log --num-raster-threads=2 --enable-zero-copy --enable-gpu-memory-buffer-compositor-resources --enable-main-frame-before-activation --service-request-channel-token=923604994905312347 --renderer-client-id=4 --no-v8-untrusted-code-mitigations --seatbelt-client=32
shmishra         21751   0.0  0.4  4722860  33884   ??  S     2:31PM   0:00.09 /private/var/folders/p1/30jtd73s1z7btnqgnswktm5r0000gn/T/AppTranslocation/2EC120AB-C175-4710-AFE7-29A841A2EE53/d/cefclient.app/Contents/Frameworks/cefclient Helper (Renderer).app/Contents/MacOS/cefclient Helper (Renderer) --type=renderer --log-file=/Users/shmishra/Library/Logs/cefclient_debug.log --field-trial-handle=1718379636,3148692335493392860,1464633675107772958,131072 --disable-features=MimeHandlerViewInCrossProcessFrame --lang=en-US --log-file=/Users/shmishra/Library/Logs/cefclient_debug.log --num-raster-threads=2 --enable-zero-copy --enable-gpu-memory-buffer-compositor-resources --enable-main-frame-before-activation --service-request-channel-token=29312119022110911 --renderer-client-id=5 --no-v8-untrusted-code-mitigations --seatbelt-client=32
shmishra         21750   0.0  0.4  4549072  31200   ??  S     2:31PM   0:00.13 /private/var/folders/p1/30jtd73s1z7btnqgnswktm5r0000gn/T/AppTranslocation/2EC120AB-C175-4710-AFE7-29A841A2EE53/d/cefclient.app/Contents/Frameworks/cefclient Helper.app/Contents/MacOS/cefclient Helper --type=utility --field-trial-handle=1718379636,3148692335493392860,1464633675107772958,131072 --disable-features=MimeHandlerViewInCrossProcessFrame --lang=en-US --service-sandbox-type=network --log-file=/Users/shmishra/Library/Logs/cefclient_debug.log --lang=en-US --log-file=/Users/shmishra/Library/Logs/cefclient_debug.log --service-request-channel-token=10147790547800995063
shmishra         21748   0.0  0.6  4589916  51244   ??  S     2:31PM   0:00.33 /private/var/folders/p1/30jtd73s1z7btnqgnswktm5r0000gn/T/AppTranslocation/2EC120AB-C175-4710-AFE7-29A841A2EE53/d/cefclient.app/Contents/Frameworks/cefclient Helper (GPU).app/Contents/MacOS/cefclient Helper (GPU) --type=gpu-process --field-trial-handle=1718379636,3148692335493392860,1464633675107772958,131072 --disable-features=MimeHandlerViewInCrossProcessFrame --log-file=/Users/shmishra/Library/Logs/cefclient_debug.log --lang=en-US --gpu-preferences=KAAAAAAAAAAgACAAAAAAAAAAYAAAAAAAEAAAAAAAAAAAAAAAAAAAAOgAAAAcAAAA4AAAAAAAAADoAAAAAAAAAPAAAAAAAAAA+AAAAAAAAAAAAQAAAAAAAAgBAAAAAAAAEAEAAAAAAAAYAQAAAAAAACABAAAAAAAAKAEAAAAAAAAwAQAAAAAAADgBAAAAAAAAQAEAAAAAAABIAQAAAAAAAFABAAAAAAAAWAEAAAAAAABgAQAAAAAAAGgBAAAAAAAAcAEAAAAAAAB4AQAAAAAAAIABAAAAAAAAiAEAAAAAAACQAQAAAAAAAJgBAAAAAAAAoAEAAAAAAACoAQAAAAAAALABAAAAAAAAuAEAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAABgAAABAAAAAAAAAAAAAAAAcAAAAQAAAAAAAAAAAAAAAIAAAAEAAAAAAAAAAAAAAACgAAABAAAAAAAAAAAAAAAAsAAAAQAAAAAAAAAAAAAAANAAAAEAAAAAAAAAABAAAAAAAAABAAAAAAAAAAAQAAAAYAAAAQAAAAAAAAAAEAAAAHAAAAEAAAAAAAAAABAAAACAAAABAAAAAAAAAAAQAAAAoAAAAQAAAAAAAAAAEAAAALAAAAEAAAAAAAAAABAAAADQAAABAAAAAAAAAABAAAAAAAAAAQAAAAAAAAAAQAAAAGAAAAEAAAAAAAAAAEAAAABwAAABAAAAAAAAAABAAAAAgAAAAQAAAAAAAAAAQAAAAKAAAAEAAAAAAAAAAEAAAACwAAABAAAAAAAAAABAAAAA0AAAAQAAAAAAAAAAYAAAAAAAAAEAAAAAAAAAAGAAAABgAAABAAAAAAAAAABgAAAAcAAAAQAAAAAAAAAAYAAAAIAAAAEAAAAAAAAAAGAAAACgAAABAAAAAAAAAABgAAAAsAAAAQAAAAAAAAAAYAAAANAAAA --log-file=/Users/shmishra/Library/Logs/cefclient_debug.log --service-request-channel-token=971503233944778726

There are 2 `cefclient Helper (Renderer).app` instances, 1 `cefclient Helper.app` instance and 1 `cefclient Helper (GPU).app` instance running. Both the renderer app seems to be running with same command line arguments, so its not apparent as to why is there an increase in number of helper processes running.
This increase in number of running helper processes is also there on Windows.

Thanks
shmishra
Techie
 
Posts: 10
Joined: Mon Jan 23, 2017 7:13 am

Re: CEF crash on using accessibility keyboard on Mac OS X 10

Postby magreenblatt » Mon Nov 11, 2019 10:36 am

magreenblatt
Site Admin
 
Posts: 12382
Joined: Fri May 29, 2009 6:57 pm


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 54 guests