memorydetective 1.11.0 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +52 -1
- package/README.md +11 -5
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/parsers/leaksDebugStacks.d.ts +67 -0
- package/dist/parsers/leaksDebugStacks.js +187 -0
- package/dist/parsers/leaksDebugStacks.js.map +1 -0
- package/dist/parsers/referenceTree.js +5 -0
- package/dist/parsers/referenceTree.js.map +1 -1
- package/dist/runtime/prompts.js +49 -0
- package/dist/runtime/prompts.js.map +1 -1
- package/dist/tools/analyzeHangs.d.ts +28 -0
- package/dist/tools/analyzeHangs.js +136 -9
- package/dist/tools/analyzeHangs.js.map +1 -1
- package/dist/tools/captureScenarioState.d.ts +2 -2
- package/dist/tools/compareTracesByPattern.js +2 -0
- package/dist/tools/compareTracesByPattern.js.map +1 -1
- package/dist/tools/countAlive.d.ts +20 -4
- package/dist/tools/countAlive.js +91 -12
- package/dist/tools/countAlive.js.map +1 -1
- package/dist/tools/findRetainers.d.ts +15 -1
- package/dist/tools/findRetainers.js +51 -5
- package/dist/tools/findRetainers.js.map +1 -1
- package/dist/tools/summarizeTrace.d.ts +147 -0
- package/dist/tools/summarizeTrace.js +424 -0
- package/dist/tools/summarizeTrace.js.map +1 -0
- package/dist/tools/verifyFix.d.ts +23 -0
- package/dist/tools/verifyFix.js +121 -1
- package/dist/tools/verifyFix.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summarizeTrace.js","sourceRoot":"","sources":["../../src/tools/summarizeTrace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { type AbandonedMemoryEntry } from "./analyzeAbandonedMemory.js";
|
|
2
3
|
import type { LeaksReport, NextCallSuggestion } from "../types.js";
|
|
3
4
|
/**
|
|
4
5
|
* Cycle-semantic diff. Answers: "did the antipattern I targeted actually
|
|
@@ -70,6 +71,28 @@ export interface VerifyFixResult {
|
|
|
70
71
|
expectedPatternVerdict?: PatternResolution["verdict"];
|
|
71
72
|
diagnosis: string;
|
|
72
73
|
suggestedNextCalls?: NextCallSuggestion[];
|
|
74
|
+
/**
|
|
75
|
+
* v1.12+. Where the overall verdict came from. `cycle-pattern` is the
|
|
76
|
+
* v1.11 behavior (classified cycles). `abandoned-memory` is the new
|
|
77
|
+
* fallback path: when zero cycle patterns fire on either side,
|
|
78
|
+
* verifyFix internally chains into `analyzeAbandonedMemory` and bases
|
|
79
|
+
* the verdict on `actionableShrinkage` / `actionableGrowth` instead.
|
|
80
|
+
* Branch on this field if you need to know which signal the verdict
|
|
81
|
+
* is based on.
|
|
82
|
+
*/
|
|
83
|
+
verdictSource?: "cycle-pattern" | "abandoned-memory";
|
|
84
|
+
/**
|
|
85
|
+
* v1.12+. Populated when `verdictSource` is `abandoned-memory` and the
|
|
86
|
+
* fix freed at least one actionable class. The top-N entries (by
|
|
87
|
+
* absolute delta) of `analyzeAbandonedMemory.actionableShrinkage[]`.
|
|
88
|
+
*/
|
|
89
|
+
freedClasses?: AbandonedMemoryEntry[];
|
|
90
|
+
/**
|
|
91
|
+
* v1.12+. Populated when `verdictSource` is `abandoned-memory` and
|
|
92
|
+
* something grew between the snapshots (regression or unrelated). Top-N
|
|
93
|
+
* entries of `analyzeAbandonedMemory.actionableGrowth[]`.
|
|
94
|
+
*/
|
|
95
|
+
regressionClasses?: AbandonedMemoryEntry[];
|
|
73
96
|
}
|
|
74
97
|
/** Pure function: compute verifyFix result from two parsed reports. */
|
|
75
98
|
export declare function verifyFromReports(beforeReport: LeaksReport, afterReport: LeaksReport, beforePath: string, afterPath: string, input: VerifyFixInput): VerifyFixResult;
|
package/dist/tools/verifyFix.js
CHANGED
|
@@ -3,6 +3,7 @@ import { runLeaksAndParse } from "../runtime/leaks.js";
|
|
|
3
3
|
import { rootCyclesOnly, walkCycles } from "../parsers/leaksOutput.js";
|
|
4
4
|
import { shortenForVerbosity, } from "../parsers/shortenClassName.js";
|
|
5
5
|
import { classifyReport } from "./classifyCycle.js";
|
|
6
|
+
import { analyzeAbandonedMemory, } from "./analyzeAbandonedMemory.js";
|
|
6
7
|
/**
|
|
7
8
|
* Cycle-semantic diff. Answers: "did the antipattern I targeted actually
|
|
8
9
|
* resolve, and how many instances/bytes were freed?"
|
|
@@ -196,11 +197,130 @@ function buildDiagnosis(resolutions, expectedVerdict, expectedId) {
|
|
|
196
197
|
}
|
|
197
198
|
return parts.join(" ");
|
|
198
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Threshold below which a class-count change is treated as cosmetic
|
|
202
|
+
* noise and excluded from the abandoned-memory verdict. Mirrors the
|
|
203
|
+
* threshold used by the `verify-fix-table` markdown renderer in
|
|
204
|
+
* `responseFormatter.renderVerifyFixTable`.
|
|
205
|
+
*/
|
|
206
|
+
const ACTIONABLE_DELTA_THRESHOLD = 10;
|
|
207
|
+
/** Cap on freedClasses[] / regressionClasses[] length on the response.
|
|
208
|
+
* 100 is large enough that the magnitude check below sees a representative
|
|
209
|
+
* slice of the deltas, not just the top-25 outliers. The response is
|
|
210
|
+
* capped further by callers if they pass through `formatMcpResponse`. */
|
|
211
|
+
const ABANDONED_MEMORY_TOPN = 100;
|
|
212
|
+
/**
|
|
213
|
+
* v1.12 fallback path: when classified-cycle data is absent from BOTH
|
|
214
|
+
* snapshots, the v1.11 verifyFix returned `overallVerdict: "PASS"` with
|
|
215
|
+
* no patterns. Useless for the user. Now we chain into
|
|
216
|
+
* `analyzeAbandonedMemory` and emit a verdict based on heap-wide class
|
|
217
|
+
* deltas:
|
|
218
|
+
*
|
|
219
|
+
* - At least one actionableShrinkage entry with |delta| >= 10 AND
|
|
220
|
+
* actionableGrowth empty (or below threshold): PASS with freedClasses.
|
|
221
|
+
* - actionableGrowth non-empty AND actionableShrinkage below threshold:
|
|
222
|
+
* FAIL with regressionClasses.
|
|
223
|
+
* - Both non-empty above threshold: PARTIAL with both.
|
|
224
|
+
* - Both empty / below threshold: PASS with empty freedClasses (clean
|
|
225
|
+
* state, no measurable change).
|
|
226
|
+
*
|
|
227
|
+
* Returns null when even the abandoned-memory path can't run (paths
|
|
228
|
+
* inaccessible, etc.); the caller falls back to the cycle-pattern result.
|
|
229
|
+
*/
|
|
230
|
+
async function buildAbandonedMemoryFallback(beforePath, afterPath) {
|
|
231
|
+
let amResult;
|
|
232
|
+
try {
|
|
233
|
+
amResult = await analyzeAbandonedMemory({
|
|
234
|
+
beforePath,
|
|
235
|
+
afterPath,
|
|
236
|
+
topN: ABANDONED_MEMORY_TOPN,
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
catch {
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
const freedClasses = (amResult.actionableShrinkage ?? []).filter((e) => Math.abs(e.delta) >= ACTIONABLE_DELTA_THRESHOLD);
|
|
243
|
+
const regressionClasses = (amResult.actionableGrowth ?? []).filter((e) => Math.abs(e.delta) >= ACTIONABLE_DELTA_THRESHOLD);
|
|
244
|
+
// Magnitude check: a fix that frees thousands of instances and incidentally
|
|
245
|
+
// grows a hundred Swift Metadata / pthread_mutex_t / ObjC class table
|
|
246
|
+
// entries (these scale with app activity, not user code) should be PASS,
|
|
247
|
+
// not PARTIAL. The magnitude ratio decides:
|
|
248
|
+
//
|
|
249
|
+
// - freed magnitude >= 3x growth magnitude: PASS with a residual-growth note
|
|
250
|
+
// - growth magnitude >= 3x freed magnitude: FAIL
|
|
251
|
+
// - otherwise: PARTIAL
|
|
252
|
+
//
|
|
253
|
+
// Threshold of 2x is moderate; the notelet case has ratios above 2x
|
|
254
|
+
// because the fix freed ~8k actionable instances while the residual
|
|
255
|
+
// growth (Swift runtime + font cache + ObjC class table that scale
|
|
256
|
+
// with app activity, not user code) is ~3-4k. Tighter than 2x would
|
|
257
|
+
// demand near-perfect cleanups; looser would call ambiguous mixed
|
|
258
|
+
// results as PASS.
|
|
259
|
+
const freedMagnitude = freedClasses.reduce((s, e) => s + Math.abs(e.delta), 0);
|
|
260
|
+
const growthMagnitude = regressionClasses.reduce((s, e) => s + Math.abs(e.delta), 0);
|
|
261
|
+
const MAGNITUDE_DOMINANCE_RATIO = 2;
|
|
262
|
+
let verdict;
|
|
263
|
+
let diagnosis;
|
|
264
|
+
if (freedClasses.length > 0 && regressionClasses.length === 0) {
|
|
265
|
+
verdict = "PASS";
|
|
266
|
+
const topFreed = freedClasses[0];
|
|
267
|
+
diagnosis = `Fix verified via abandoned-memory shrinkage: ${freedClasses.length} class${freedClasses.length === 1 ? "" : "es"} freed, leading with \`${topFreed.className}\` (${topFreed.delta}).`;
|
|
268
|
+
}
|
|
269
|
+
else if (freedClasses.length === 0 && regressionClasses.length > 0) {
|
|
270
|
+
verdict = "FAIL";
|
|
271
|
+
const topGrew = regressionClasses[0];
|
|
272
|
+
diagnosis = `Regression detected: ${regressionClasses.length} class${regressionClasses.length === 1 ? "" : "es"} grew, leading with \`${topGrew.className}\` (+${topGrew.delta}). No actionable shrinkage to balance it.`;
|
|
273
|
+
}
|
|
274
|
+
else if (freedClasses.length > 0 && regressionClasses.length > 0) {
|
|
275
|
+
if (freedMagnitude >= growthMagnitude * MAGNITUDE_DOMINANCE_RATIO) {
|
|
276
|
+
verdict = "PASS";
|
|
277
|
+
const topFreed = freedClasses[0];
|
|
278
|
+
diagnosis = `Fix verified via abandoned-memory shrinkage: ${freedMagnitude.toLocaleString()} instances freed dominates the residual ${growthMagnitude.toLocaleString()}-instance growth (typically Swift runtime / font cache / ObjC class table that scales with app activity). Top freed: \`${topFreed.className}\` (${topFreed.delta}). The \`regressionClasses\` field carries the residual growth for inspection.`;
|
|
279
|
+
}
|
|
280
|
+
else if (growthMagnitude >= freedMagnitude * MAGNITUDE_DOMINANCE_RATIO) {
|
|
281
|
+
verdict = "FAIL";
|
|
282
|
+
const topGrew = regressionClasses[0];
|
|
283
|
+
diagnosis = `Regression: ${growthMagnitude.toLocaleString()}-instance growth dominates the ${freedMagnitude.toLocaleString()}-instance shrinkage. Top grew: \`${topGrew.className}\` (+${topGrew.delta}).`;
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
verdict = "PARTIAL";
|
|
287
|
+
diagnosis = `Mixed result: ${freedClasses.length} class${freedClasses.length === 1 ? "" : "es"} freed (${freedMagnitude.toLocaleString()} instances) AND ${regressionClasses.length} grew (${growthMagnitude.toLocaleString()} instances). Neither side dominates; the fix may have addressed one path while introducing another, or the workflow exercised different code in the two snapshots.`;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
verdict = "PASS";
|
|
292
|
+
diagnosis =
|
|
293
|
+
"No actionable class-count changes between snapshots (|delta| < 10). Either both snapshots are clean or the workflow did not exercise the targeted code.";
|
|
294
|
+
}
|
|
295
|
+
return { verdict, freedClasses, regressionClasses, diagnosis };
|
|
296
|
+
}
|
|
199
297
|
export async function verifyFix(input) {
|
|
200
298
|
const [{ report: beforeReport, resolvedPath: bp }, { report: afterReport, resolvedPath: ap },] = await Promise.all([
|
|
201
299
|
runLeaksAndParse(input.before),
|
|
202
300
|
runLeaksAndParse(input.after),
|
|
203
301
|
]);
|
|
204
|
-
|
|
302
|
+
const result = verifyFromReports(beforeReport, afterReport, bp, ap, input);
|
|
303
|
+
// v1.12 fallback: when the cycle-pattern path found zero patterns in
|
|
304
|
+
// either snapshot, the result is informationally empty. Chain into
|
|
305
|
+
// analyzeAbandonedMemory to produce a useful verdict instead. The
|
|
306
|
+
// cycle-pattern path takes precedence when patterns DO fire, so this
|
|
307
|
+
// is a strict fallback.
|
|
308
|
+
if (result.patternResolution.length === 0) {
|
|
309
|
+
const fallback = await buildAbandonedMemoryFallback(input.before, input.after);
|
|
310
|
+
if (fallback) {
|
|
311
|
+
result.verdictSource = "abandoned-memory";
|
|
312
|
+
result.freedClasses = fallback.freedClasses;
|
|
313
|
+
result.regressionClasses = fallback.regressionClasses;
|
|
314
|
+
result.overallVerdict = fallback.verdict;
|
|
315
|
+
result.diagnosis = fallback.diagnosis;
|
|
316
|
+
}
|
|
317
|
+
else {
|
|
318
|
+
result.verdictSource = "cycle-pattern";
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
result.verdictSource = "cycle-pattern";
|
|
323
|
+
}
|
|
324
|
+
return result;
|
|
205
325
|
}
|
|
206
326
|
//# sourceMappingURL=verifyFix.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyFix.js","sourceRoot":"","sources":["../../src/tools/verifyFix.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verifyFix.js","sourceRoot":"","sources":["../../src/tools/verifyFix.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memorydetective",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"mcpName": "io.github.carloshpdoc/memorydetective",
|
|
5
5
|
"description": "MCP server for iOS leak hunting and performance investigation. 34 tools across .memgraph and .trace files, 36-pattern retain-cycle classifier with Swift fixTemplate snippets, abandoned-memory diff for KVO/NotificationCenter/cache shapes that escape leaks(1), per-test CI gate (detectLeaksInXCTest + detectLeaksInXCUITest with self-contained HTML reports), main-thread violation classifier on analyzeHangs, single-call build+boot+launch for the macOS 26.x leaks --outputGraph regression, replayScenario + captureScenarioState verify-fix loop, compareTracesByPattern CI gate on hangs/hitches/launch regressions, SourceKit-LSP source bridging. macOS only (depends on leaks(1) and xctrace).",
|
|
6
6
|
"type": "module",
|