chromiumembedded / cef

Chromium Embedded Framework (CEF). A simple framework for embedding Chromium-based browsers in other applications.
https://bitbucket.org/chromiumembedded/cef/
Other
3.09k stars 450 forks source link

cefclient : osr: Crash with VoiceOver on Mac #3595

Open ajaykundu opened 8 months ago

ajaykundu commented 8 months ago

When operating the CEFClient with the --off-screen-rendering-enabled setting, it crashes after initiating the voice-over on Mac. You can download the CEF from official build from Spotify : https://cef-builds.spotifycdn.com/cef_binary_118.6.9%2Bg7e73645%2Bchromium-118.0.5993.119_macosx64_client.tar.bz2

To Reproduce Steps to reproduce the behavior:

  1. Download Spotify : https://cef-builds.spotifycdn.com/cef_binary_118.6.9%2Bg7e73645%2Bchromium-118.0.5993.119_macosx64_client.tar.bz2
  2. Run the sample cefclient application with --off-screen-rendering-enabled mode
  3. Next, navigate to the Accessibility settings on your Mac, select VoiceOver, and activate it.
  4. Now go to CEF Client and click anywhere.
  5. this crashes the CEF client.

Expected behavior Voice Over should be working fine.

Versions (please complete the following information):

Additional context [1101/110941.664115:WARNING:policy_logger.cc(148)] :components/enterprise/browser/controller/chrome_browser_cloud_management_controller.cc(88) Could not create policy manager as CBCM is not enabled. zsh: segmentation fault --off-screen-rendering-enabled ajaykundu@Ajays-MacBook-Pro-4 ~ % /Users/ajaykundu/code/chromium_git/chromium/src/out/Release_GN_arm64/cefclient.app/Contents/MacOS/cefclient --off-screen-rendering-enabled

[1101/111017.894840:WARNING:policy_logger.cc(148)] :components/enterprise/browser/controller/chrome_browser_cloud_management_controller.cc(88) Could not create policy manager as CBCM is not enabled. [1101/111018.371944:WARNING:angle_platform_impl.cc(49)] vk_utils.cpp:366 (GetAvailableValidationLayers): Vulkan validation layers are missing. [1101/111019.729645:WARNING:http_cache_transaction.cc(1239)] Unable to open or create cache entry [1101/111019.730586:WARNING:http_cache_transaction.cc(1239)] Unable to open or create cache entry Backtrace from -dealloc: 0 Chromium Embedded Framework 0x0000000123c8d650 (anonymous namespace)::ZombieDealloc(objc_object, objc_selector) + 228 1 libobjc.A.dylib 0x000000018a1f3bd4 AutoreleasePoolPage::releaseUntil(objc_object) + 196 2 libobjc.A.dylib 0x000000018a1f079c objc_autoreleasePoolPop + 256 3 CoreFoundation 0x000000018a62652c _CFAutoreleasePoolPop + 32 4 AppKit 0x000000018dbda568 CopyAttributeValue + 324 5 HIServices 0x000000018fe02a10 _AXXMIGCopyAttributeValue + 444 6 HIServices 0x000000018fe28f08 _XCopyAttributeValue + 436 7 HIServices 0x000000018fde252c mshMIGPerform + 204 8 CoreFoundation 0x000000018a666b5c CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION + 60 9 CoreFoundation 0x000000018a666a7c CFRunLoopDoSource1 + 520 10 CoreFoundation 0x000000018a66545c CFRunLoopRun + 2240 11 CoreFoundation 0x000000018a664448 CFRunLoopRunSpecific + 612 12 HIToolbox 0x0000000193eb6df0 RunCurrentEventLoopInMode + 292 13 HIToolbox 0x0000000193eb6c2c ReceiveNextEventCommon + 648 14 HIToolbox 0x0000000193eb6984 _BlockUntilNextEventMatchingListInModeWithFilter + 76 15 AppKit 0x000000018d88b97c _DPSNextEvent + 636 16 AppKit 0x000000018d88ab18 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 716 17 AppKit 0x000000018d87ef7c -[NSApplication run] + 464 18 Chromium Embedded Framework 0x00000001221e5ab0 base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate) + 400 19 Chromium Embedded Framework 0x00000001221e401c base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate) + 144 [1101/111021.337093:FATAL:objc_zombie.mm(251)] Zombie <OsrAXNodeObject: 0x600001cd98e0> received -retain 0 Chromium Embedded Framework 0x000000011e8b5f0c partition_alloc::internal::base::debug::CollectStackTrace(void, unsigned long) + 28 1 Chromium Embedded Framework 0x00000001221cb5fc base::debug::StackTrace::StackTrace() + 24 2 Chromium Embedded Framework 0x00000001221080a8 logging::LogMessage::~LogMessage() + 156 3 Chromium Embedded Framework 0x0000000123c8cf6c (anonymous namespace)::ZombieObjectCrash(objc_object, objc_selector, objc_selector) + 800 4 Chromium Embedded Framework 0x0000000123c8cc40 -[CrZombie forwardingTargetForSelector:] + 20 5 CoreFoundation 0x000000018a646acc forwarding + 220 6 CoreFoundation 0x000000018a646930 _CF_forwarding_prep_0 + 96 7 cefclient 0x00000001003253dc -[BrowserOpenGLView accessibilityFocusedUIElement] + 44 8 AppKit 0x000000018e07aea0 -[NSWindow(NSWindowAccessibility) accessibilityFocusedUIElement] + 88 9 AppKit 0x000000018d90d4bc NSAccessibilityGetObjectForAttributeUsingLegacyAPI + 280 10 AppKit 0x000000018d90cb84 NSAccessibilityGetObjectValueForAttribute + 1568 11 AppKit 0x000000018d90c140 -[NSAccessibilityAttributeAccessorInfo getAttributeValue:forObject:] + 60 12 AppKit 0x000000018dddcbe0 _NSAccessibilityEntryPointValueForAttribute_block_invoke.748 + 1504 13 AppKit 0x000000018ddd8764 NSAccessibilityPerformEntryPointObject + 44 14 AppKit 0x000000018dae2a44 _NSAccessibilityEntryPointValueForAttribute + 224 15 AppKit 0x000000018dbd7e34 -[NSObject(NSAccessibilityInternal) _accessibilityValueForAttribute:clientError:] + 272 16 AppKit 0x000000018dc106d4 -[NSApplication(NSApplicationAccessibility) _accessibilityValueForAttribute:clientError:] + 60 17 AppKit 0x000000018dbdd8b8 CopyAppKitUIElementAttributeValueNoCatch + 92 18 AppKit 0x000000018dbda4cc CopyAttributeValue + 168 19 HIServices 0x000000018fe02a10 _AXXMIGCopyAttributeValue + 444 20 HIServices 0x000000018fe28f08 _XCopyAttributeValue + 436 21 HIServices 0x000000018fde252c mshMIGPerform + 204 22 CoreFoundation 0x000000018a666b5c CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION + 60 23 CoreFoundation 0x000000018a666a7c CFRunLoopDoSource1 + 520 24 CoreFoundation 0x000000018a66545c __CFRunLoopRun + 2240 25 CoreFoundation 0x000000018a664448 CFRunLoopRunSpecific + 612 26 HIToolbox 0x0000000193eb6df0 RunCurrentEventLoopInMode + 292 27 HIToolbox 0x0000000193eb6c2c ReceiveNextEventCommon + 648 28 HIToolbox 0x0000000193eb6984 _BlockUntilNextEventMatchingListInModeWithFilter + 76 29 AppKit 0x000000018d88b97c _DPSNextEvent + 636 30 AppKit 0x000000018d88ab18 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 716 31 AppKit 0x000000018d87ef7c -[NSApplication run] + 464 32 Chromium Embedded Framework 0x00000001221e5ab0 base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate) + 400 33 Chromium Embedded Framework 0x00000001221e401c base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 144 34 Chromium Embedded Framework 0x0000000122187434 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) + 472 35 Chromium Embedded Framework 0x000000012213d09c base::RunLoop::Run(base::Location const&) + 396 36 Chromium Embedded Framework 0x000000011cdeb770 CefMainRunner::RunMessageLoop() + 180 37 Chromium Embedded Framework 0x000000011cdb3490 CefRunMessageLoop() + 184 38 cefclient 0x00000001002cdf60 client::MainMessageLoopStd::Run() + 12 39 cefclient 0x000000010033afa4 main + 1088 40 dyld 0x000000018a22ff28 start + 2236 Crash keys: "zombie_dealloc_bt" = "0x123c8d650 0x18a1f3bd4 0x18a1f079c 0x18a62652c 0x18dbda568 0x18fe02a10 0x18fe28f08 0x18fde252c 0x18a666b5c 0x18a666a7c 0x18a66545c 0x18a664448 0x193eb6df0 0x193eb6c2c 0x193eb6984 0x18d88b97c 0x18d88ab18 0x18d87ef7c 0x1221e5ab0 0x1221e401c" "zombie" = "Zombie <OsrAXNodeObject: 0x600001cd98e0> received -retain" "total-discardable-memory-allocated" = "4194304" "amfi-status" = "rv=0 status=0x0 allow_everything=0" "switch-6" = "--use-mock-keychain" "switch-5" = "--disable-gpu-shader-disk-cache" "switch-4" = "--disable-gpu-compositing" "switch-3" = "--disable-gpu" "switch-2" = "--lang=en-US" "switch-1" = "--off-screen-rendering-enabled" "num-switches" = "8"

zsh: trace trap --off-screen-rendering-enabled

magreenblatt commented 5 months ago

0 Chromium Embedded Framework 0x0000000123c8d650 (anonymous namespace)::ZombieDealloc(objc_object, objc_selector) + 228 [1101/111021.337093:FATAL:objc_zombie.mm(251)] Zombie <OsrAXNodeObject: 0x600001cd98e0> received -retain 0 Chromium Embedded Framework 0x000000011e8b5f0c partition_alloc::internal::base::debug::CollectStackTrace(void**, unsigned long) + 28

@ajaykundu You will likely need to build CEF/Chromium from source code and debug this issue.