Edge Stable crashing on extension function chrome.identity.launchWebAuthFlow

Copper Contributor

I've developed an Edge extension which allows users to login with their Google account. I use the chrome.identity.launchWebAuthFlow function for that and everything works fine.

Problem is when you synchronize the Edge browser and the extension gets automatically installed, for some reason Edge crashes as soon as the launchWebAuthFlow function is called.

I analyzed the Edge dump and it's the msedge.dll crashing.

It works fine using Edge Beta instead.

Below is the crash dump:

Spoiler

Microsoft (R) Windows Debugger Version 10.0.22415.1003 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [C:\Users\Diridev\AppData\Local\Microsoft\Edge\User Data\Crashpad\reports\3b2ee717-e092-4e18-8233-d6e1a308e254.dmp]
User Mini Dump File: Only registers, stack and portions of memory are available

Symbol search path is: srv*
Executable search path is:
Windows 10 Version 19043 MP (4 procs) Free x64
Product: WinNt, suite: SingleUserTS
Edition build lab: 19041.1.amd64fre.vb_release.191206-1406
Machine Name:
Debug session time: Sat Oct 30 16:27:47.000 2021 (UTC + 2:00)
System Uptime: not available
Process Uptime: 0 days 0:00:30.000
................................................................
................................................................
...............
Loading unloaded module list
.......................
This dump file has a breakpoint exception stored in it.
The stored exception information can be accessed via .ecxr.
For analysis of this file, run !analyze -v
ntdll!NtDelayExecution+0x14:
00007ffb`00d0d3f4 c3 ret
0:000> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************


KEY_VALUES_STRING: 1

Key : Analysis.CPU.mSec
Value: 11781

Key : Analysis.DebugAnalysisManager
Value: Create

Key : Analysis.Elapsed.mSec
Value: 243365

Key : Analysis.Init.CPU.mSec
Value: 1968

Key : Analysis.Init.Elapsed.mSec
Value: 151510

Key : Analysis.Memory.CommitPeak.Mb
Value: 422

Key : Timeline.Process.Start.DeltaSec
Value: 30

Key : WER.OS.Branch
Value: vb_release

Key : WER.OS.Timestamp
Value: 2019-12-06T14:06:00Z

Key : WER.OS.Version
Value: 10.0.19041.1

Key : WER.Process.Version
Value: 95.0.1020.40


NTGLOBALFLAG: 0

PROCESS_BAM_CURRENT_THROTTLED: 0

PROCESS_BAM_PREVIOUS_THROTTLED: 0

APPLICATION_VERIFIER_FLAGS: 0

CONTEXT: (.ecxr)
rax=00003068018f0e00 rbx=aaaaaaaaaaaaaaaa rcx=89d22c87f2410000
rdx=0000000000000000 rsi=000030680282c290 rdi=000030680282c1b0
rip=00007ffa89786e49 rsp=00000002a4bfbc60 rbp=ffffffffffffff00
r8=0000000000000000 r9=00007ffa8b2e7378 r10=00007ffa89460000
r11=0000000080220000 r12=0000306802440c00 r13=0000000000000022
r14=00000002a4bfbd10 r15=0000000000000001
iopl=0 nv up ei pl nz na pe nc
cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000202
msedge!Ordinal0+0x326e49:
00007ffa`89786e49 cc int 3
Resetting default scope

EXCEPTION_RECORD: (.exr -1)
ExceptionAddress: 00007ffa89786e49 (msedge!Ordinal0+0x0000000000326e49)
ExceptionCode: 80000003 (Break instruction exception)
ExceptionFlags: 00000000
NumberParameters: 1
Parameter[0]: 0000000000000000

PROCESS_NAME: msedge.exe

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

EXCEPTION_CODE_STR: 80000003

EXCEPTION_PARAMETER1: 0000000000000000

STACK_TEXT:
00000002`a4bfbc60 00007ffa`8d8b50d5 : 00000000`00000000 00000000`00000000 00003068`02880180 00003068`023cfeb0 : msedge!Ordinal0+0x326e49
00000002`a4bfbd90 00007ffa`899a8f24 : 00003068`0286d600 00000002`a4bfc388 00000000`00000000 00007ffa`8a93908b : msedge!GetMainTargetServices+0x1217105
00000002`a4bfbe90 00007ffa`8d8cf9ce : 00000000`00000000 00007ffa`8bf7a444 00000000`00000080 00000000`00000072 : msedge!Ordinal0+0x548f24
00000002`a4bfbf60 00007ffa`899c9c42 : 00003068`0235e2c0 00007ffa`8a93908b 00000000`00000100 00003068`01b24440 : msedge!GetMainTargetServices+0x12319fe
00000002`a4bfbfb0 00007ffa`8997dbaa : 00003068`00064d90 00003068`00064c50 00000002`a4bfc6c0 00007ffa`8a6c6db5 : msedge!Ordinal0+0x569c42
00000002`a4bfc4a0 00007ffa`8997dff6 : 00003068`02880280 00000002`a4bfc770 00000002`a4bfc738 00007ffa`8f0e6a69 : msedge!Ordinal0+0x51dbaa
00000002`a4bfc6b0 00007ffa`8c55a99d : 000089d0`88383801 00000000`00000000 00003068`0282c1b0 00000000`00000000 : msedge!Ordinal0+0x51dff6
00000002`a4bfca90 00007ffa`89983531 : 00003068`0282c1b0 00000002`a4bfcb78 00000002`a4bfcb80 00007ffa`8c394cf3 : msedge!ChromeMain+0x23bd2d
00000002`a4bfcae0 00007ffa`8d7e7d3b : 00007ffa`926fd640 00000002`a4bfcc38 00000000`00000100 00007ffa`8b09aae2 : msedge!Ordinal0+0x523531
00000002`a4bfcc20 00007ffa`8dbda5e1 : 00000010`00000000 ffffffff`00000000 ffffffff`00000000 00000020`00000013 : msedge!GetMainTargetServices+0x1149d6b
00000002`a4bfcda0 00007ffa`89a0818a : 00000000`00000100 00000002`a4bfd548 00000002`a4bfdba0 00003068`02765540 : msedge!GetMainTargetServices+0x153c611
00000002`a4bfd320 00007ffa`8dbdb3a7 : ffffffff`00000000 ffffffff`00000000 ffffffff`00000000 ffffffff`00000000 : msedge!Ordinal0+0x5a818a
00000002`a4bfd390 00007ffa`8dbd5142 : 00003068`02842e00 00000000`00000000 000089d0`88382131 00000000`00000001 : msedge!GetMainTargetServices+0x153d3d7
00000002`a4bfd3d0 00007ffa`8dbda0f5 : 00000000`00000000 00007ffa`8dbdcb77 00000000`00000100 00000002`a4bfd490 : msedge!GetMainTargetServices+0x1537172
00000002`a4bfd410 00007ffa`8dbd6ba5 : 65576863`6e75616c 6f6c4668`74754162 11000000`00000077 00003068`023cbcb0 : msedge!GetMainTargetServices+0x153c125
00000002`a4bfd590 00007ffa`8f0e5452 : 00000002`a4bfda88 00000002`a4bfdb98 00000000`00000080 00003068`02842e00 : msedge!GetMainTargetServices+0x1538bd5
00000002`a4bfd6b0 00007ffa`8f0e52f7 : 10aaaaaa`aaaaaa00 00003068`01d51998 00003068`01d519a0 000089d0`88382561 : msedge!GetMainTargetServices+0x2a47482
00000002`a4bfd740 00007ffa`89c277dd : 00000000`00000000 00000000`00000000 00003068`01d519a0 000089d0`883825d1 : msedge!GetMainTargetServices+0x2a47327
00000002`a4bfd7a0 00007ffa`8f0e6af8 : 00000000`00000000 00003068`000a5380 00003068`0282c000 00000002`a4bfdb98 : msedge!Ordinal0+0x7c77dd
00000002`a4bfd820 00007ffa`89a07c6b : 5e14b8e8`d6ad2b0b 00007ffa`8b09aae2 5e14b8e8`d6ad2b0b 70ed1102`2be3ad72 : msedge!GetMainTargetServices+0x2a48b28
00000002`a4bfd860 00007ffa`8f0e51b5 : 00003068`023d5e20 00007ffa`916c40d3 00000000`00000000 00003068`02842e00 : msedge!Ordinal0+0x5a7c6b
00000002`a4bfdb60 00007ffa`8f0e7485 : 00003068`0276aa60 aaaaaaaa`aaaaaa01 00000002`a4bfde40 00000002`a4bfdbd0 : msedge!GetMainTargetServices+0x2a471e5
00000002`a4bfdbf0 00007ffa`8db6cd23 : fe22af50`48d2c221 e436cfd3`b545aa80 00000000`00000000 00000002`a4bfdd40 : msedge!GetMainTargetServices+0x2a494b5
00000002`a4bfdc40 00007ffa`8bd76722 : 00000002`a4bfdd38 00007ffa`89b922f3 00003068`016d6618 00007ffa`8a91ec33 : msedge!GetMainTargetServices+0x14ced53
00000002`a4bfdd00 00007ffa`8dbb800a : 00000000`00000040 00000002`a4bfde18 000089d0`88382f11 00000000`00000040 : msedge!RelaunchChromeBrowserWithNewCommandLineIfNeeded+0x7768c2
00000002`a4bfdd90 00007ffa`8dbb790c : ffffffff`00000000 ffffffff`00000000 ffffffff`00000000 00007ffa`8b09aae2 : msedge!GetMainTargetServices+0x151a03a
00000002`a4bfded0 00007ffa`8dbb6051 : 000089d0`88382de1 aaaaaaaa`aaaaaaaa 00000000`00000008 00000002`a4bfe368 : msedge!GetMainTargetServices+0x151993c
00000002`a4bfdfd0 00007ffa`8d13be83 : 00000000`00000010 00007ffa`8aca416c 00000000`00000000 00000000`00000000 : msedge!GetMainTargetServices+0x1518081
00000002`a4bfe050 00007ffa`8d13d85a : aaaaaaaa`aaaaaaaa 00003068`028363b0 00003068`028363b0 00007ffa`8b2e2307 : msedge!GetMainTargetServices+0xa9deb3
00000002`a4bfe1b0 00007ffa`8a5e3d76 : 00000000`00000000 aaaaaaaa`00000000 000089d0`883813f1 00003068`019c7e20 : msedge!GetMainTargetServices+0xa9f88a
00000002`a4bfe200 00007ffa`8ac860b7 : aaaaaaaa`aaaaaaaa aaaaaaaa`aaaaaaaa aaaaaaaa`aaaaaaaa aaaaaaaa`aaaaaaaa : msedge!Ordinal0+0x1183d76
00000002`a4bfe290 00007ffa`8b0b9bca : aaaaaaaa`aaaaaaaa aaaaaaaa`aaaaaaaa aaaaaaaa`aaaaaaaa aaaaaaaa`aaaaaaaa : msedge!Ordinal0+0x18260b7
00000002`a4bfe310 00007ffa`8acdf8dd : 00000000`00000000 00000000`00040000 00003068`000d8d60 00003068`000d8d60 : msedge!Ordinal0+0x1c59bca
00000002`a4bfe570 00007ffa`894ada6d : 00003068`0170df78 00007ffa`fedaeb26 00000000`00000001 00000000`00000000 : msedge!Ordinal0+0x187f8dd
00000002`a4bfe6c0 00007ffa`8acc5cc9 : 00000002`a4bfea80 aaaaaaaa`aaaaaaaa 00003068`000bc180 00000000`120425f3 : msedge!Ordinal0+0x4da6d
00000002`a4bfea10 00007ffa`8b687c05 : 000089d0`88381961 00003068`00aca450 00003068`000a4ca8 00007ffa`8feab1b1 : msedge!Ordinal0+0x1865cc9
00000002`a4bfeb80 00007ffa`894acb6e : 00000000`a4bfef00 00007ffa`8eae592f 00000000`00000000 000089d0`88381911 : msedge!RelaunchChromeBrowserWithNewCommandLineIfNeeded+0x87da5
00000002`a4bfebe0 00007ffa`8eae5908 : 00000002`a4bfec88 00007ffa`89b922f3 00000002`a4bfee28 00003068`0014c370 : msedge!Ordinal0+0x4cb6e
00000002`a4bfec50 00007ffa`8d5e826b : 00007ffa`93eed5c0 00000002`a4bfedb8 00000000`11f1058b 00000000`11fb17b0 : msedge!GetMainTargetServices+0x2447938
00000002`a4bfecf0 00007ffa`8bb1ea1a : 000089d0`88381f51 00000000`00000018 00000000`00000000 00007ffa`8b72633c : msedge!GetMainTargetServices+0xf4a29b
00000002`a4bfed60 00007ffa`8bb1e947 : 00000000`00000000 00007ffa`8d0088f6 00000002`a4bfeeb0 00007ffa`8e07fece : msedge!RelaunchChromeBrowserWithNewCommandLineIfNeeded+0x51ebba
00000002`a4bfee00 00007ffa`8e080410 : 00003068`00094700 aaaaaaaa`aaaaaaaa 00006ce0`00068070 00000002`a4bfef60 : msedge!RelaunchChromeBrowserWithNewCommandLineIfNeeded+0x51eae7
00000002`a4bfee70 00007ffa`8c31fe03 : 00000000`00000000 000089d0`88381cb1 00000000`00000000 00000002`a4bff2d0 : msedge!GetMainTargetServices+0x19e2440
00000002`a4bfef40 00007ffa`8c31eae0 : 00003068`0008c030 00000002`a4bff560 00003068`0008c030 00007ffa`8c6c0507 : msedge!ChromeMain+0x1193
00000002`a4bff010 00007ffa`8c31f6ff : 00006ce0`00090320 00000000`a4bff300 00000002`a4bff2a0 00003068`00044320 : msedge!RelaunchChromeBrowserWithNewCommandLineIfNeeded+0xd1ec80
00000002`a4bff210 00007ffa`8c31eea3 : 00000000`a4bff300 00003068`000800c0 00000002`a4bff560 00007ffa`8c31ec70 : msedge!ChromeMain+0xa8f
00000002`a4bff250 00007ff6`0381c914 : 00006ce0`00068060 00007ffa`8c31ec70 00006ce0`00090320 00000002`a4bff410 : msedge!ChromeMain+0x233
00000002`a4bff3e0 00007ff6`0375b484 : 00000000`00000001 00000000`00000001 00000002`a4bff840 00007ffa`f6c10000 : msedge_exe!MainDllLoader::Launch+0x172
00000002`a4bff5f0 00007ff6`037d1a72 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : msedge_exe!wWinMain+0x1228
00000002`a4bffac0 00007ffb`00797034 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : msedge_exe!__scrt_common_main_seh+0x106
00000002`a4bffb00 00007ffb`00cc2651 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
00000002`a4bffb30 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21


SYMBOL_NAME: msedge!Ordinal0+326e49

MODULE_NAME: msedge

IMAGE_NAME: msedge.dll

STACK_COMMAND: ~0s ; .ecxr ; kb

FAILURE_BUCKET_ID: BREAKPOINT_80000003_msedge.dll!Ordinal0

OS_VERSION: 10.0.19041.1

BUILDLAB_STR: vb_release

OSPLATFORM_TYPE: x64

OSNAME: Windows 10

IMAGE_VERSION: 95.0.1020.40

FAILURE_ID_HASH: {fe28a5c2-a4a8-f9fe-f413-7e63c8eb763d}

Followup: MachineOwner
---------

0:000> lmvm msedge
Browse full module list
start end module name
00007ffa`89460000 00007ffa`9471c000 msedge (export symbols) msedge.dll
Loaded symbol image file: msedge.dll
Mapped memory image file: C:\Program Files (x86)\Microsoft\Edge\Application\95.0.1020.40\msedge.dll
Image path: C:\Program Files (x86)\Microsoft\Edge\Application\95.0.1020.40\msedge.dll
Image name: msedge.dll
Browse all global symbols functions data
Timestamp: Fri Oct 29 09:14:57 2021 (617B9F71)
CheckSum: 0B1CD14B
ImageSize: 0B2BC000
File version: 95.0.1020.40
Product version: 95.0.1020.40
File flags: 0 (Mask 17)
File OS: 4 Unknown Win32
File type: 1.0 App
File date: 00000000.00000000
Translations: 0409.04b0
Information from resource tables:
CompanyName: Microsoft Corporation
ProductName: Microsoft Edge
InternalName: msedge_dll
OriginalFilename: msedge.dll
ProductVersion: 95.0.1020.40
FileVersion: 95.0.1020.40
FileDescription: Microsoft Edge
LegalCopyright: Copyright Microsoft Corporation. All rights reserved.

33 Replies
I am also getting this issue in production version of the chrome extension, In our case it was working file till yesterday, today after new release of edge we started facing this issue.
Version: 96.0.1054.41 (Official build) (64-bit)
I can confirm this also happens on OSX. It also falls over on the call to chrome.identity.launchWebAuthFlow. It was working up until yesterday.
In our case, it is happening with Microsoft OAuth login, Google and OKTA are working fine.
It is only failing when we are passing Microsoft login URL. I have also raised a ticket at Stackoverflow

Please check stack overflow link for the solution

@sobby Sorry but it's not a solution, it's a workaround and it doesn't even work for me (the workaround returns undefined which means I can't even use it). I also have this issue: javascript - Edge extension crashes the whole browser on API call after latest update (launchWebAuth...

Hi, I agree it's not a solution it is just a workaround but Can you please share some code why it is returning undefined.

Hi, thanks for responding so quickly. I appreciate it.
I don't know! :D It creates a window and displays correctly, but it returns undefined (without any other errors) and I'm baffled.
I have no idea why it's returning undefined.
I can't listen to window-changes (to retrieve the window-title) if the API returns nothing! :p I'm unable to give you more information of why it returns undefined.

@sobby Sorry didn't notice you asked for code! :D

const arguments = ''; // Hidden due to privacy
const authURL = 'https://login.microsoftonline.com/common/oauth2/authorize' + arguments;
const res = chrome.windows.create({
  focused: true,
  height : 800,
  width: 800,
  url: authURL
});
console.log(res);

 

@KristofferPK @sobby Please keep replies to this question related to the original problem.

Otherwise people subscribed to the thread are receiveing emails for replies they don't care about.

Move questions related to the workaround to one of the stackoverflow threads.

 

Thanks

It's directly related to the original problem.
Absolutely not.
This thread is about the launchWebAuthFlow function crashing the browser.
We are investigating this and we will update when this is fixed.
Do you have an ETA for this fix? This is a major bug, our customers are unable to use our application in the Edge Browser...
Hi there, is there an ETA for this fix yet?

@TGAmpliphae 

 

I just got this email today from Microsoft regarding this issue:

 

We want to let you know that we fixed an issue that's related to this feedback in an upcoming update to Microsoft Edge. 

Thank you for helping us make Microsoft Edge better than it was before. We can't wait to hear what you think of next!

 

Is anyone still experiencing this issue? The function is still crashing my browser with the following versions:

Version 97.0.1072.69 (Official build) (arm64)
Version 97.0.1072.76 (Official build) (64-bit)