Breakpoint exception on windows when calling cef shutdown

Issue #3230 wontfix
Diego Provinciani created an issue

Version: cef_binary_91.1.23+g04c8d56+chromium-91.0.4472.164_windows64

After upgrading my project from CEF 88 to CEF 89, I started experiencing a crash in the call to CefShutdown. It reports a breakpoint exception generated in the next callstack.

Having said that, I tried some workarounds suggested in the support forum without having success:

  • Adding a loop to call CefDoMessageLoopWork() several times immediately before calling CefShutdown()
  • Releasing the browser within on_before_close callback

In addition to this, I also upgraded to CEF 91 and the crash still happen.

Here the !analyze -v output:

0:006> !analyze -v


  • *
  • Exception Analysis *
  • *

FAULTING_IP:
libcef!cef_string_utf16_to_upper+8f2e4
000007fe`ce53a514 cc int 3

EXCEPTION_RECORD: ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 000007fece53a514 (libcef!cef_string_utf16_to_upper+0x000000000008f2e4)
ExceptionCode: 80000003 (Break instruction exception)
ExceptionFlags: 00000000
NumberParameters: 1
Parameter[0]: 0000000000000000

DEFAULT_BUCKET_ID: STATUS_BREAKPOINT

ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION} Breakpoint A breakpoint has been reached.

EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid

EXCEPTION_PARAMETER1: 0000000000000000

MOD_LIST: <ANALYSIS/>

NTGLOBALFLAG: 0

APPLICATION_VERIFIER_FLAGS: 0

FAULTING_THREAD: 0000000000001258

PRIMARY_PROBLEM_CLASS: STATUS_BREAKPOINT

BUGCHECK_STR: APPLICATION_FAULT_STATUS_BREAKPOINT

LAST_CONTROL_TRANSFER: from 000007fecce4d4a5 to 000007fece53a514

STACK_TEXT:
000000000537f950 000007fecce4d4a5 : 000000693b878c90 000007fece52f631 0000000000000000 0000000000000001 : libcef!cef_string_utf16_to_upper+0x8f2e4
000000000537f990 000007fecce4dbd0 : aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa : libcef!cef_string_multimap_size+0x10de315
000000000537f9f0 000007fecc91ab70 : 0000000000000001 0000000000000001 000000693b9156c0 000000693b9c8000 : libcef!cef_string_multimap_size+0x10dea40
000000000537fa30 000007fecce6880e : 0000a45c6f5acffc 000007fece52fa92 0000000000000001 00000000000000be : libcef!cef_string_multimap_size+0xbab9e0
000000000537fa70 000007fecce68f00 : 000000693b80e080 000000693c02eca0 000007fed484be10 000007fece56f8bb : libcef!cef_string_multimap_size+0x10f967e
000000000537faa0 000007fecc9c0f8a : 000000693b888918 000007fece56f8bb 0000a45c6f5acf7c 000007fece56f8bb : libcef!cef_string_multimap_size+0x10f9d70
000000000537fae0 000007fecc9c0f50 : 0000000000000001 000000693bbfb580 000000693b8cc120 000000693b9c8000 : libcef!cef_string_multimap_size+0xc51dfa
000000000537fb10 000007fece539a48 : 0000000000000001 000000693b888900 000000693b8cc000 000000693b9c8000 : libcef!cef_string_multimap_size+0xc51dc0
000000000537fb50 000007feceff022c : 000000693b9c8080 000000693b888918 000000693b9c8d18 000000693b9c8080 : libcef!cef_string_utf16_to_upper+0x8e818
000000000537fb90 000007feceff1500 : 000000693b9c8060 000007feceff15c1 000000000000000b 000000693b9c8000 : libcef!cef_time_delta+0x4496c
000000000537fbd0 000007fece528410 : 0000a45c6f5ace1c 0000000000000000 0000000000000001 0000000000000001 : libcef!cef_time_delta+0x45c40
000000000537fc10 000007fece52d1b0 : 000000000537fda0 000007feccc7c897 000000693b8753e0 0000000000000000 : libcef!cef_string_utf16_to_upper+0x7d1e0
000000000537fd00 000007feccc7c990 : 0000000002aae680 000007fecc95ffb1 0000000000000000 0000a45c6f5ac8ec : libcef!cef_string_utf16_to_upper+0x81f80
000000000537fd40 000007fece53b5a2 : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 : libcef!cef_string_multimap_size+0xf0d800
000000000537fd80 000007fece55f1f0 : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 : libcef!cef_string_utf16_to_upper+0x90372
000000000537fe00 0000000076eb570d : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 : libcef!cef_string_utf16_to_upper+0xb3fc0
000000000537fe80 000000007701385d : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 : kernel32!BaseThreadInitThunk+0xd
000000000537feb0 0000000000000000 : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 : ntdll!RtlUserThreadStart+0x1d

STACK_COMMAND: ~6s; .ecxr ; kb

FOLLOWUP_IP:
libcef!cef_string_utf16_to_upper+8f2e4
000007fe`ce53a514 cc int 3

SYMBOL_STACK_INDEX: 0

SYMBOL_NAME: libcef!cef_string_utf16_to_upper+8f2e4

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: libcef

IMAGE_NAME: libcef.dll

DEBUG_FLR_IMAGE_TIMESTAMP: 60ef17ce

FAILURE_BUCKET_ID: STATUS_BREAKPOINT_80000003_libcef.dll!cef_string_utf16_to_upper

BUCKET_ID: X64_APPLICATION_FAULT_STATUS_BREAKPOINT_libcef!cef_string_utf16_to_upper+8f2e4

Followup: MachineOwner

Comments (2)

  1. Marshall Greenblatt

    M91 is not a supported version. If the crash reproduces with a supported version, and with the CEF sample application, then we can re-open.

  2. Log in to comment