我的Chrome扩展程序随机对一小部分用户崩溃,因此我无法复制它或找出问题所在。用户收到通知“ [扩展名]崩溃。单击此气球以重新加载扩展。”,这与我在Chrome任务管理器中单击扩展上的“结束进程”时的行为相同,因此似乎扩展已终止。发生这种情况的可能原因有哪些?我可以采取哪些步骤进一步调查?有趣的是,当加载扩展中捆绑的html文件时,崩溃似乎经常发生,但并非总是如此。
我从一个用户那里获得了一个崩溃转储,但是对它的解释并不太远。通过minidump_stackwalk
运行它可以产生此结果。反正还有进一步解码此日志的信息吗?
Operating system: Mac OS X 10.12.6 16G2136
CPU: amd64
family 6 model 158 stepping 9
8 CPUs
GPU: UNKNOWN
Crash reason: EXC_BREAKPOINT / EXC_I386_BPT
Crash address: 0x10ec219fd
Process uptime: 147598 seconds
Thread 0 (crashed)
0 Google Chrome Framework + 0x7bfa9fd
rax = 0x000000000mi0000001 rdx = 0x0000000000000004
rcx = 0x00007f8a92fc0b04 rbx = 0x0000000000000000
rsi = 0x0000000000000002 rdi = 0x00007f8a8a80a400
rbp = 0x00007fff5af52f20 rsp = 0x00007fff5af52f20
r8 = 0x000000010ec219d0 r9 = 0x0000000000000000
r10 = 0x0000000000000001 r11 = 0x0000000000000006
r12 = 0x0000000000000000 r13 = 0x00007f8a92f5eb88
r14 = 0x000000010ec219d0 r15 = 0x00007f8a8a80a400
rip = 0x000000010ec219fd
Found by: given as instruction pointer in context
1 Google Chrome Framework + 0x7bfa931
rbp = 0x00007fff5af52f70 rsp = 0x00007fff5af52f30
rip = 0x000000010ec21931
Found by: previous frame's frame pointer
2 Google Chrome Framework + 0x7bf937b
rbp = 0x00007fff5af530e0 rsp = 0x00007fff5af52f80
rip = 0x000000010ec2037b
Found by: previous frame's frame pointer
3 Google Chrome Framework + 0x2fc49cf
rbp = 0x00007fff5af53190 rsp = 0x00007fff5af530f0
rip = 0x0000000109feb9cf
Found by: previous frame's frame pointer
4 Google Chrome Framework + 0x2fd4b9b
rbp = 0x00007fff5af53260 rsp = 0x00007fff5af531a0
rip = 0x0000000109ffbb9b
Found by: previous frame's frame pointer
5 Google Chrome Framework + 0x2fd493b
rbp = 0x00007fff5af532b0 rsp = 0x00007fff5af53270
rip = 0x0000000109ffb93b
Found by: previous frame's frame pointer
6 Google Chrome Framework + 0x302ec21
rbp = 0x00007fff5af532d0 rsp = 0x00007fff5af532c0
rip = 0x000000010a055c21
Found by: previous frame's frame pointer
7 Google Chrome Framework + 0x302942a
rbp = 0x00007fff5af532e0 rsp = 0x00007fff5af532e0
rip = 0x000000010a05042a
Found by: previous frame's frame pointer
8 Google Chrome Framework + 0x302e4ef
rbp = 0x00007fff5af53320 rsp = 0x00007fff5af532f0
rip = 0x000000010a0554ef
Found by: previous frame's frame pointer
9 CoreFoundation + 0xa7a31
rbp = 0x00007fff5af53330 rsp = 0x00007fff5af53330
rip = 0x00007fffc47e6a31
Found by: previous frame's frame pointer
10 CoreFoundation + 0x8892d
rbp = 0x00007fff5af53390 rsp = 0x00007fff5af53340
rip = 0x00007fffc47c792d
Found by: previous frame's frame pointer
11 CoreFoundation + 0x87e26
rbp = 0x00007fff5af54080 rsp = 0x00007fff5af533a0
rip = 0x00007fffc47c6e26
Found by: previous frame's frame pointer
12 CoreFoundation + 0x87824
rbp = 0x00007fff5af54110 rsp = 0x00007fff5af54090
rip = 0x00007fffc47c6824
Found by: previous frame's frame pointer
13 Foundation + 0x22ac2
rbp = 0x00007fff5af54150 rsp = 0x00007fff5af54120
rip = 0x00007fffc61dcac2
Found by: previous frame's frame pointer
14 Google Chrome Framework + 0x302f141
rbp = 0x00007fff5af54190 rsp = 0x00007fff5af54160
rip = 0x000000010a056141
Found by: previous frame's frame pointer
15 Google Chrome Framework + 0x302dea2
rbp = 0x00007fff5af541d0 rsp = 0x00007fff5af541a0
rip = 0x000000010a054ea2
Found by: previous frame's frame pointer
16 Google Chrome Framework + 0x2fd5123
rbp = 0x00007fff5af54200 rsp = 0x00007fff5af541e0
rip = 0x0000000109ffc123
Found by: previous frame's frame pointer
17 Google Chrome Framework + 0x2fab3b3
rbp = 0x00007fff5af54290 rsp = 0x00007fff5af54210
rip = 0x0000000109fd23b3
Found by: previous frame's frame pointer
18 Google Chrome Framework + 0x7c45bcf
rbp = 0x00007fff5af54340 rsp = 0x00007fff5af542a0
rip = 0x000000010ec6cbcf
Found by: previous frame's frame pointer
19 Google Chrome Framework + 0x2a3cb59
rbp = 0x00007fff5af543b0 rsp = 0x00007fff5af54350
rip = 0x0000000109a63b59
Found by: previous frame's frame pointer
20 Google Chrome Framework + 0x53d7e48
rbp = 0x00007fff5af54700 rsp = 0x00007fff5af543c0
rip = 0x000000010c3fee48
Found by: previous frame's frame pointer
21 Google Chrome Framework + 0x2a3c1a4
rbp = 0x00007fff5af54790 rsp = 0x00007fff5af54710
rip = 0x0000000109a631a4
Found by: previous frame's frame pointer
22 Google Chrome Framework + 0x342b
rbp = 0x00007fff5af54890 rsp = 0x00007fff5af547a0
rip = 0x000000010702a42b
Found by: previous frame's frame pointer
23 Google Chrome Helper (Renderer) + 0x182f
rbp = 0x00007fff5af548e0 rsp = 0x00007fff5af548a0
rip = 0x0000000104cac82f
Found by: previous frame's frame pointer
24 libdyld.dylib + 0x5235
rbp = 0x00007fff5af548f8 rsp = 0x00007fff5af548f0
rip = 0x00007fffd9fcc235
Found by: previous frame's frame pointer
25 libdyld.dylib + 0x5235
rbp = 0x00007fff5af548f8 rsp = 0x00007fff5af548f8
rip = 0x00007fffd9fcc235
Found by: stack scanning
[更新]我们现在可以重现此崩溃。当我们几次快速chrome.tabs.update(tabId, {url:chrome.runtime.getURL("my_extension_page.html"})
时,就会发生这种情况。该页面崩溃,错误为RESULT_CODE_INVALID_CMDLINE_URL
。另外,如果我将此扩展页设置为清单中的newtab页并快速打开许多选项卡,则扩展不会崩溃。