返回 DeepSeek-Reasonix
electron-packaged-darwin-arm64-tabs-leak.json
根目录 / docs / desktop-migration / baseline / electron-packaged-darwin-arm64-tabs-leak.json
1 {
2 "label": "electron-packaged-darwin-arm64-tabs-leak",
3 "executable": "/tmp/reasonix-phaseF/pkg/Reasonix.app/Contents/MacOS/Reasonix",
4 "measuredAt": "2026-09-08T20:47:23.241Z",
5 "phases": {
6 "idle": {
7 "rssKiB": 698928,
8 "processCount": 5,
9 "processes": "Reasonix Helper (Renderer)(241344);Reasonix(217632);Reasonix Helper(119328);reasonix-desktop(70944);Reasonix Helper(49680)",
10 "perProc": [
11 {
12 "pid": 72168,
13 "comm": "Reasonix Helper (Renderer)",
14 "rssKiB": 241344
15 },
16 {
17 "pid": 72133,
18 "comm": "Reasonix",
19 "rssKiB": 217632
20 },
21 {
22 "pid": 72166,
23 "comm": "Reasonix Helper",
24 "rssKiB": 119328
25 },
26 {
27 "pid": 72169,
28 "comm": "reasonix-desktop",
29 "rssKiB": 70944
30 },
31 {
32 "pid": 72167,
33 "comm": "Reasonix Helper",
34 "rssKiB": 49680
35 }
36 ]
37 },
38 "tabs-1": {
39 "rssKiB": 767536,
40 "processCount": 6,
41 "processes": "Reasonix Helper (Renderer)(242480);Reasonix(201344);Reasonix Helper (Renderer)(98752);Reasonix Helper(98704);reasonix-desktop(70976);Reasonix Helper(55280)",
42 "perProc": [
43 {
44 "pid": 72168,
45 "comm": "Reasonix Helper (Renderer)",
46 "rssKiB": 242480
47 },
48 {
49 "pid": 72133,
50 "comm": "Reasonix",
51 "rssKiB": 201344
52 },
53 {
54 "pid": 72227,
55 "comm": "Reasonix Helper (Renderer)",
56 "rssKiB": 98752
57 },
58 {
59 "pid": 72166,
60 "comm": "Reasonix Helper",
61 "rssKiB": 98704
62 },
63 {
64 "pid": 72169,
65 "comm": "reasonix-desktop",
66 "rssKiB": 70976
67 },
68 {
69 "pid": 72167,
70 "comm": "Reasonix Helper",
71 "rssKiB": 55280
72 }
73 ]
74 },
75 "tabs-5": {
76 "rssKiB": 1255280,
77 "processCount": 10,
78 "processes": "Reasonix Helper (Renderer)(242528);Reasonix(208496);Reasonix Helper (Renderer)(137696);Reasonix Helper (Renderer)(130576);Reasonix Helper(104432);Reasonix Helper (Renderer)(98720);Reasonix Helper (Renderer)(98704);Reasonix Helper (Renderer)(98640);reasonix-desktop(70992);Reasonix Helper(64496)",
79 "perProc": [
80 {
81 "pid": 72168,
82 "comm": "Reasonix Helper (Renderer)",
83 "rssKiB": 242528
84 },
85 {
86 "pid": 72133,
87 "comm": "Reasonix",
88 "rssKiB": 208496
89 },
90 {
91 "pid": 72395,
92 "comm": "Reasonix Helper (Renderer)",
93 "rssKiB": 137696
94 },
95 {
96 "pid": 72523,
97 "comm": "Reasonix Helper (Renderer)",
98 "rssKiB": 130576
99 },
100 {
101 "pid": 72166,
102 "comm": "Reasonix Helper",
103 "rssKiB": 104432
104 },
105 {
106 "pid": 72347,
107 "comm": "Reasonix Helper (Renderer)",
108 "rssKiB": 98720
109 },
110 {
111 "pid": 72227,
112 "comm": "Reasonix Helper (Renderer)",
113 "rssKiB": 98704
114 },
115 {
116 "pid": 72327,
117 "comm": "Reasonix Helper (Renderer)",
118 "rssKiB": 98640
119 },
120 {
121 "pid": 72169,
122 "comm": "reasonix-desktop",
123 "rssKiB": 70992
124 },
125 {
126 "pid": 72167,
127 "comm": "Reasonix Helper",
128 "rssKiB": 64496
129 }
130 ]
131 },
132 "tabs-closed": {
133 "rssKiB": 688768,
134 "processCount": 5,
135 "processes": "Reasonix Helper (Renderer)(242896);Reasonix(207312);Reasonix Helper(103312);reasonix-desktop(70992);Reasonix Helper(64256)",
136 "perProc": [
137 {
138 "pid": 72168,
139 "comm": "Reasonix Helper (Renderer)",
140 "rssKiB": 242896
141 },
142 {
143 "pid": 72133,
144 "comm": "Reasonix",
145 "rssKiB": 207312
146 },
147 {
148 "pid": 72166,
149 "comm": "Reasonix Helper",
150 "rssKiB": 103312
151 },
152 {
153 "pid": 72169,
154 "comm": "reasonix-desktop",
155 "rssKiB": 70992
156 },
157 {
158 "pid": 72167,
159 "comm": "Reasonix Helper",
160 "rssKiB": 64256
161 }
162 ]
163 },
164 "leak-base": {
165 "rssKiB": 688768,
166 "processCount": 5,
167 "processes": "Reasonix Helper (Renderer)(242896);Reasonix(207312);Reasonix Helper(103312);reasonix-desktop(70992);Reasonix Helper(64256)",
168 "perProc": [
169 {
170 "pid": 72168,
171 "comm": "Reasonix Helper (Renderer)",
172 "rssKiB": 242896
173 },
174 {
175 "pid": 72133,
176 "comm": "Reasonix",
177 "rssKiB": 207312
178 },
179 {
180 "pid": 72166,
181 "comm": "Reasonix Helper",
182 "rssKiB": 103312
183 },
184 {
185 "pid": 72169,
186 "comm": "reasonix-desktop",
187 "rssKiB": 70992
188 },
189 {
190 "pid": 72167,
191 "comm": "Reasonix Helper",
192 "rssKiB": 64256
193 }
194 ]
195 },
196 "leak-tabs-end": {
197 "rssKiB": 710656,
198 "processCount": 5,
199 "processes": "Reasonix Helper (Renderer)(249168);Reasonix(219152);Reasonix Helper(102736);reasonix-desktop(71072);Reasonix Helper(68528)",
200 "perProc": [
201 {
202 "pid": 72168,
203 "comm": "Reasonix Helper (Renderer)",
204 "rssKiB": 249168
205 },
206 {
207 "pid": 72133,
208 "comm": "Reasonix",
209 "rssKiB": 219152
210 },
211 {
212 "pid": 72166,
213 "comm": "Reasonix Helper",
214 "rssKiB": 102736
215 },
216 {
217 "pid": 72169,
218 "comm": "reasonix-desktop",
219 "rssKiB": 71072
220 },
221 {
222 "pid": 72167,
223 "comm": "Reasonix Helper",
224 "rssKiB": 68528
225 }
226 ]
227 }
228 },
229 "tabLeakLoop": [
230 {
231 "cycle": 5,
232 "rssKiB": 680336,
233 "processCount": 6,
234 "webContents": 1,
235 "wcListeners": 22,
236 "activeHandles": 5,
237 "openTabs": 0
238 },
239 {
240 "cycle": 10,
241 "rssKiB": 686128,
242 "processCount": 6,
243 "webContents": 1,
244 "wcListeners": 22,
245 "activeHandles": 5,
246 "openTabs": 0
247 },
248 {
249 "cycle": 15,
250 "rssKiB": 691552,
251 "processCount": 6,
252 "webContents": 1,
253 "wcListeners": 22,
254 "activeHandles": 5,
255 "openTabs": 0
256 },
257 {
258 "cycle": 20,
259 "rssKiB": 696288,
260 "processCount": 6,
261 "webContents": 1,
262 "wcListeners": 22,
263 "activeHandles": 5,
264 "openTabs": 0
265 },
266 {
267 "cycle": 25,
268 "rssKiB": 700352,
269 "processCount": 6,
270 "webContents": 1,
271 "wcListeners": 22,
272 "activeHandles": 5,
273 "openTabs": 0
274 },
275 {
276 "cycle": 30,
277 "rssKiB": 705632,
278 "processCount": 6,
279 "webContents": 1,
280 "wcListeners": 22,
281 "activeHandles": 5,
282 "openTabs": 0
283 },
284 {
285 "cycle": 35,
286 "rssKiB": 710640,
287 "processCount": 6,
288 "webContents": 1,
289 "wcListeners": 22,
290 "activeHandles": 5,
291 "openTabs": 0
292 }
293 ],
294 "sessionLeakLoop": [
295 {
296 "cycle": 5,
297 "goRssKiB": 71152,
298 "sessions": 0
299 },
300 {
301 "cycle": 10,
302 "goRssKiB": 71200,
303 "sessions": 0
304 },
305 {
306 "cycle": 15,
307 "goRssKiB": 71456,
308 "sessions": 0
309 },
310 {
311 "cycle": 20,
312 "goRssKiB": 71744,
313 "sessions": 0
314 },
315 {
316 "cycle": 25,
317 "goRssKiB": 71744,
318 "sessions": 0
319 },
320 {
321 "cycle": 30,
322 "goRssKiB": 71760,
323 "sessions": 0
324 },
325 {
326 "cycle": 35,
327 "goRssKiB": 71760,
328 "sessions": 0
329 }
330 ],
331 "inputLatencyMs": [],
332 "checks": [
333 {
334 "name": "5 browser tabs are open",
335 "ok": true,
336 "detail": "count=5"
337 },
338 {
339 "name": "all browser tabs closed",
340 "ok": true,
341 "detail": ""
342 },
343 {
344 "name": "WebContents back to idle count after closing tabs",
345 "ok": true,
346 "detail": "idle=1 after=1"
347 },
348 {
349 "name": "process count back to idle after closing tabs",
350 "ok": true,
351 "detail": "idle=5 after=5"
352 },
353 {
354 "name": "tab loop leaves no open tabs",
355 "ok": true,
356 "detail": "tabs=0"
357 },
358 {
359 "name": "WebContents count does not grow across 35 tab cycles",
360 "ok": true,
361 "detail": "cycle5=1 cycle35=1 end=1"
362 },
363 {
364 "name": "process count does not grow across 35 tab cycles",
365 "ok": true,
366 "detail": "cycle5=6 cycle35=6 end=5"
367 },
368 {
369 "name": "main-process WebContents listener total does not trend up",
370 "ok": true,
371 "detail": "cycle5=22 cycle35=22"
372 },
373 {
374 "name": "tree RSS growth over 35 tab cycles < 64 MiB",
375 "ok": true,
376 "detail": "29.6 MiB cycle5→cycle35"
377 },
378 {
379 "name": "session loop leaves no session accumulation",
380 "ok": true,
381 "detail": "before=0 after=0"
382 },
383 {
384 "name": "Go service RSS growth over 35 session cycles < 32 MiB",
385 "ok": true,
386 "detail": "0.6 MiB (base 69 → end 70 MiB)"
387 },
388 {
389 "name": "harness completed",
390 "ok": false,
391 "detail": "locator.click: Timeout 30000ms exceeded.\nCall log:\n\u001b[2m - waiting for locator('textarea.composer__input:not([aria-hidden=true])').first()\u001b[22m\n\u001b[2m - locator resolved to <textarea rows=\"1\" autocorrect=\"off\" spellcheck=\"false\" id=\"composer-input\" autocapitalize=\"off\" class=\"composer__input\" aria-label=\"给 Reasonix 发消息… ( / 命令 · @ 文件 · ! 终端 )\" placeholder=\"给 Reasonix 发消息… ( / 命令 · @ 文件 · ! 终端 )\"></textarea>\u001b[22m\n\u001b[2m - attempting click action\u001b[22m\n\u001b[2m 2 × waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <section aria-label=\"DeepSeek\" class=\"provider-catalog__detail\">…</section> from <section aria-label=\"设置\" data-app-overlay=\"\" class=\"management-screen settings-screen\">…</section> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 20ms\u001b[22m\n\u001b[2m 2 × waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <section aria-label=\"DeepSeek\" class=\"provider-catalog__detail\">…</section> from <section aria-label=\"设置\" data-app-overlay=\"\" class=\"management-screen settings-screen\">…</section> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 100ms\u001b[22m\n\u001b[2m 58 × waiting for element to be visible, enabled and stable\u001b[22m\n\u001b[2m - element is visible, enabled and stable\u001b[22m\n\u001b[2m - scrolling into view if needed\u001b[22m\n\u001b[2m - done scrolling\u001b[22m\n\u001b[2m - <section aria-label=\"DeepSeek\" class=\"provider-catalog__detail\">…</section> from <section aria-label=\"设置\" data-app-overlay=\"\" class=\"management-screen settings-screen\">…</section> subtree intercepts pointer events\u001b[22m\n\u001b[2m - retrying click action\u001b[22m\n\u001b[2m - waiting 500ms\u001b[22m\n"
392 }
393 ],
394 "healthyMs": 1394,
395 "idleMain": {
396 "webContents": 1,
397 "webContentsListenersTotal": 22,
398 "windows": 1,
399 "appMetrics": [
400 {
401 "pid": 72133,
402 "type": "Browser",
403 "workingSetKiB": 217776
404 },
405 {
406 "pid": 72166,
407 "type": "GPU",
408 "workingSetKiB": 119328
409 },
410 {
411 "pid": 72167,
412 "type": "Utility",
413 "workingSetKiB": 49680
414 },
415 {
416 "pid": 72168,
417 "type": "Tab",
418 "workingSetKiB": 241344
419 }
420 ],
421 "activeHandles": 5
422 },
423 "tabs1": {
424 "main": {
425 "webContents": 2,
426 "webContentsListenersTotal": 49,
427 "windows": 1,
428 "appMetrics": [
429 {
430 "pid": 72133,
431 "type": "Browser",
432 "workingSetKiB": 201344
433 },
434 {
435 "pid": 72166,
436 "type": "GPU",
437 "workingSetKiB": 98704
438 },
439 {
440 "pid": 72167,
441 "type": "Utility",
442 "workingSetKiB": 55280
443 },
444 {
445 "pid": 72168,
446 "type": "Tab",
447 "workingSetKiB": 242480
448 },
449 {
450 "pid": 72227,
451 "type": "Tab",
452 "workingSetKiB": 98752
453 }
454 ],
455 "activeHandles": 5
456 },
457 "tab": {
458 "id": "tab-1",
459 "taskId": "user",
460 "url": "https://example.com/",
461 "title": "Example Domain",
462 "loading": true,
463 "canGoBack": false,
464 "canGoForward": false,
465 "temporary": true,
466 "mode": "agent",
467 "epoch": 1,
468 "zoom": 1,
469 "active": true,
470 "error": null
471 }
472 },
473 "tabs5": {
474 "main": {
475 "webContents": 6,
476 "webContentsListenersTotal": 157,
477 "windows": 1,
478 "appMetrics": [
479 {
480 "pid": 72133,
481 "type": "Browser",
482 "workingSetKiB": 208512
483 },
484 {
485 "pid": 72166,
486 "type": "GPU",
487 "workingSetKiB": 104432
488 },
489 {
490 "pid": 72167,
491 "type": "Utility",
492 "workingSetKiB": 64496
493 },
494 {
495 "pid": 72168,
496 "type": "Tab",
497 "workingSetKiB": 242528
498 },
499 {
500 "pid": 72227,
501 "type": "Tab",
502 "workingSetKiB": 98704
503 },
504 {
505 "pid": 72327,
506 "type": "Tab",
507 "workingSetKiB": 98640
508 },
509 {
510 "pid": 72347,
511 "type": "Tab",
512 "workingSetKiB": 98720
513 },
514 {
515 "pid": 72395,
516 "type": "Tab",
517 "workingSetKiB": 137696
518 },
519 {
520 "pid": 72523,
521 "type": "Tab",
522 "workingSetKiB": 130576
523 }
524 ],
525 "activeHandles": 5
526 },
527 "count": 5
528 },
529 "tabsClosed": {
530 "main": {
531 "webContents": 1,
532 "webContentsListenersTotal": 22,
533 "windows": 1,
534 "appMetrics": [
535 {
536 "pid": 72133,
537 "type": "Browser",
538 "workingSetKiB": 207312
539 },
540 {
541 "pid": 72166,
542 "type": "GPU",
543 "workingSetKiB": 103312
544 },
545 {
546 "pid": 72167,
547 "type": "Utility",
548 "workingSetKiB": 64256
549 },
550 {
551 "pid": 72168,
552 "type": "Tab",
553 "workingSetKiB": 242896
554 }
555 ],
556 "activeHandles": 5
557 },
558 "count": 0
559 },
560 "tabLeakSummary": {
561 "base": {
562 "sample": {
563 "rssKiB": 688768,
564 "processCount": 5,
565 "processes": "Reasonix Helper (Renderer)(242896);Reasonix(207312);Reasonix Helper(103312);reasonix-desktop(70992);Reasonix Helper(64256)",
566 "perProc": [
567 {
568 "pid": 72168,
569 "comm": "Reasonix Helper (Renderer)",
570 "rssKiB": 242896
571 },
572 {
573 "pid": 72133,
574 "comm": "Reasonix",
575 "rssKiB": 207312
576 },
577 {
578 "pid": 72166,
579 "comm": "Reasonix Helper",
580 "rssKiB": 103312
581 },
582 {
583 "pid": 72169,
584 "comm": "reasonix-desktop",
585 "rssKiB": 70992
586 },
587 {
588 "pid": 72167,
589 "comm": "Reasonix Helper",
590 "rssKiB": 64256
591 }
592 ]
593 },
594 "main": {
595 "webContents": 1,
596 "webContentsListenersTotal": 22,
597 "windows": 1,
598 "appMetrics": [
599 {
600 "pid": 72133,
601 "type": "Browser",
602 "workingSetKiB": 207312
603 },
604 {
605 "pid": 72166,
606 "type": "GPU",
607 "workingSetKiB": 103312
608 },
609 {
610 "pid": 72167,
611 "type": "Utility",
612 "workingSetKiB": 64256
613 },
614 {
615 "pid": 72168,
616 "type": "Tab",
617 "workingSetKiB": 242896
618 }
619 ],
620 "activeHandles": 5
621 }
622 },
623 "end": {
624 "sample": {
625 "rssKiB": 710656,
626 "processCount": 5,
627 "processes": "Reasonix Helper (Renderer)(249168);Reasonix(219152);Reasonix Helper(102736);reasonix-desktop(71072);Reasonix Helper(68528)",
628 "perProc": [
629 {
630 "pid": 72168,
631 "comm": "Reasonix Helper (Renderer)",
632 "rssKiB": 249168
633 },
634 {
635 "pid": 72133,
636 "comm": "Reasonix",
637 "rssKiB": 219152
638 },
639 {
640 "pid": 72166,
641 "comm": "Reasonix Helper",
642 "rssKiB": 102736
643 },
644 {
645 "pid": 72169,
646 "comm": "reasonix-desktop",
647 "rssKiB": 71072
648 },
649 {
650 "pid": 72167,
651 "comm": "Reasonix Helper",
652 "rssKiB": 68528
653 }
654 ]
655 },
656 "main": {
657 "webContents": 1,
658 "webContentsListenersTotal": 22,
659 "windows": 1,
660 "appMetrics": [
661 {
662 "pid": 72133,
663 "type": "Browser",
664 "workingSetKiB": 219152
665 },
666 {
667 "pid": 72166,
668 "type": "GPU",
669 "workingSetKiB": 102736
670 },
671 {
672 "pid": 72167,
673 "type": "Utility",
674 "workingSetKiB": 68528
675 },
676 {
677 "pid": 72168,
678 "type": "Tab",
679 "workingSetKiB": 249168
680 }
681 ],
682 "activeHandles": 5
683 },
684 "openTabs": 0
685 },
686 "rssGrowthMiBCycle5To35": 29.59375
687 },
688 "sessionLeakSummary": {
689 "goBaseKiB": 71072,
690 "goEndKiB": 71776,
691 "sessionsBefore": 0,
692 "sessionsAfter": 0
693 },
694 "exitedCleanly": true
695 }
696
696 lines JSON