diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..ed55fc9 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,23 @@ +name: Test + +on: + push: + branches: [main] + pull_request: + +concurrency: + group: test-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v4 + - uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + - run: bun install --frozen-lockfile + - run: bun x tsc --noEmit + - run: bun test diff --git a/.gitignore b/.gitignore index 1b726a8..ba82525 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /frontend/dist /node_modules /pdb-addr2line/target +scripts/harvested.json diff --git a/backend/feature.ts b/backend/feature.ts index f0062af..81c56fe 100644 --- a/backend/feature.ts +++ b/backend/feature.ts @@ -7,7 +7,6 @@ export interface FeatureConfig { revision?: string; generated_at?: number; is_pr: boolean; - embedder?: string; } export function decodeFeatures([high, low]: EncodedFeatureList, config: FeatureConfig): string[] { diff --git a/backend/index.ts b/backend/index.ts index c6970ef..2516f8f 100644 --- a/backend/index.ts +++ b/backend/index.ts @@ -179,7 +179,7 @@ export default { remap(str, parsed) .then(remap => { - return sendToSentry(parsed, remap); + return sendToSentry(parsed, remap, str); }) .catch(() => {}); @@ -305,7 +305,7 @@ async function remapAndRedirect(url: URL, parsed_str: string, parsed: Parse, hea let sentryDetails: { id: string } | { shortId: string; permalink: string } | undefined; try { - sentryDetails = await sendToSentry(parsed, remapped); + sentryDetails = await sendToSentry(parsed, remapped, parsed_str); } catch (e) { console.error("Failed to send to sentry", e); } diff --git a/backend/remap.ts b/backend/remap.ts index c1ae68c..17370dd 100644 --- a/backend/remap.ts +++ b/backend/remap.ts @@ -1,4 +1,4 @@ -import type { Address, Parse, Remap, ResolvedCommit } from "../lib/parser"; +import type { Parse, Remap, ResolvedCommit } from "../lib/parser"; import { getCommit } from "./git"; import { fetchDebugFile } from "./debug-store"; import { getCachedRemap, putCachedRemap } from "./db"; @@ -7,6 +7,7 @@ import { llvm_symbolizer, pdb_addr2line } from "./system-deps"; import { formatMarkdown } from "./markdown"; import { decodeFeatures } from "./feature"; import { AsyncMutexMap } from "./mutex"; +import { adjustBunAddresses, processSymbolizerOutput, filterAddresses } from "./symbolize"; const command_map: { [key: string]: string } = { I: "AddCommand", @@ -63,8 +64,6 @@ export async function remap(parsed_string: string, parse: Parse): Promise return in_progress_remaps.get(key, () => remapUncached(parsed_string, parse)); } -const macho_first_offset = 0x100000000; - export async function remapUncached( parsed_string: string, parse: Parse, @@ -92,11 +91,9 @@ export async function remapUncached( throw e; } - let lines: string[] = []; + let stdout = ""; - const bun_addrs = parse.addresses - .filter(a => a.object === "bun") - .map(a => "0x" + (parse.os === "macos" ? macho_first_offset + a.address : a.address).toString(16)); + const bun_addrs = adjustBunAddresses(parse.addresses, parse.os); if (bun_addrs.length > 0) { const cmd = [ parse.os === "windows" ? pdb_addr2line : llvm_symbolizer, @@ -120,58 +117,10 @@ export async function remapUncached( e.code = "PdbAddr2LineFailed"; } - const stdout = await Bun.readableStreamToText(subproc.stdout); - lines = stdout.split("\n").filter(l => l.length > 0); + stdout = await Bun.readableStreamToText(subproc.stdout); } - let mapped_addrs: Address[] = parse.addresses.map(addr => { - if (addr.object === "bun") { - const fn_line = lines.shift(); - const source_line = lines.shift(); - if (fn_line && source_line) { - const parsed_line = parsePdb2AddrLineFile(source_line); - - return { - remapped: true, - src: parsed_line - ? { - file: parsed_line.file, - line: parsed_line.line, - } - : null, - function: cleanFunctionName(fn_line), - object: "bun", - } satisfies Address; - } - } - - return { - remapped: false, - object: addr.object, - address: addr.address, - } satisfies Address; - }); - - const old = mapped_addrs.slice(); - // This appears pretty often, and it does not provide much value - if (mapped_addrs[0]?.function?.includes("WTF::jscSignalHandler")) { - const old = mapped_addrs.slice(); - - mapped_addrs.shift(); - - console.log(mapped_addrs); - // remove additional `???` lines - while (mapped_addrs.length > 0 && (!mapped_addrs[0].remapped || mapped_addrs[0].function === "??")) { - mapped_addrs.shift(); - } - - // if this operation somehow removes all addresses, revert - if (mapped_addrs.length === 0) { - mapped_addrs = old; - } - } - - mapped_addrs = filterAddresses(mapped_addrs); + const mapped_addrs = processSymbolizerOutput(parse.addresses, stdout); const key = parseCacheKey(parse); let display_version = debug_info.feature_config?.version ?? parse.version; @@ -199,7 +148,6 @@ export async function remapUncached( addresses: mapped_addrs, command, features, - embedder: debug_info.feature_config?.embedder, }; putCachedRemap(key, remap); @@ -224,95 +172,4 @@ export async function remapUncached( return remap; } -export function filterAddresses(addrs: Address[]): Address[] { - const old = addrs.slice(); - - while ( - addrs[0]?.function?.includes?.("WTF::jscSignalHandler") || - addrs[0]?.function?.includes?.("assertionFailure") || - addrs[0]?.function?.includes?.("panic") || - addrs[0]?.function?.endsWith?.("assert") - ) { - addrs.shift(); - - // remove additional `??` lines - while (addrs.length > 0 && (!addrs[0].remapped || addrs[0].function === "??")) { - addrs.shift(); - } - } - - // remove trailing ?? lines - while (addrs.length > 0 && (!addrs[addrs.length - 1].remapped || addrs[addrs.length - 1].function === "??")) { - addrs.pop(); - } - - // if this operation somehow removes all addresses, revert - if (addrs.length === 0) { - return old; - } - - return addrs; -} - -function withoutZigAnon(str: string): string { - if (str && !str.startsWith("__anon_")) { - // Remove all __anon_${number} patterns - str = str.replace(/__anon_\d+/g, ""); - } - - if (str && !str.startsWith("__struct_")) { - // Remove all __struct_${number} patterns - str = str.replace(/__struct_\d+/g, ""); - } - - return str; -} - -export function cleanFunctionName(str: string): string { - const last_paren = str.lastIndexOf(")"); - if (last_paren === -1) { - return withoutZigAnon(str); - } - let last_open_paren = last_paren; - let n = 1; - while (last_open_paren > 0) { - last_open_paren--; - if (str[last_open_paren] === ")") { - n++; - } else if (str[last_open_paren] === "(") { - n--; - if (n === 0) { - break; - } - } - } - return withoutZigAnon(str.slice(0, last_open_paren).replace(/\(.+?\)/g, "(...)")); -} - -export function parsePdb2AddrLineFile(str: string): { file: string; line: number } | null { - if (str.startsWith("??:")) return null; - - const last_colon = str.lastIndexOf(":"); - if (last_colon === -1) { - return null; - } - - const second_colon = str.lastIndexOf(":", last_colon - 1); - if (second_colon === -1) { - return null; - } - - const line = Math.floor(Number(str.slice(second_colon + 1, last_colon))); - if (isNaN(line)) { - return null; - } - - const file_full = str.slice(0, second_colon).replace(/\\/g, "/"); - // Strip the CI build root, keeping the first repo-level dir (src, vendor, - // packages) onward. The old `.*?/src/` regex ate `vendor/libuv/` off paths - // like `.../vendor/libuv/src/win/process.c`. - const m = file_full.match(/(?:^|\/)(src|vendor|packages)\/(.*)$/); - const file = m ? `${m[1]}/${m[2]}` : file_full; - - return { file, line }; -} +export { filterAddresses, cleanFunctionName, parsePdb2AddrLineFile } from "./symbolize"; diff --git a/backend/sentry.ts b/backend/sentry.ts index cd06888..3a66d65 100644 --- a/backend/sentry.ts +++ b/backend/sentry.ts @@ -7,8 +7,9 @@ import { getCodeView } from "./code-view"; const BUN_REPORT_VERSION = spawnSync(["git", "-C", import.meta.dir, "rev-parse", "--short=9", "HEAD"]).stdout.toString().trim() || "unknown"; -async function remapToPayload(parse: Parse, remap: Remap): Promise { +async function remapToPayload(parse: Parse, remap: Remap, trace_str: string): Promise { const event_id = MD5.hash(parse.cache_key!, "hex"); + const view_url = `https://bun.report/${trace_str}/view`; return [ { @@ -31,9 +32,9 @@ async function remapToPayload(parse: Parse, remap: Remap): Promise | undefined { +function buildExtra(remap: Remap, view_url: string): Record { + const extra: Record = { view_url }; const pr = remap.commit.pr; - if (!pr) return undefined; - return { - pr_number: pr.number, - pr_title: pr.title, - pr_branch: pr.ref, - pr_url: `https://github.com/oven-sh/bun/pull/${pr.number}`, - }; + if (pr) { + extra.pr_number = pr.number; + extra.pr_title = pr.title; + extra.pr_branch = pr.ref; + extra.pr_url = `https://github.com/oven-sh/bun/pull/${pr.number}`; + } + return extra; } function getOSDeviceContext(parse: Parse): Sentry.PayloadEventContexts["device"] { @@ -424,12 +426,12 @@ async function fetchEventDetails(eventId: string): Promise { }; } -export async function sendToSentry(parse: Parse, remap: Remap) { +export async function sendToSentry(parse: Parse, remap: Remap, trace_str: string) { const url = process.env.SENTRY_DSN; if (!url) { return; } - const event = await remapToPayload(parse, remap); + const event = await remapToPayload(parse, remap, trace_str); const body = event.map(x => JSON.stringify(x)).join("\n"); console.log(body); diff --git a/backend/symbolize.ts b/backend/symbolize.ts new file mode 100644 index 0000000..34fbba8 --- /dev/null +++ b/backend/symbolize.ts @@ -0,0 +1,163 @@ +import type { Address, ParsedAddress } from "../lib/parser"; +import type { Platform } from "../lib/util"; + +const macho_first_offset = 0x100000000; + +/** + * Given the raw addresses from a parsed trace, return the hex strings that + * should be passed to the symbolizer for `object === "bun"` frames. + */ +export function adjustBunAddresses(addresses: ParsedAddress[], os: Platform): string[] { + return addresses + .filter(a => a.object === "bun") + .map(a => "0x" + (os === "macos" ? macho_first_offset + a.address : a.address).toString(16)); +} + +/** + * Pure post-symbolizer pipeline: takes the original parsed addresses plus the + * raw stdout from llvm-symbolizer / pdb-addr2line and produces the final + * filtered Address[] exactly as remapUncached does. + * + * Extracted so fixture tests can replay recorded stdout without spawning a + * process or fetching debug files. + */ +export function processSymbolizerOutput(addresses: ParsedAddress[], stdout: string): Address[] { + const lines = stdout.split("\n").filter(l => l.length > 0); + + let mapped_addrs: Address[] = addresses.map(addr => { + if (addr.object === "bun") { + const fn_line = lines.shift(); + const source_line = lines.shift(); + if (fn_line && source_line) { + const parsed_line = parsePdb2AddrLineFile(source_line); + + return { + remapped: true, + src: parsed_line + ? { + file: parsed_line.file, + line: parsed_line.line, + } + : null, + function: cleanFunctionName(fn_line), + object: "bun", + } satisfies Address; + } + } + + return { + remapped: false, + object: addr.object, + address: addr.address, + } satisfies Address; + }); + + if (mapped_addrs[0]?.function?.includes("WTF::jscSignalHandler")) { + const old = mapped_addrs.slice(); + + mapped_addrs.shift(); + + while (mapped_addrs.length > 0 && (!mapped_addrs[0].remapped || mapped_addrs[0].function === "??")) { + mapped_addrs.shift(); + } + + if (mapped_addrs.length === 0) { + mapped_addrs = old; + } + } + + return filterAddresses(mapped_addrs); +} + +export function filterAddresses(addrs: Address[]): Address[] { + const old = addrs.slice(); + + while ( + addrs[0]?.function?.includes?.("WTF::jscSignalHandler") || + addrs[0]?.function?.includes?.("assertionFailure") || + addrs[0]?.function?.includes?.("panic") || + addrs[0]?.function?.endsWith?.("assert") + ) { + addrs.shift(); + + // remove additional `??` lines + while (addrs.length > 0 && (!addrs[0].remapped || addrs[0].function === "??")) { + addrs.shift(); + } + } + + // remove trailing ?? lines + while (addrs.length > 0 && (!addrs[addrs.length - 1].remapped || addrs[addrs.length - 1].function === "??")) { + addrs.pop(); + } + + // if this operation somehow removes all addresses, revert + if (addrs.length === 0) { + return old; + } + + return addrs; +} + +function withoutZigAnon(str: string): string { + if (str && !str.startsWith("__anon_")) { + // Remove all __anon_${number} patterns + str = str.replace(/__anon_\d+/g, ""); + } + + if (str && !str.startsWith("__struct_")) { + // Remove all __struct_${number} patterns + str = str.replace(/__struct_\d+/g, ""); + } + + return str; +} + +export function cleanFunctionName(str: string): string { + const last_paren = str.lastIndexOf(")"); + if (last_paren === -1) { + return withoutZigAnon(str); + } + let last_open_paren = last_paren; + let n = 1; + while (last_open_paren > 0) { + last_open_paren--; + if (str[last_open_paren] === ")") { + n++; + } else if (str[last_open_paren] === "(") { + n--; + if (n === 0) { + break; + } + } + } + return withoutZigAnon(str.slice(0, last_open_paren).replace(/\(.+?\)/g, "(...)")); +} + +export function parsePdb2AddrLineFile(str: string): { file: string; line: number } | null { + if (str.startsWith("??:")) return null; + + const last_colon = str.lastIndexOf(":"); + if (last_colon === -1) { + return null; + } + + const second_colon = str.lastIndexOf(":", last_colon - 1); + if (second_colon === -1) { + return null; + } + + const line = Math.floor(Number(str.slice(second_colon + 1, last_colon))); + if (isNaN(line)) { + return null; + } + + const file_full = str.slice(0, second_colon).replace(/\\/g, "/"); + // Strip the CI build root, keeping the first repo-level dir (src, vendor, + // packages) onward. The old `.*?/src/` regex ate `vendor/libuv/` off paths + // like `.../vendor/libuv/src/win/process.c`. + const m = file_full.match(/(?:^|\/)(src|vendor|packages)\/(.*)$/); + const file = m ? `${m[1]}/${m[2]}` : file_full; + + return { file, line }; +} diff --git a/lib/parser.ts b/lib/parser.ts index e25199c..a190edf 100644 --- a/lib/parser.ts +++ b/lib/parser.ts @@ -86,7 +86,6 @@ export interface Remap { issue?: number; command: string; features: string[]; - embedder?: string; } export type Address = RemappedAddress | UnknownAddress; diff --git a/package.json b/package.json index b241d60..d3dc377 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,8 @@ "type": "module", "scripts": { "dev": "NODE_ENV=development bun --watch ./backend/index.ts", + "test": "bun test", + "test:update": "bun test --update-snapshots", "start": "NODE_ENV=production BUN_CONFIG_VERBOSE_FETCH=1 bun ./dist/server.js", "loc": "bunx cloc backend frontend lib pdb-addr2line2/src *.ts" }, diff --git a/scripts/capture-fixture.ts b/scripts/capture-fixture.ts new file mode 100644 index 0000000..e3f2dfc --- /dev/null +++ b/scripts/capture-fixture.ts @@ -0,0 +1,92 @@ +#!/usr/bin/env bun +/** + * Captures fixture(s) from a real bun.report trace string. + * + * bun scripts/capture-fixture.ts [--symbolize] + * + * Always writes test/fixtures/parse/.json. + * With --symbolize, also resolves debug info, runs the real symbolizer, + * records its stdout, and writes test/fixtures/symbolize/.json. + * + * After capturing, run `bun test --update-snapshots` to record expected output. + */ +import { mkdir, writeFile } from "node:fs/promises"; +import path from "node:path"; +import { parse } from "../lib/parser"; +import { adjustBunAddresses } from "../backend/symbolize"; + +const [name, input, ...flags] = process.argv.slice(2); +if (!name || !input) { + console.error("usage: bun scripts/capture-fixture.ts [--symbolize]"); + process.exit(1); +} +if (!/^[a-z0-9._-]+$/.test(name)) { + console.error("name must match /^[a-z0-9._-]+$/"); + process.exit(1); +} + +const root = path.join(import.meta.dir, ".."); +const parseDir = path.join(root, "test", "fixtures", "parse"); +const symDir = path.join(root, "test", "fixtures", "symbolize"); +await mkdir(parseDir, { recursive: true }); +await mkdir(symDir, { recursive: true }); + +const parsed = await parse(input); +if (parsed == null) { + console.error("input did not parse (parse() returned null)"); + process.exit(1); +} + +await writeFile( + path.join(parseDir, name + ".json"), + JSON.stringify({ description: name, input }, null, 2) + "\n", +); +console.log(`wrote test/fixtures/parse/${name}.json`); +console.log(` os=${parsed.os} arch=${parsed.arch} addrs=${parsed.addresses.length}`); + +if (!flags.includes("--symbolize")) { + console.log("\nrun with --symbolize to also capture symbolizer stdout (requires debug-file access)"); + process.exit(0); +} + +const { fetchDebugFile } = await import("../backend/debug-store"); +const { llvm_symbolizer, pdb_addr2line } = await import("../backend/system-deps"); +const { getCommit } = await import("../backend/git"); + +const commit = await getCommit(parsed.commitish); +if (!commit) { + console.error(`could not resolve commitish ${parsed.commitish}`); + process.exit(1); +} +const debug_info = await fetchDebugFile(parsed.os, parsed.arch, commit, parsed.is_canary); +if (!debug_info) { + console.error(`no debug file for ${parsed.os}-${parsed.arch} @ ${commit.oid}`); + process.exit(1); +} + +const bun_addrs = adjustBunAddresses(parsed.addresses, parsed.os); +const cmd = [ + parsed.os === "windows" ? pdb_addr2line : llvm_symbolizer, + "--exe", + debug_info.file_path, + ...(parsed.os !== "windows" ? ["--no-inlines", "--relative-address"] : ["--llvm"]), + "-f", + ...bun_addrs, +]; +const subproc = Bun.spawn({ cmd, stdio: ["ignore", "pipe", "pipe"] }); +const stdout = await Bun.readableStreamToText(subproc.stdout); +if ((await subproc.exited) !== 0) { + console.error(await Bun.readableStreamToText(subproc.stderr)); + process.exit(1); +} + +await writeFile( + path.join(symDir, name + ".json"), + JSON.stringify( + { description: name, os: parsed.os, addresses: parsed.addresses, stdout }, + null, + 2, + ) + "\n", +); +console.log(`wrote test/fixtures/symbolize/${name}.json`); +console.log("\nnext: bun test --update-snapshots"); diff --git a/scripts/harvest-github.ts b/scripts/harvest-github.ts new file mode 100644 index 0000000..c39ebde --- /dev/null +++ b/scripts/harvest-github.ts @@ -0,0 +1,58 @@ +#!/usr/bin/env bun +import { $ } from "bun"; +import { parse } from "../lib/parser"; + +const urlRe = /https?:\/\/bun\.report\/[^\s)\]"'<>`]+/g; + +function verGte130(v: string) { + const [a, b] = v.split(".").map(Number); + return a > 1 || (a === 1 && b >= 3); +} + +interface Row { input: string; version: string; os: string; arch: string; addrs: number; unk: number; foreign: number; reason: string; issue: number } +const seen = new Set(); +const rows: Row[] = []; + +for (let page = 1; page <= 10; page++) { + let res: any; + try { + res = await $`gh api -X GET search/issues -f q=${"repo:oven-sh/bun bun.report"} -f per_page=100 -f page=${page} -f sort=created -f order=desc`.json(); + } catch (e) { + process.stderr.write(`page ${page} failed: ${e}\n`); + break; + } + const items = res.items ?? []; + if (items.length === 0) break; + for (const it of items) { + const body: string = it.body ?? ""; + for (const m of body.matchAll(urlRe)) { + const trace = m[0] + .replace(/^https?:\/\/bun\.report\//, "") + .replace(/\/(view|ack|github)$/, "") + .replace(/[.,;:]+$/, ""); + if (seen.has(trace)) continue; + seen.add(trace); + const p = await parse(trace).catch(() => null); + if (!p || !verGte130(p.version)) continue; + rows.push({ + input: trace, + version: p.version, + os: p.os, + arch: p.arch, + addrs: p.addresses.length, + unk: p.addresses.filter(a => a.object === "?" || a.object === "js").length, + foreign: p.addresses.filter(a => a.object !== "bun" && a.object !== "?" && a.object !== "js").length, + reason: p.message.split("\n")[0].slice(0, 60), + issue: it.number, + }); + } + } + process.stderr.write(`page ${page}: ${rows.length} traces (>=1.3.0)\n`); + await Bun.sleep(700); +} + +await Bun.write(import.meta.dir + "/harvested.json", JSON.stringify(rows, null, 2)); + +const byOs: Record = {}; +for (const r of rows) byOs[r.os] = (byOs[r.os] ?? 0) + 1; +console.log(JSON.stringify({ total: rows.length, byOs }, null, 2)); diff --git a/scripts/ingest-urls.ts b/scripts/ingest-urls.ts new file mode 100644 index 0000000..964d699 --- /dev/null +++ b/scripts/ingest-urls.ts @@ -0,0 +1,65 @@ +#!/usr/bin/env bun +/** + * Reads bun.report URLs/trace-strings (one per line, or freeform text containing + * them) from a file or stdin, parses each, prints a distribution summary, and + * writes parse fixtures under test/fixtures/parse/real/. + * + * bun scripts/ingest-urls.ts + * pbpaste | bun scripts/ingest-urls.ts + */ +import { mkdir, writeFile } from "node:fs/promises"; +import path from "node:path"; +import { parse } from "../lib/parser"; + +const src = process.argv[2] + ? await Bun.file(process.argv[2]).text() + : await Bun.stdin.text(); + +const re = /(?:https?:\/\/bun\.report\/)?(\d+\.\d+\.\d+\/[A-Za-z0-9+/=_\-][^\s)"'<>`]+)/g; +const seen = new Set(); +const traces: string[] = []; +for (const m of src.matchAll(re)) { + const t = m[1].replace(/\/(view|ack|github)$/, "").replace(/[.,;:]+$/, ""); + if (!seen.has(t)) { seen.add(t); traces.push(t); } +} + +interface Row { input: string; os: string; arch: string; version: string; addrs: number; unk: number; reason: string } +const rows: Row[] = []; +const failed: string[] = []; +for (const t of traces) { + const p = await parse(t).catch(() => null); + if (!p) { failed.push(t); continue; } + rows.push({ + input: t, + os: p.os, + arch: p.arch, + version: p.version, + addrs: p.addresses.length, + unk: p.addresses.filter(a => a.object === "?" || a.object === "js").length, + reason: p.message.split("\n")[0].slice(0, 50), + }); +} + +const out = path.join(import.meta.dir, "..", "test", "fixtures", "parse", "real"); +await mkdir(out, { recursive: true }); +let n = 0; +for (const r of rows) { + n++; + const name = `real-${String(n).padStart(3, "0")}-${r.os}-${r.arch}-${r.version}`; + await writeFile( + path.join(out, name + ".json"), + JSON.stringify({ description: name, input: r.input }, null, 2) + "\n", + ); +} + +const byOs: Record = {}; +const byVer: Record = {}; +for (const r of rows) { byOs[r.os] = (byOs[r.os] ?? 0) + 1; byVer[r.version] = (byVer[r.version] ?? 0) + 1; } + +console.log(`\nparsed ${rows.length}/${traces.length} (failed: ${failed.length})`); +console.log("by os :", byOs); +console.log("by ver :", byVer); +const sizes = rows.map(r => r.addrs).sort((a,b)=>a-b); +console.log(`addrs : min=${sizes[0]} med=${sizes[Math.floor(sizes.length/2)]} max=${sizes[sizes.length-1]}`); +console.log(`wrote ${rows.length} fixtures -> test/fixtures/parse/real/`); +if (failed.length) { console.log("\nfailed to parse:"); failed.forEach(f => console.log(" " + f)); } diff --git a/scripts/seed-parse-fixtures.ts b/scripts/seed-parse-fixtures.ts new file mode 100644 index 0000000..c85e4bb --- /dev/null +++ b/scripts/seed-parse-fixtures.ts @@ -0,0 +1,174 @@ +#!/usr/bin/env bun +/** + * Generates the initial set of parse fixtures from a hard-coded matrix. + * + * These are *constructed* inputs that exercise the format. Real-world fixtures + * captured from production should be added via `scripts/capture-fixture.ts`. + * + * Usage: bun scripts/seed-parse-fixtures.ts + */ +import { mkdir, writeFile } from "node:fs/promises"; +import path from "node:path"; +import { buildTraceString, type BuildTraceOpts } from "../test/helpers/encode"; +import { parse } from "../lib/parser"; + +const out = path.join(import.meta.dir, "..", "test", "fixtures", "parse"); +await mkdir(out, { recursive: true }); + +type Case = { name: string; opts: BuildTraceOpts }; + +const platforms: Array<[BuildTraceOpts["os"], BuildTraceOpts["arch"]]> = [ + ["windows", "x86_64"], + ["windows", "x86_64_baseline"], + ["windows", "aarch64"], + ["macos", "x86_64"], + ["macos", "x86_64_baseline"], + ["macos", "aarch64"], + ["linux", "x86_64"], + ["linux", "x86_64_baseline"], + ["linux", "aarch64"], +]; + +const cases: Case[] = []; + +for (const tv of ["1", "2"] as const) { + for (const [os, arch] of platforms) { + cases.push({ + name: `v${tv}-${os}-${arch}-segfault`, + opts: { + version: "1.1.30", + os, + arch, + command: "r", + trace_version: tv, + commitish: "abc1234", + features: [3, 7], + addresses: [ + { address: 0x10ab34, object: "bun" }, + { address: 0x20cd56, object: "bun" }, + { address: 0x30ef78, object: "bun" }, + ], + reason: { kind: "segfault", addr_hi: 0, addr_lo: 0x6eadbeef }, + }, + }); + } +} + +cases.push({ + name: "v1-macos-aarch64-panic-compressed", + opts: { + version: "1.1.30", + os: "macos", + arch: "aarch64", + command: "i", + trace_version: "1", + commitish: "abc1234", + features: [0, 0], + addresses: [{ address: 0x1000, object: "bun" }], + reason: { kind: "panic", message: "Integer overflow in allocator" }, + }, +}); + +cases.push({ + name: "v1-linux-x86_64-with-js-and-unknown-frames", + opts: { + version: "1.1.30", + os: "linux", + arch: "x86_64", + command: "t", + trace_version: "1", + commitish: "abc1234", + addresses: [ + { address: 0x1111, object: "bun" }, + { address: 0, object: "js" }, + { address: 0, object: "js" }, + { address: 0x2222, object: "bun" }, + { address: 0, object: "?" }, + { address: 0x3333, object: "bun" }, + ], + reason: { kind: "unreachable" }, + }, +}); + +cases.push({ + name: "v1-linux-x86_64-foreign-object", + opts: { + version: "1.1.30", + os: "linux", + arch: "x86_64", + command: "r", + trace_version: "1", + commitish: "abc1234", + addresses: [ + { address: 0x1111, object: "bun" }, + { address: 0xabcd, object: "/libc.so.6" }, + { address: 0x2222, object: "bun" }, + ], + reason: { kind: "stack_overflow" }, + }, +}); + +cases.push({ + name: "v2-windows-x86_64-error-reason", + opts: { + version: "1.1.30", + os: "windows", + arch: "x86_64", + command: "b", + trace_version: "2", + commitish: "abc1234", + addresses: [{ address: 0x55aa, object: "bun" }], + reason: { kind: "error", message: "ENOENT: no such file or directory" }, + }, +}); + +cases.push({ + name: "v1-macos-aarch64-oom", + opts: { + version: "1.1.30", + os: "macos", + arch: "aarch64", + command: "r", + trace_version: "1", + commitish: "abc1234", + addresses: [ + { address: 0xaaaa, object: "bun" }, + { address: 0xbbbb, object: "bun" }, + ], + reason: { kind: "oom" }, + }, +}); + +cases.push({ + name: "v1-macos-aarch64-with-url-prefix", + opts: { + version: "1.1.30", + os: "macos", + arch: "aarch64", + command: "r", + trace_version: "1", + commitish: "abc1234", + addresses: [{ address: 0x1234, object: "bun" }], + reason: { kind: "unreachable" }, + }, +}); + +let written = 0; +for (const c of cases) { + const input = + c.name === "v1-macos-aarch64-with-url-prefix" + ? "https://bun.report/" + buildTraceString(c.opts) + "/view" + : buildTraceString(c.opts); + const parsed = await parse(input); + if (parsed == null) { + console.error(`FAIL: ${c.name} did not parse`); + console.error(` input: ${input}`); + process.exitCode = 1; + continue; + } + const file = path.join(out, c.name + ".json"); + await writeFile(file, JSON.stringify({ description: c.name, input }, null, 2) + "\n"); + written++; +} + +console.log(`wrote ${written}/${cases.length} parse fixtures to ${path.relative(process.cwd(), out)}`); diff --git a/scripts/select-fixtures.ts b/scripts/select-fixtures.ts new file mode 100644 index 0000000..daf0497 --- /dev/null +++ b/scripts/select-fixtures.ts @@ -0,0 +1,69 @@ +#!/usr/bin/env bun +import { mkdir, writeFile, rm } from "node:fs/promises"; +import path from "node:path"; + +interface Row { input: string; version: string; os: string; arch: string; addrs: number; unk: number; foreign: number; reason: string; issue: number } +const rows: Row[] = JSON.parse(await Bun.file(import.meta.dir + "/harvested.json").text()); + +const reasonClass = (r: string) => + r.startsWith("panic:") ? "panic" : + r.startsWith("Segmentation") ? "segv" : + r.startsWith("Illegal") ? "ill" : + r.startsWith("Bus") ? "bus" : + r.startsWith("Floating") ? "fpe" : + r.startsWith("error:") ? "error" : + r.includes("out of memory") ? "oom" : + r.includes("Stack overflow") ? "so" : + r.includes("unreachable") ? "unreachable" : + "other"; + +const sizeClass = (n: number) => n <= 3 ? "xs" : n <= 8 ? "sm" : n <= 16 ? "md" : "lg"; + +// One pass per OS: greedily pick rows that introduce a new (reason, size, hasUnk, +// hasForeign, arch) signature, then top up to target with remaining unique inputs. +function selectForOs(os: string, target: number): Row[] { + const pool = rows.filter(r => r.os === os); + const sigs = new Set(); + const picked: Row[] = []; + const sig = (r: Row) => [reasonClass(r.reason), sizeClass(r.addrs), r.unk > 0, r.foreign > 0, r.arch].join("|"); + for (const r of pool) { + const s = sig(r); + if (!sigs.has(s)) { sigs.add(s); picked.push(r); } + if (picked.length >= target) break; + } + for (const r of pool) { + if (picked.length >= target) break; + if (!picked.includes(r)) picked.push(r); + } + return picked.slice(0, target); +} + +const selected = [ + ...selectForOs("macos", 33), + ...selectForOs("linux", 34), + ...selectForOs("windows", 33), +]; + +const out = path.join(import.meta.dir, "..", "test", "fixtures", "parse", "real"); +await rm(out, { recursive: true, force: true }); +await mkdir(out, { recursive: true }); + +let i = 0; +for (const r of selected) { + i++; + const rc = reasonClass(r.reason); + const flags = [r.unk > 0 ? "unk" : "", r.foreign > 0 ? "foreign" : ""].filter(Boolean).join("-"); + const name = `real-${String(i).padStart(3, "0")}-${r.os}-${r.arch}-${r.version}-${rc}-${sizeClass(r.addrs)}${flags ? "-" + flags : ""}`; + await writeFile( + path.join(out, name + ".json"), + JSON.stringify({ description: name, source_issue: r.issue, input: r.input }, null, 2) + "\n", + ); +} + +const byOs: Record = {}, byReason: Record = {}, bySize: Record = {}; +for (const r of selected) { + byOs[r.os] = (byOs[r.os] ?? 0) + 1; + byReason[reasonClass(r.reason)] = (byReason[reasonClass(r.reason)] ?? 0) + 1; + bySize[sizeClass(r.addrs)] = (bySize[sizeClass(r.addrs)] ?? 0) + 1; +} +console.log(JSON.stringify({ selected: selected.length, byOs, byReason, bySize, withUnknown: selected.filter(r=>r.unk>0).length, withForeign: selected.filter(r=>r.foreign>0).length }, null, 2)); diff --git a/test/README.md b/test/README.md new file mode 100644 index 0000000..f51b0f4 --- /dev/null +++ b/test/README.md @@ -0,0 +1,44 @@ +# Stack-trace tests + +Snapshot tests for the bun.report trace pipeline. Two layers, both fixture-driven: + +| layer | input fixture | what it locks | +|---|---|---| +| `parse.test.ts` | `fixtures/parse/*.json` — `{description, input}` where `input` is a raw trace string/URL | URL → `Parse`: VLQ addresses, platform, features, reason decoding | +| `symbolize.test.ts` | `fixtures/symbolize/*.json` — `{description, os, addresses, stdout}` where `stdout` is recorded symbolizer output | symbolizer stdout → `Address[]`: function-name cleaning, path normalization, frame filtering, frame **order** | + +Expected output lives in `__snapshots__/`. Fixtures hold inputs only. + +## Scope + +v1 and v2 trace formats only. v3 has not shipped; do not add v3 fixtures. + +## Adding a fixture + +### From a real crash URL (preferred) + +```sh +bun scripts/capture-fixture.ts '' [--symbolize] +bun test --update-snapshots +``` + +`--symbolize` resolves the commit, downloads debug info, runs the real +`llvm-symbolizer` / `pdb-addr2line`, and records its stdout. **Review the new +snapshot by hand once** — that review is what certifies "these lines are +correct." After that the snapshot guards against regression. + +### Regenerating constructed seed fixtures + +```sh +bun scripts/seed-parse-fixtures.ts +``` + +These are synthetic inputs that cover the platform × trace-version matrix. +They prove decoding is stable, not that any specific build's symbols are +accurate. + +## When a snapshot fails + +A failing snapshot means behavior changed. If the change is intentional (e.g. +inline-frame support landed), inspect the diff and run `bun test +--update-snapshots`. If it's not intentional, you found a regression. diff --git a/test/__snapshots__/parse.test.ts.snap b/test/__snapshots__/parse.test.ts.snap new file mode 100644 index 0000000..3b11ef7 --- /dev/null +++ b/test/__snapshots__/parse.test.ts.snap @@ -0,0 +1,8711 @@ +// Bun Snapshot v1, https://bun.sh/docs/test/snapshots + +exports[`parse fixtures real-001-macos-aarch64-1.3.11-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 2793711, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 50161795, + "object": "bun", + }, + { + "address": 50162847, + "object": "bun", + }, + { + "address": 50161795, + "object": "bun", + }, + { + "address": 50002359, + "object": "bun", + }, + { + "address": 38241687, + "object": "bun", + }, + { + "address": 42272879, + "object": "bun", + }, + { + "address": 42258843, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 50167227, + "object": "bun", + }, + { + "address": 50167227, + "object": "bun", + }, + { + "address": 50161795, + "object": "bun", + }, + { + "address": 50002359, + "object": "bun", + }, + { + "address": 42234735, + "object": "bun", + }, + { + "address": 44544051, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "a", + "commitish": "af24e28", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2048, + 1048576, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000000", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-002-macos-aarch64-1.3.11-panic-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 49217555, + "object": "bun", + }, + { + "address": 49656407, + "object": "bun", + }, + { + "address": 4452351, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 5678719, + "object": "bun", + }, + { + "address": 6900955, + "object": "bun", + }, + { + "address": 10827415, + "object": "bun", + }, + { + "address": 137939, + "object": "bun", + }, + { + "address": 8206159, + "object": "bun", + }, + { + "address": 8422635, + "object": "bun", + }, + { + "address": 5678591, + "object": "bun", + }, + { + "address": 5673971, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "t", + "commitish": "af24e28", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 265264, + 1048576, + ], + "is_canary": false, + "message": "panic: A C++ exception occurred", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-003-macos-aarch64-1.3.11-segv-sm-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 21931895, + "object": "bun", + }, + { + "address": 21931895, + "object": "bun", + }, + { + "address": 13951879, + "object": "bun", + }, + { + "address": 11144895, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "a2743b6", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1183767, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x1B2DF662B0634B46", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-004-macos-aarch64-1.3.11-segv-md-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 10393615, + "object": "bun", + }, + { + "address": 10393615, + "object": "bun", + }, + { + "address": 8725147, + "object": "bun", + }, + { + "address": 6304615, + "object": "bun", + }, + { + "address": 5857911, + "object": "bun", + }, + { + "address": 22119259, + "object": "bun", + }, + { + "address": 2941335, + "object": "bun", + }, + { + "address": 2925259, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "a2743b6", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1576991, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000040", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-005-macos-aarch64-1.3.6-panic-md-unk 1`] = ` +{ + "addresses": [ + { + "address": 46110523, + "object": "bun", + }, + { + "address": 3234887, + "object": "bun", + }, + { + "address": 3213507, + "object": "bun", + }, + { + "address": 2818179, + "object": "bun", + }, + { + "address": 18097935, + "object": "bun", + }, + { + "address": 2470835, + "object": "bun", + }, + { + "address": 2583447, + "object": "bun", + }, + { + "address": 17003, + "object": "bun", + }, + { + "address": 11919, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "a", + "commitish": "d530ed9", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 48, + 1048581, + ], + "is_canary": false, + "message": "panic: unreachable", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.6", +} +`; + +exports[`parse fixtures real-006-macos-aarch64-1.3.2-ill-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 11956055, + "object": "bun", + }, + { + "address": 17683523, + "object": "bun", + }, + { + "address": 23559083, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 49778099, + "object": "bun", + }, + { + "address": 35018115, + "object": "bun", + }, + { + "address": 39404619, + "object": "bun", + }, + { + "address": 42584275, + "object": "bun", + }, + { + "address": 19601015, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "b131639", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 512, + -1073477625, + ], + "is_canary": false, + "message": "Illegal instruction at address 0x18FC6CC94", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.2", +} +`; + +exports[`parse fixtures real-007-macos-x86_64-1.3.2-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 55912898, + "object": "bun", + }, + { + "address": 55912898, + "object": "bun", + }, + { + "address": 55780541, + "object": "bun", + }, + { + "address": 39086313, + "object": "bun", + }, + { + "address": 43953139, + "object": "bun", + }, + { + "address": 43935320, + "object": "bun", + }, + { + "address": 43928686, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 55917582, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "a", + "commitish": "b131639", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 1074003968, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000000", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.2", +} +`; + +exports[`parse fixtures real-008-macos-x86_64-1.3.0-segv-md-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 38225587, + "object": "bun", + }, + { + "address": 38182728, + "object": "bun", + }, + { + "address": 37907870, + "object": "bun", + }, + { + "address": 47112159, + "object": "bun", + }, + { + "address": 25232476, + "object": "bun", + }, + { + "address": 15901236, + "object": "bun", + }, + { + "address": 15905718, + "object": "bun", + }, + { + "address": 21266483, + "object": "bun", + }, + { + "address": 15898478, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64", + "command": "n", + "commitish": "b0a6fec", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 732, + 1074006023, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x0001F139", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.0", +} +`; + +exports[`parse fixtures real-009-macos-aarch64-1.3.11-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "n", + "commitish": "af24e28", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2097, + 1052679, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x16A93BFF0", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-010-macos-aarch64-1.3.2-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 34397727, + "object": "bun", + }, + { + "address": 34397727, + "object": "bun", + }, + { + "address": 34435519, + "object": "bun", + }, + { + "address": 34206095, + "object": "bun", + }, + { + "address": 34204791, + "object": "bun", + }, + { + "address": 34189771, + "object": "bun", + }, + { + "address": 34196255, + "object": "bun", + }, + { + "address": 34189307, + "object": "bun", + }, + { + "address": 34351015, + "object": "bun", + }, + { + "address": 34404403, + "object": "bun", + }, + { + "address": 34204915, + "object": "bun", + }, + { + "address": 34204695, + "object": "bun", + }, + { + "address": 19442327, + "object": "bun", + }, + { + "address": 18629411, + "object": "bun", + }, + { + "address": 2668059, + "object": "bun", + }, + { + "address": 18823619, + "object": "bun", + }, + { + "address": 2371435, + "object": "bun", + }, + { + "address": 19079, + "object": "bun", + }, + { + "address": 14015, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "b131639", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + -1073477609, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000008", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.2", +} +`; + +exports[`parse fixtures real-011-macos-aarch64-1.3.11-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 21886315, + "object": "bun", + }, + { + "address": 13944279, + "object": "bun", + }, + { + "address": 17859983, + "object": "bun", + }, + { + "address": 19736051, + "object": "bun", + }, + { + "address": 19723875, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "a2743b6", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1576991, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x73746E657665227B", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-012-macos-aarch64-1.3.11-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 21849963, + "object": "bun", + }, + { + "address": 18043215, + "object": "bun", + }, + { + "address": 23422559, + "object": "bun", + }, + { + "address": 24035895, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 53171639, + "object": "bun", + }, + { + "address": 42136111, + "object": "bun", + }, + { + "address": 44445427, + "object": "bun", + }, + { + "address": 22948527, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 53171639, + "object": "bun", + }, + { + "address": 38140379, + "object": "bun", + }, + { + "address": 40641747, + "object": "bun", + }, + { + "address": 23674559, + "object": "bun", + }, + { + "address": 26355771, + "object": "bun", + }, + { + "address": 6304087, + "object": "bun", + }, + { + "address": 7244835, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "a2743b6", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1576991, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x632E627568746967", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-013-macos-aarch64-1.3.11-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 21849067, + "object": "bun", + }, + { + "address": 18042731, + "object": "bun", + }, + { + "address": 23421607, + "object": "bun", + }, + { + "address": 24034943, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 53171639, + "object": "bun", + }, + { + "address": 42197639, + "object": "bun", + }, + { + "address": 42196455, + "object": "bun", + }, + { + "address": 42134527, + "object": "bun", + }, + { + "address": 44444243, + "object": "bun", + }, + { + "address": 22947687, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 53171639, + "object": "bun", + }, + { + "address": 38134995, + "object": "bun", + }, + { + "address": 40637539, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "01210fb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1576991, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x68746E612E697061", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-014-macos-aarch64-1.3.10-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 20901079, + "object": "bun", + }, + { + "address": 20915215, + "object": "bun", + }, + { + "address": 20949311, + "object": "bun", + }, + { + "address": 1245527, + "object": "bun", + }, + { + "address": 2987607, + "object": "bun", + }, + { + "address": 19228199, + "object": "bun", + }, + { + "address": 2657607, + "object": "bun", + }, + { + "address": 2664695, + "object": "bun", + }, + { + "address": 2659543, + "object": "bun", + }, + { + "address": 2767803, + "object": "bun", + }, + { + "address": 22043, + "object": "bun", + }, + { + "address": 17423, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "a", + "commitish": "30e609e", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2096, + 1048583, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x000000CC", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-015-macos-aarch64-1.3.11-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 18776739, + "object": "bun", + }, + { + "address": 18776739, + "object": "bun", + }, + { + "address": 18644419, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 53286019, + "object": "bun", + }, + { + "address": 53286019, + "object": "bun", + }, + { + "address": 53286019, + "object": "bun", + }, + { + "address": 53286019, + "object": "bun", + }, + { + "address": 53286019, + "object": "bun", + }, + { + "address": 53286019, + "object": "bun", + }, + { + "address": 53286019, + "object": "bun", + }, + { + "address": 53286019, + "object": "bun", + }, + { + "address": 53126583, + "object": "bun", + }, + { + "address": 42088287, + "object": "bun", + }, + { + "address": 44399571, + "object": "bun", + }, + { + "address": 22906023, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 53126583, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "548644a", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1576991, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000028", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-016-macos-aarch64-1.3.11-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 21846759, + "object": "bun", + }, + { + "address": 5900031, + "object": "bun", + }, + { + "address": 18015943, + "object": "bun", + }, + { + "address": 10195883, + "object": "bun", + }, + { + "address": 18902515, + "object": "bun", + }, + { + "address": 18751703, + "object": "bun", + }, + { + "address": 18644215, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 53126583, + "object": "bun", + }, + { + "address": 42088287, + "object": "bun", + }, + { + "address": 44399571, + "object": "bun", + }, + { + "address": 22906023, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 53126583, + "object": "bun", + }, + { + "address": 38090323, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "548644a", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1576991, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x756F736464227B5B", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-017-macos-aarch64-1.3.10-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 52401335, + "object": "bun", + }, + { + "address": 37550435, + "object": "bun", + }, + { + "address": 23707955, + "object": "bun", + }, + { + "address": 7194687, + "object": "bun", + }, + { + "address": 5452691, + "object": "bun", + }, + { + "address": 21584879, + "object": "bun", + }, + { + "address": 2505599, + "object": "bun", + }, + { + "address": 2489499, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "89a8aa9", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1183775, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000008", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-018-macos-aarch64-1.3.10-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 21351803, + "object": "bun", + }, + { + "address": 21223667, + "object": "bun", + }, + { + "address": 23846387, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "89a8aa9", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2051, + 1052695, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x95E29095E29095E2", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-019-macos-aarch64-1.3.9-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 20451831, + "object": "bun", + }, + { + "address": 20465967, + "object": "bun", + }, + { + "address": 20500111, + "object": "bun", + }, + { + "address": 1233131, + "object": "bun", + }, + { + "address": 7020715, + "object": "bun", + }, + { + "address": 19616279, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 49470187, + "object": "bun", + }, + { + "address": 49305271, + "object": "bun", + }, + { + "address": 34677927, + "object": "bun", + }, + { + "address": 37141987, + "object": "bun", + }, + { + "address": 19568983, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 49470187, + "object": "bun", + }, + { + "address": 49470187, + "object": "bun", + }, + { + "address": 49305271, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "a", + "commitish": "cf6cdbb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2097, + 1183775, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x0003E940", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.9", +} +`; + +exports[`parse fixtures real-020-macos-aarch64-1.3.9-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 34147439, + "object": "bun", + }, + { + "address": 34114727, + "object": "bun", + }, + { + "address": 34114491, + "object": "bun", + }, + { + "address": 34113795, + "object": "bun", + }, + { + "address": 38068459, + "object": "bun", + }, + { + "address": 35232319, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 49333943, + "object": "bun", + }, + { + "address": 34706567, + "object": "bun", + }, + { + "address": 2322859, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "d5628db", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2051, + 1052695, + ], + "is_canary": true, + "message": "Segmentation fault at address 0x00000204", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.9", +} +`; + +exports[`parse fixtures real-021-macos-aarch64-1.3.9-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 27638467, + "object": "bun", + }, + { + "address": 27438119, + "object": "bun", + }, + { + "address": 27423335, + "object": "bun", + }, + { + "address": 27609059, + "object": "bun", + }, + { + "address": 27605067, + "object": "bun", + }, + { + "address": 27838607, + "object": "bun", + }, + { + "address": 27762895, + "object": "bun", + }, + { + "address": 35190119, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "d5628db", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1052695, + ], + "is_canary": true, + "message": "Segmentation fault at address 0x00000030", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.9", +} +`; + +exports[`parse fixtures real-022-macos-aarch64-1.3.9-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 34196467, + "object": "bun", + }, + { + "address": 34110387, + "object": "bun", + }, + { + "address": 34156951, + "object": "bun", + }, + { + "address": 33919415, + "object": "bun", + }, + { + "address": 33918139, + "object": "bun", + }, + { + "address": 33903295, + "object": "bun", + }, + { + "address": 33909483, + "object": "bun", + }, + { + "address": 33902811, + "object": "bun", + }, + { + "address": 34064019, + "object": "bun", + }, + { + "address": 34117107, + "object": "bun", + }, + { + "address": 33918263, + "object": "bun", + }, + { + "address": 33887883, + "object": "bun", + }, + { + "address": 34113775, + "object": "bun", + }, + { + "address": 30374135, + "object": "bun", + }, + { + "address": 30257075, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "d5628db", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1052703, + ], + "is_canary": true, + "message": "Segmentation fault at address 0x00000010", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.9", +} +`; + +exports[`parse fixtures real-023-macos-aarch64-1.3.6-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 19627803, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 19675775, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 47045287, + "object": "bun", + }, + { + "address": 47045287, + "object": "bun", + }, + { + "address": 47040907, + "object": "bun", + }, + { + "address": 46879159, + "object": "bun", + }, + { + "address": 33691239, + "object": "bun", + }, + { + "address": 20055279, + "object": "bun", + }, + { + "address": 4451175, + "object": "bun", + }, + { + "address": 13681267, + "object": "bun", + }, + { + "address": 18097935, + "object": "bun", + }, + { + "address": 13675171, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "n", + "commitish": "d530ed9", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3953, + 1184071, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000008", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.6", +} +`; + +exports[`parse fixtures real-024-macos-aarch64-1.3.6-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 39628339, + "object": "bun", + }, + { + "address": 39628339, + "object": "bun", + }, + { + "address": 19627023, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 19618187, + "object": "bun", + }, + { + "address": 18715703, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 47045287, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 47039855, + "object": "bun", + }, + { + "address": 46879159, + "object": "bun", + }, + { + "address": 33691239, + "object": "bun", + }, + { + "address": 19359171, + "object": "bun", + }, + { + "address": 19381927, + "object": "bun", + }, + { + "address": 19577051, + "object": "bun", + }, + { + "address": 19585655, + "object": "bun", + }, + { + "address": 19380667, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "n", + "commitish": "d530ed9", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3953, + 1184071, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x20200A3B5D5B204D", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.6", +} +`; + +exports[`parse fixtures real-025-macos-aarch64-1.3.7-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 24215167, + "object": "bun", + }, + { + "address": 33442231, + "object": "bun", + }, + { + "address": 33433599, + "object": "bun", + }, + { + "address": 18868355, + "object": "bun", + }, + { + "address": 18898727, + "object": "bun", + }, + { + "address": 1080751, + "object": "bun", + }, + { + "address": 2850623, + "object": "bun", + }, + { + "address": 18421703, + "object": "bun", + }, + { + "address": 2494327, + "object": "bun", + }, + { + "address": 2501403, + "object": "bun", + }, + { + "address": 2496263, + "object": "bun", + }, + { + "address": 2606719, + "object": "bun", + }, + { + "address": 23195, + "object": "bun", + }, + { + "address": 18575, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "a", + "commitish": "ba42621", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 8392752, + 1184000, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000005", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.7", +} +`; + +exports[`parse fixtures real-026-macos-aarch64-1.3.5-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 33713611, + "object": "bun", + }, + { + "address": 33688063, + "object": "bun", + }, + { + "address": 33687819, + "object": "bun", + }, + { + "address": 33687195, + "object": "bun", + }, + { + "address": 37075067, + "object": "bun", + }, + { + "address": 29570987, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "1e86ceb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2051, + 1183775, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x000001F4", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.5", +} +`; + +exports[`parse fixtures real-027-macos-aarch64-1.3.5-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 33443623, + "object": "bun", + }, + { + "address": 33643027, + "object": "bun", + }, + { + "address": 33732679, + "object": "bun", + }, + { + "address": 33499495, + "object": "bun", + }, + { + "address": 33730387, + "object": "bun", + }, + { + "address": 33728827, + "object": "bun", + }, + { + "address": 33728311, + "object": "bun", + }, + { + "address": 33478443, + "object": "bun", + }, + { + "address": 33475451, + "object": "bun", + }, + { + "address": 33637079, + "object": "bun", + }, + { + "address": 33690467, + "object": "bun", + }, + { + "address": 33490979, + "object": "bun", + }, + { + "address": 33461419, + "object": "bun", + }, + { + "address": 33687175, + "object": "bun", + }, + { + "address": 20787087, + "object": "bun", + }, + { + "address": 20786127, + "object": "bun", + }, + { + "address": 21147291, + "object": "bun", + }, + { + "address": 21172563, + "object": "bun", + }, + { + "address": 20802847, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "n", + "commitish": "1e86ceb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2400, + 1048577, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000010", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.5", +} +`; + +exports[`parse fixtures real-028-macos-aarch64-1.3.3-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 33515851, + "object": "bun", + }, + { + "address": 33490303, + "object": "bun", + }, + { + "address": 33490059, + "object": "bun", + }, + { + "address": 33489435, + "object": "bun", + }, + { + "address": 41416239, + "object": "bun", + }, + { + "address": 20068795, + "object": "bun", + }, + { + "address": 9864071, + "object": "bun", + }, + { + "address": 16821855, + "object": "bun", + }, + { + "address": 22647439, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 48999859, + "object": "bun", + }, + { + "address": 34106419, + "object": "bun", + }, + { + "address": 38492923, + "object": "bun", + }, + { + "address": 41672579, + "object": "bun", + }, + { + "address": 18678679, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "274e01c", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 49, + -2146954985, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x000001F4", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.3", +} +`; + +exports[`parse fixtures real-029-macos-aarch64-1.3.2-segv-sm-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 2071959, + "object": "bun", + }, + { + "address": 2071959, + "object": "bun", + }, + { + "address": 2424243, + "object": "bun", + }, + { + "address": 19079, + "object": "bun", + }, + { + "address": 14015, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "P", + "commitish": "b131639", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 8388928, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x5067E6D15F8", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.2", +} +`; + +exports[`parse fixtures real-030-macos-aarch64-1.3.0-panic-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 116511, + "object": "bun", + }, + { + "address": 49287903, + "object": "bun", + }, + { + "address": 22739179, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 26019, + "object": "bun", + }, + { + "address": 2791179, + "object": "bun", + }, + { + "address": 4692223, + "object": "bun", + }, + { + "address": 18615427, + "object": "bun", + }, + { + "address": 2242999, + "object": "bun", + }, + { + "address": 2447487, + "object": "bun", + }, + { + "address": 25887, + "object": "bun", + }, + { + "address": 20847, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "t", + "commitish": "b0a6fec", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 66304, + 262144, + ], + "is_canary": false, + "message": "panic: A C++ exception occurred", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.0", +} +`; + +exports[`parse fixtures real-031-macos-aarch64-1.3.3-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 48313135, + "object": "bun", + }, + { + "address": 9840543, + "object": "bun", + }, + { + "address": 6901735, + "object": "bun", + }, + { + "address": 5359367, + "object": "bun", + }, + { + "address": 5351943, + "object": "bun", + }, + { + "address": 4269951, + "object": "bun", + }, + { + "address": 2995279, + "object": "bun", + }, + { + "address": 772659, + "object": "bun", + }, + { + "address": 13255479, + "object": "bun", + }, + { + "address": 14409155, + "object": "bun", + }, + { + "address": 14410503, + "object": "bun", + }, + { + "address": 18986935, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 49161083, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 49161083, + "object": "bun", + }, + { + "address": 49161083, + "object": "bun", + }, + { + "address": 48999859, + "object": "bun", + }, + { + "address": 34110571, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "r", + "commitish": "274e01c", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 526336, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x8985C15A14", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.3", +} +`; + +exports[`parse fixtures real-032-macos-aarch64-1.3.1-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 34273931, + "object": "bun", + }, + { + "address": 34248383, + "object": "bun", + }, + { + "address": 34248139, + "object": "bun", + }, + { + "address": 34247515, + "object": "bun", + }, + { + "address": 39430343, + "object": "bun", + }, + { + "address": 39430811, + "object": "bun", + }, + { + "address": 30042783, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "89fa0f3", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 512, + -1073477609, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x000001F4", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.1", +} +`; + +exports[`parse fixtures real-033-macos-aarch64-1.3.1-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "aarch64", + "command": "r", + "commitish": "89fa0f3", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 524, + 262151, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x16BD7BFE0", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.1", +} +`; + +exports[`parse fixtures real-034-linux-x86_64-1.3.12-panic-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 45264120, + "object": "bun", + }, + { + "address": 54989651, + "object": "bun", + }, + { + "address": 54989981, + "object": "bun", + }, + { + "address": 71448894, + "object": "bun", + }, + { + "address": 63157253, + "object": "bun", + }, + { + "address": 72562634, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 69510806, + "object": "bun", + }, + { + "address": 69379523, + "object": "bun", + }, + { + "address": 93730479, + "object": "bun", + }, + { + "address": 95769163, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 69506347, + "object": "bun", + }, + { + "address": 69379523, + "object": "bun", + }, + { + "address": 95750129, + "object": "bun", + }, + { + "address": 95743380, + "object": "bun", + }, + { + "address": 98205196, + "object": "bun", + }, + { + "address": 70308174, + "object": "bun", + }, + { + "address": 49324903, + "object": "bun", + }, + { + "address": 57981524, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "a", + "commitish": "700fc11", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 16416, + 1048832, + ], + "is_canary": false, + "message": "panic: A JavaScript exception was thrown, but it was cleared before it could be read.", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.12", +} +`; + +exports[`parse fixtures real-035-linux-x86_64_baseline-1.3.11-segv-md 1`] = ` +{ + "addresses": [ + { + "address": 86520332, + "object": "bun", + }, + { + "address": 283439, + "object": "bun", + }, + { + "address": -96234438, + "object": "bun", + }, + { + "address": 96237959, + "object": "bun", + }, + { + "address": 96004255, + "object": "bun", + }, + { + "address": 96164670, + "object": "bun", + }, + { + "address": 96167043, + "object": "bun", + }, + { + "address": 86523972, + "object": "bun", + }, + { + "address": 641699, + "object": "bun", + }, + { + "address": 1219691, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "0d72d5a", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2097155, + 1052695, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x7B6EE74B0020", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-036-linux-x86_64_baseline-1.3.11-ill-lg 1`] = ` +{ + "addresses": [ + { + "address": 283439, + "object": "bun", + }, + { + "address": 107204281, + "object": "bun", + }, + { + "address": 107210548, + "object": "bun", + }, + { + "address": 107152677, + "object": "bun", + }, + { + "address": 107152933, + "object": "bun", + }, + { + "address": 86239008, + "object": "bun", + }, + { + "address": 85982227, + "object": "bun", + }, + { + "address": 85633314, + "object": "bun", + }, + { + "address": 85616795, + "object": "bun", + }, + { + "address": 663250, + "object": "bun", + }, + { + "address": 75065173, + "object": "bun", + }, + { + "address": 663250, + "object": "bun", + }, + { + "address": 75064993, + "object": "bun", + }, + { + "address": 47237482, + "object": "bun", + }, + { + "address": 47224116, + "object": "bun", + }, + { + "address": 172489, + "object": "bun", + }, + { + "address": 172682, + "object": "bun", + }, + { + "address": 47222829, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "759ce80", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 1048576, + ], + "is_canary": false, + "message": "Illegal instruction at address 0x0666103F", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-037-linux-x86_64-1.3.11-panic-md 1`] = ` +{ + "addresses": [ + { + "address": 45225464, + "object": "bun", + }, + { + "address": 51745903, + "object": "bun", + }, + { + "address": 67556880, + "object": "bun", + }, + { + "address": 73584501, + "object": "bun", + }, + { + "address": 71321621, + "object": "bun", + }, + { + "address": 51745786, + "object": "bun", + }, + { + "address": 62317554, + "object": "bun", + }, + { + "address": 73281932, + "object": "bun", + }, + { + "address": 62311256, + "object": "bun", + }, + { + "address": 608962, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "r", + "commitish": "9e93bfa", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 256, + 1048576, + ], + "is_canary": true, + "message": "panic: Uncaught exception while handling uncaught exception", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-038-linux-x86_64-1.3.11-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 80364492, + "object": "bun", + }, + { + "address": 261615, + "object": "bun", + }, + { + "address": 63933170, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 69228337, + "object": "bun", + }, + { + "address": 69229196, + "object": "bun", + }, + { + "address": 69102275, + "object": "bun", + }, + { + "address": 90444246, + "object": "bun", + }, + { + "address": 73189461, + "object": "bun", + }, + { + "address": 57448613, + "object": "bun", + }, + { + "address": 57452588, + "object": "bun", + }, + { + "address": 57453431, + "object": "bun", + }, + { + "address": 55204635, + "object": "bun", + }, + { + "address": 55499537, + "object": "bun", + }, + { + "address": 52578195, + "object": "bun", + }, + { + "address": 73219468, + "object": "bun", + }, + { + "address": 48142902, + "object": "bun", + }, + { + "address": 48418232, + "object": "bun", + }, + { + "address": 45071965, + "object": "bun", + }, + { + "address": 45066996, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "t", + "commitish": "af24e28", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 96, + 1048640, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000200", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-039-linux-x86_64_baseline-1.3.11-segv-sm 1`] = ` +{ + "addresses": [ + { + "address": 79813196, + "object": "bun", + }, + { + "address": 261615, + "object": "bun", + }, + { + "address": 53370680, + "object": "bun", + }, + { + "address": 80610619, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "n", + "commitish": "af24e28", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3937, + 1052677, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00015350", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-040-linux-x86_64_baseline-1.3.10-segv-xs 1`] = ` +{ + "addresses": [ + { + "address": 76775756, + "object": "bun", + }, + { + "address": 261615, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "n", + "commitish": "30e609e", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2913, + 1052997, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00013CD0", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-041-linux-x86_64_baseline-1.3.10-fpe-sm 1`] = ` +{ + "addresses": [ + { + "address": 248495, + "object": "bun", + }, + { + "address": 87321974, + "object": "bun", + }, + { + "address": 87326188, + "object": "bun", + }, + { + "address": 87040767, + "object": "bun", + }, + { + "address": 87248158, + "object": "bun", + }, + { + "address": 87251155, + "object": "bun", + }, + { + "address": 76779460, + "object": "bun", + }, + { + "address": 571088, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "30e609e", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 12290, + 1183767, + ], + "is_canary": false, + "message": "Floating point exception at address 0x042DDD76", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-042-linux-x86_64_baseline-1.3.9-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 75891706, + "object": "bun", + }, + { + "address": 386467, + "object": "bun", + }, + { + "address": 53943443, + "object": "bun", + }, + { + "address": 61512599, + "object": "bun", + }, + { + "address": 87344788, + "object": "bun", + }, + { + "address": 87371650, + "object": "bun", + }, + { + "address": 87373895, + "object": "bun", + }, + { + "address": 84128018, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 66915267, + "object": "bun", + }, + { + "address": 82518714, + "object": "bun", + }, + { + "address": 84204254, + "object": "bun", + }, + { + "address": 70391181, + "object": "bun", + }, + { + "address": 50110409, + "object": "bun", + }, + { + "address": 48082916, + "object": "bun", + }, + { + "address": 67664202, + "object": "bun", + }, + { + "address": 47667110, + "object": "bun", + }, + { + "address": 47675031, + "object": "bun", + }, + { + "address": 47673434, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "a", + "commitish": "cf6cdbb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 18784, + 1183829, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000000", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.9", +} +`; + +exports[`parse fixtures real-043-linux-x86_64-1.3.8-segv-sm 1`] = ` +{ + "addresses": [ + { + "address": 76103773, + "object": "bun", + }, + { + "address": 283439, + "object": "bun", + }, + { + "address": 724345, + "object": "bun", + }, + { + "address": 96647, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "a", + "commitish": "b64edcb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2097, + 1048583, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x79524367ADD0", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.8", +} +`; + +exports[`parse fixtures real-044-linux-x86_64-1.3.7-fpe-md 1`] = ` +{ + "addresses": [ + { + "address": 283439, + "object": "bun", + }, + { + "address": 85932246, + "object": "bun", + }, + { + "address": 85936300, + "object": "bun", + }, + { + "address": 85656479, + "object": "bun", + }, + { + "address": 85858478, + "object": "bun", + }, + { + "address": 85860931, + "object": "bun", + }, + { + "address": 75684767, + "object": "bun", + }, + { + "address": 641699, + "object": "bun", + }, + { + "address": 1219691, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "t", + "commitish": "ba42621", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 49, + 1048583, + ], + "is_canary": false, + "message": "Floating point exception at address 0x0423B58E", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.7", +} +`; + +exports[`parse fixtures real-045-linux-x86_64_baseline-1.3.5-panic-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 45054376, + "object": "bun", + }, + { + "address": 48925833, + "object": "bun", + }, + { + "address": 62899967, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 66784366, + "object": "bun", + }, + { + "address": 66784366, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 66788825, + "object": "bun", + }, + { + "address": 66784366, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 66656442, + "object": "bun", + }, + { + "address": 85836885, + "object": "bun", + }, + { + "address": 91017932, + "object": "bun", + }, + { + "address": 94918161, + "object": "bun", + }, + { + "address": 68178572, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 66656442, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "1e86ceb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 1611796487, + ], + "is_canary": false, + "message": "panic: getrandom() failed to provide entropy", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.5", +} +`; + +exports[`parse fixtures real-046-linux-x86_64-1.3.6-segv-xs 1`] = ` +{ + "addresses": [ + { + "address": 75120445, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "_", + "commitish": "d530ed9", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 1184015, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000000", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.6", +} +`; + +exports[`parse fixtures real-047-linux-x86_64_baseline-1.3.8-segv-md-unk 1`] = ` +{ + "addresses": [ + { + "address": 386467, + "object": "bun", + }, + { + "address": 67172775, + "object": "bun", + }, + { + "address": 67171067, + "object": "bun", + }, + { + "address": 67169309, + "object": "bun", + }, + { + "address": 67167630, + "object": "bun", + }, + { + "address": 67166445, + "object": "bun", + }, + { + "address": 44618013, + "object": "bun", + }, + { + "address": 267413, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "b64edcb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 0, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x1BEFFFFDEA05990", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.8", +} +`; + +exports[`parse fixtures real-048-linux-aarch64-1.3.7-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 71876995, + "object": "bun", + }, + { + "address": 2263, + "object": "bun", + }, + { + "address": 65028687, + "object": "bun", + }, + { + "address": 81425607, + "object": "bun", + }, + { + "address": 65600491, + "object": "bun", + }, + { + "address": 67718339, + "object": "bun", + }, + { + "address": 67715847, + "object": "bun", + }, + { + "address": 67717883, + "object": "bun", + }, + { + "address": 67715847, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 65188927, + "object": "bun", + }, + { + "address": 65188927, + "object": "bun", + }, + { + "address": 65188927, + "object": "bun", + }, + { + "address": 65028035, + "object": "bun", + }, + { + "address": 85492099, + "object": "bun", + }, + { + "address": 87789983, + "object": "bun", + }, + { + "address": 66487567, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 65028035, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "n", + "commitish": "ba42621", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 113, + 1179655, + ], + "is_canary": false, + "message": "Segmentation fault at address 0xFFFF27888000", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.7", +} +`; + +exports[`parse fixtures real-049-linux-x86_64-1.3.6-panic-sm 1`] = ` +{ + "addresses": [ + { + "address": 45009512, + "object": "bun", + }, + { + "address": 48164135, + "object": "bun", + }, + { + "address": 51289970, + "object": "bun", + }, + { + "address": 641699, + "object": "bun", + }, + { + "address": 1219691, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "I", + "commitish": "d530ed9", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 33554432, + ], + "is_canary": false, + "message": "panic: Assertion failure: Expected metadata to be set", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.6", +} +`; + +exports[`parse fixtures real-050-linux-x86_64_baseline-1.3.6-ill-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 261615, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 66928573, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 66801347, + "object": "bun", + }, + { + "address": 85083880, + "object": "bun", + }, + { + "address": 87544034, + "object": "bun", + }, + { + "address": 89295797, + "object": "bun", + }, + { + "address": 91722471, + "object": "bun", + }, + { + "address": 68192732, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 66801347, + "object": "bun", + }, + { + "address": 85083880, + "object": "bun", + }, + { + "address": 87543634, + "object": "bun", + }, + { + "address": 68962787, + "object": "bun", + }, + { + "address": 71593021, + "object": "bun", + }, + { + "address": 50893165, + "object": "bun", + }, + { + "address": 49695053, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "n", + "commitish": "d530ed9", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3169, + 1611661319, + ], + "is_canary": false, + "message": "Illegal instruction at address 0x04001FB4", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.6", +} +`; + +exports[`parse fixtures real-051-linux-x86_64-1.3.2-segv-md 1`] = ` +{ + "addresses": [ + { + "address": 76182290, + "object": "bun", + }, + { + "address": 271647, + "object": "bun", + }, + { + "address": 84964075, + "object": "bun", + }, + { + "address": 84960448, + "object": "bun", + }, + { + "address": 84946187, + "object": "bun", + }, + { + "address": 81008070, + "object": "bun", + }, + { + "address": 88826775, + "object": "bun", + }, + { + "address": 89047231, + "object": "bun", + }, + { + "address": 86727315, + "object": "bun", + }, + { + "address": 76185543, + "object": "bun", + }, + { + "address": 608962, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "n", + "commitish": "b131639", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 732, + 262149, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000050", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.2", +} +`; + +exports[`parse fixtures real-052-linux-x86_64-1.3.2-segv-sm-unk 1`] = ` +{ + "addresses": [ + { + "address": 272655, + "object": "bun", + }, + { + "address": 47543466, + "object": "bun", + }, + { + "address": 48010932, + "object": "bun", + }, + { + "address": 45074270, + "object": "bun", + }, + { + "address": 45069089, + "object": "bun", + }, + { + "address": 176890, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64", + "command": "P", + "commitish": "b131639", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 8388608, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x2A318922648", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.2", +} +`; + +exports[`parse fixtures real-053-linux-x86_64_baseline-1.3.1-ill-xs 1`] = ` +{ + "addresses": [ + { + "address": 48742354, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "89fa0f3", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 402915328, + ], + "is_canary": false, + "message": "Illegal instruction at address 0x0606F8BF", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.1", +} +`; + +exports[`parse fixtures real-054-linux-x86_64_baseline-1.3.1-panic-sm 1`] = ` +{ + "addresses": [ + { + "address": 44897512, + "object": "bun", + }, + { + "address": 47846951, + "object": "bun", + }, + { + "address": 51083361, + "object": "bun", + }, + { + "address": 377678, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "I", + "commitish": "89fa0f3", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 0, + ], + "is_canary": false, + "message": "panic: Assertion failure: Expected metadata to be set", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.1", +} +`; + +exports[`parse fixtures real-055-linux-x86_64_baseline-1.3.1-panic-xs 1`] = ` +{ + "addresses": [ + { + "address": 48742354, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "I", + "commitish": "89fa0f3", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 0, + ], + "is_canary": false, + "message": "panic: Failed to start HTTP Client thread: Unexpected", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.1", +} +`; + +exports[`parse fixtures real-056-linux-aarch64-1.3.1-segv-xs 1`] = ` +{ + "addresses": [ + { + "address": 47700631, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "n", + "commitish": "89fa0f3", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 24, + 262401, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000008", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.1", +} +`; + +exports[`parse fixtures real-057-linux-aarch64-1.3.0-ill-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 2015, + "object": "bun", + }, + { + "address": 11424319, + "object": "bun", + }, + { + "address": 11424319, + "object": "bun", + }, + { + "address": 17479, + "object": "bun", + }, + { + "address": 17747, + "object": "bun", + }, + { + "address": 1260075, + "object": "bun", + }, + { + "address": 41911, + "object": "bun", + }, + { + "address": 1259983, + "object": "bun", + }, + { + "address": 42843, + "object": "bun", + }, + { + "address": 515939, + "object": "bun", + }, + { + "address": 1259983, + "object": "bun", + }, + { + "address": 1260195, + "object": "bun", + }, + { + "address": 514531, + "object": "bun", + }, + { + "address": 516159, + "object": "bun", + }, + { + "address": 66643071, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 65491135, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 65485703, + "object": "bun", + }, + { + "address": 65485703, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "n", + "commitish": "b0a6fec", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 520, + 1074003975, + ], + "is_canary": false, + "message": "Illegal instruction at address 0xFFFF61CC5E9C", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.0", +} +`; + +exports[`parse fixtures real-058-linux-x86_64_baseline-1.3.0-segv-lg 1`] = ` +{ + "addresses": [ + { + "address": 75175074, + "object": "bun", + }, + { + "address": 283439, + "object": "bun", + }, + { + "address": 52847765, + "object": "bun", + }, + { + "address": 52825716, + "object": "bun", + }, + { + "address": 49685949, + "object": "bun", + }, + { + "address": 48123828, + "object": "bun", + }, + { + "address": 54620383, + "object": "bun", + }, + { + "address": 54638490, + "object": "bun", + }, + { + "address": 54634689, + "object": "bun", + }, + { + "address": 52129014, + "object": "bun", + }, + { + "address": 68181725, + "object": "bun", + }, + { + "address": 47654738, + "object": "bun", + }, + { + "address": 47957691, + "object": "bun", + }, + { + "address": 45047482, + "object": "bun", + }, + { + "address": 45042469, + "object": "bun", + }, + { + "address": 172489, + "object": "bun", + }, + { + "address": 172682, + "object": "bun", + }, + { + "address": 45041453, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "t", + "commitish": "b0a6fec", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 28, + 262215, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000038", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.0", +} +`; + +exports[`parse fixtures real-059-linux-x86_64_baseline-1.3.11-segv-md 1`] = ` +{ + "addresses": [ + { + "address": 86548108, + "object": "bun", + }, + { + "address": 283439, + "object": "bun", + }, + { + "address": 101294827, + "object": "bun", + }, + { + "address": 101294455, + "object": "bun", + }, + { + "address": 101294020, + "object": "bun", + }, + { + "address": 100465241, + "object": "bun", + }, + { + "address": 100541496, + "object": "bun", + }, + { + "address": 96262214, + "object": "bun", + }, + { + "address": 96265735, + "object": "bun", + }, + { + "address": 96032031, + "object": "bun", + }, + { + "address": 96192446, + "object": "bun", + }, + { + "address": 96194819, + "object": "bun", + }, + { + "address": 86551748, + "object": "bun", + }, + { + "address": 641699, + "object": "bun", + }, + { + "address": 1219691, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "6f0a17c", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2097155, + 1052695, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x7FFFFFFFA9", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-060-linux-x86_64_baseline-1.3.10-segv-md 1`] = ` +{ + "addresses": [ + { + "address": 76775756, + "object": "bun", + }, + { + "address": 248495, + "object": "bun", + }, + { + "address": 87006537, + "object": "bun", + }, + { + "address": 86985335, + "object": "bun", + }, + { + "address": 87108588, + "object": "bun", + }, + { + "address": 87278829, + "object": "bun", + }, + { + "address": 87107993, + "object": "bun", + }, + { + "address": 68774477, + "object": "bun", + }, + { + "address": 48584841, + "object": "bun", + }, + { + "address": 69051212, + "object": "bun", + }, + { + "address": 48210500, + "object": "bun", + }, + { + "address": 45114537, + "object": "bun", + }, + { + "address": 45109555, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "30e609e", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 12290, + 1183767, + ], + "is_canary": false, + "message": "Segmentation fault at address 0xE00000048", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-061-linux-x86_64-1.3.10-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 77487388, + "object": "bun", + }, + { + "address": 283439, + "object": "bun", + }, + { + "address": 69535042, + "object": "bun", + }, + { + "address": 70597853, + "object": "bun", + }, + { + "address": 89755097, + "object": "bun", + }, + { + "address": 89690911, + "object": "bun", + }, + { + "address": 69087833, + "object": "bun", + }, + { + "address": 69045955, + "object": "bun", + }, + { + "address": 92997135, + "object": "bun", + }, + { + "address": 95524385, + "object": "bun", + }, + { + "address": 70740364, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 69045955, + "object": "bun", + }, + { + "address": 88554136, + "object": "bun", + }, + { + "address": 91172495, + "object": "bun", + }, + { + "address": 71622327, + "object": "bun", + }, + { + "address": 74496221, + "object": "bun", + }, + { + "address": 52156615, + "object": "bun", + }, + { + "address": 49284376, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "a", + "commitish": "30e609e", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2416, + 1053007, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000005", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-062-linux-x86_64_baseline-1.3.10-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 75930172, + "object": "bun", + }, + { + "address": 283439, + "object": "bun", + }, + { + "address": 68411478, + "object": "bun", + }, + { + "address": 68411478, + "object": "bun", + }, + { + "address": 68411478, + "object": "bun", + }, + { + "address": 68411478, + "object": "bun", + }, + { + "address": 68411478, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "48c5aa9", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1052695, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x7FFF0E00E015", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-063-linux-x86_64_baseline-1.3.10-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 75930172, + "object": "bun", + }, + { + "address": 261615, + "object": "bun", + }, + { + "address": 68411478, + "object": "bun", + }, + { + "address": 68411478, + "object": "bun", + }, + { + "address": 68411478, + "object": "bun", + }, + { + "address": 68411478, + "object": "bun", + }, + { + "address": 68411478, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "48c5aa9", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2051, + 1052695, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x7FFDD5FB8B25", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-064-linux-x86_64_baseline-1.3.10-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 75908236, + "object": "bun", + }, + { + "address": 272271, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "1423d3c", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1052695, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x7FFC1C7B06A5", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-065-linux-x86_64_baseline-1.3.10-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 75908236, + "object": "bun", + }, + { + "address": 283439, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 68081091, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "1423d3c", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1052695, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x7FFCEDDCF925", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-066-linux-x86_64_baseline-1.3.10-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 75908236, + "object": "bun", + }, + { + "address": 261615, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "1423d3c", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2051, + 1052695, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x7FFEEE9310D5", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-067-linux-x86_64_baseline-1.3.10-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 75908236, + "object": "bun", + }, + { + "address": 283439, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 68391510, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "1423d3c", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2051, + 1052695, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x7FFBBD78E7D5", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-068-windows-x86_64-1.3.11-panic-lg-foreign 1`] = ` +{ + "addresses": [ + { + "address": 3531119, + "object": "bun", + }, + { + "address": 427061, + "object": "bun", + }, + { + "address": 4569136, + "object": "bun", + }, + { + "address": 2675852, + "object": "bun", + }, + { + "address": 4346672, + "object": "bun", + }, + { + "address": 4303070, + "object": "bun", + }, + { + "address": 4297920, + "object": "bun", + }, + { + "address": 2079367, + "object": "bun", + }, + { + "address": 2257617, + "object": "bun", + }, + { + "address": 2653956, + "object": "bun", + }, + { + "address": 2670403, + "object": "bun", + }, + { + "address": 1442840, + "object": "bun", + }, + { + "address": 1417813, + "object": "bun", + }, + { + "address": 3108862, + "object": "bun", + }, + { + "address": 14087, + "object": "bun", + }, + { + "address": 6201, + "object": "bun", + }, + { + "address": 59698852, + "object": "bun", + }, + { + "address": 190679, + "object": "KERNEL32.DLL", + }, + { + "address": 574460, + "object": "ntdll.dll", + }, + ], + "arch": "x86_64", + "command": "I", + "commitish": "af24e28", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 134217824, + ], + "is_canary": false, + "message": "panic: Internal assertion failure at install\\bin.zig:733:83", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-069-windows-x86_64_baseline-1.3.11-panic-sm-foreign 1`] = ` +{ + "addresses": [ + { + "address": 8846290, + "object": "bun", + }, + { + "address": 6920985, + "object": "bun", + }, + { + "address": 3738832, + "object": "bun", + }, + { + "address": 8700153, + "object": "bun", + }, + { + "address": 10379408, + "object": "bun", + }, + { + "address": 75165, + "object": "KERNEL32.DLL", + }, + { + "address": 372600, + "object": "ntdll.dll", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "759ce80", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2097155, + 1052679, + ], + "is_canary": false, + "message": "panic: invalid enum value", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-070-windows-x86_64-1.3.11-segv-md-foreign 1`] = ` +{ + "addresses": [ + { + "address": 306367, + "object": "TmUmEvt64.dll", + }, + { + "address": 307157, + "object": "TmUmEvt64.dll", + }, + { + "address": 304015, + "object": "TmUmEvt64.dll", + }, + { + "address": 302854, + "object": "TmUmEvt64.dll", + }, + { + "address": 315614, + "object": "TmUmEvt64.dll", + }, + { + "address": 317887, + "object": "TmUmEvt64.dll", + }, + { + "address": 269405, + "object": "TmUmEvt64.dll", + }, + { + "address": 399250, + "object": "TmUmEvt64.dll", + }, + { + "address": 5062, + "object": "tmmon64.dll", + }, + { + "address": 448370, + "object": "tmmon64.dll", + }, + { + "address": 449099, + "object": "tmmon64.dll", + }, + { + "address": 1084913, + "object": "tmmon64.dll", + }, + { + "address": 209213, + "object": "KERNEL32.DLL", + }, + { + "address": 1524814, + "object": "tailwindcss-oxide.win32-x64-msvc.node", + }, + ], + "arch": "x86_64", + "command": "n", + "commitish": "af24e28", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2161, + 1179655, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x0000022D", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-071-windows-x86_64_baseline-1.3.10-ill-lg-foreign 1`] = ` +{ + "addresses": [ + { + "address": 45738240, + "object": "bun", + }, + { + "address": 45653229, + "object": "bun", + }, + { + "address": 45709222, + "object": "bun", + }, + { + "address": 45651602, + "object": "bun", + }, + { + "address": 45650771, + "object": "bun", + }, + { + "address": 52573094, + "object": "bun", + }, + { + "address": 52416845, + "object": "bun", + }, + { + "address": 52452671, + "object": "bun", + }, + { + "address": 53044809, + "object": "bun", + }, + { + "address": 53044529, + "object": "bun", + }, + { + "address": 47109273, + "object": "bun", + }, + { + "address": 47165105, + "object": "bun", + }, + { + "address": 44360265, + "object": "bun", + }, + { + "address": 43489392, + "object": "bun", + }, + { + "address": 43891600, + "object": "bun", + }, + { + "address": 32784073, + "object": "bun", + }, + { + "address": 61905411, + "object": "bun", + }, + { + "address": 190679, + "object": "KERNEL32.DLL", + }, + { + "address": 574604, + "object": "ntdll.dll", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "89a8aa9", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2051, + 1052695, + ], + "is_canary": false, + "message": "Illegal instruction at address 0x7FF7519EE900", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-072-windows-x86_64_baseline-1.3.11-ill-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 46663019, + "object": "bun", + }, + { + "address": 46314948, + "object": "bun", + }, + { + "address": 46262622, + "object": "bun", + }, + { + "address": 46261843, + "object": "bun", + }, + { + "address": 44502666, + "object": "bun", + }, + { + "address": 44097046, + "object": "bun", + }, + { + "address": 44097609, + "object": "bun", + }, + { + "address": 44092945, + "object": "bun", + }, + { + "address": 44092272, + "object": "bun", + }, + { + "address": 29728871, + "object": "bun", + }, + { + "address": 29726973, + "object": "bun", + }, + { + "address": 29743805, + "object": "bun", + }, + { + "address": 29711081, + "object": "bun", + }, + { + "address": 30206769, + "object": "bun", + }, + { + "address": 24813625, + "object": "bun", + }, + { + "address": 26419299, + "object": "bun", + }, + { + "address": 40547637, + "object": "bun", + }, + { + "address": 40524042, + "object": "bun", + }, + { + "address": 39424922, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "01210fb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1052703, + ], + "is_canary": false, + "message": "Illegal instruction at address 0x7FF777AE056B", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-073-windows-x86_64_baseline-1.3.10-panic-md-foreign 1`] = ` +{ + "addresses": [ + { + "address": 8454618, + "object": "bun", + }, + { + "address": 14413980, + "object": "bun", + }, + { + "address": 11430325, + "object": "bun", + }, + { + "address": 10836232, + "object": "bun", + }, + { + "address": 221563, + "object": "bun", + }, + { + "address": 10514891, + "object": "bun", + }, + { + "address": 7425939, + "object": "bun", + }, + { + "address": 7418017, + "object": "bun", + }, + { + "address": 58779208, + "object": "bun", + }, + { + "address": 190679, + "object": "KERNEL32.DLL", + }, + { + "address": 574604, + "object": "ntdll.dll", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "1979c94", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1052703, + ], + "is_canary": true, + "message": "panic: switch on corrupt value", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-074-windows-x86_64_baseline-1.3.11-segv-lg-foreign 1`] = ` +{ + "addresses": [ + { + "address": 43019456, + "object": "bun", + }, + { + "address": 43019315, + "object": "bun", + }, + { + "address": 43018739, + "object": "bun", + }, + { + "address": 43017126, + "object": "bun", + }, + { + "address": 28967624, + "object": "bun", + }, + { + "address": 3277409, + "object": "bun", + }, + { + "address": 15557185, + "object": "bun", + }, + { + "address": 16465380, + "object": "bun", + }, + { + "address": 6566698, + "object": "bun", + }, + { + "address": 10969331, + "object": "bun", + }, + { + "address": 10973134, + "object": "bun", + }, + { + "address": 28071124, + "object": "bun", + }, + { + "address": 28133982, + "object": "bun", + }, + { + "address": 29486337, + "object": "bun", + }, + { + "address": 29418021, + "object": "bun", + }, + { + "address": 29416909, + "object": "bun", + }, + { + "address": 11940791, + "object": "bun", + }, + { + "address": 9161228, + "object": "bun", + }, + { + "address": 190679, + "object": "KERNEL32.DLL", + }, + { + "address": 574604, + "object": "ntdll.dll", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "a2743b6", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2097155, + 1052695, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x44924010000", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-075-windows-x86_64_baseline-1.3.11-oom-md-foreign 1`] = ` +{ + "addresses": [ + { + "address": 16465700, + "object": "bun", + }, + { + "address": 6566698, + "object": "bun", + }, + { + "address": 10969331, + "object": "bun", + }, + { + "address": 10973134, + "object": "bun", + }, + { + "address": 28071124, + "object": "bun", + }, + { + "address": 28133982, + "object": "bun", + }, + { + "address": 29486337, + "object": "bun", + }, + { + "address": 29418021, + "object": "bun", + }, + { + "address": 29416909, + "object": "bun", + }, + { + "address": 11940791, + "object": "bun", + }, + { + "address": 9161228, + "object": "bun", + }, + { + "address": 190679, + "object": "KERNEL32.DLL", + }, + { + "address": 246604, + "object": "ntdll.dll", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "a2743b6", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 1052695, + ], + "is_canary": false, + "message": "Bun ran out of memory", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-076-windows-x86_64-1.3.10-panic-sm-foreign 1`] = ` +{ + "addresses": [ + { + "address": 3384295, + "object": "bun", + }, + { + "address": 3383768, + "object": "bun", + }, + { + "address": 6891600, + "object": "bun", + }, + { + "address": 75165, + "object": "KERNEL32.DLL", + }, + { + "address": 372600, + "object": "ntdll.dll", + }, + ], + "arch": "x86_64", + "command": "a", + "commitish": "30e609e", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 32, + 1048640, + ], + "is_canary": false, + "message": "panic: attempt to use null value", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-077-windows-x86_64_baseline-1.3.10-segv-lg-unk-foreign 1`] = ` +{ + "addresses": [ + { + "address": 76448, + "object": "MSVCP140.dll", + }, + { + "address": 9215660, + "object": "onnxruntime.dll", + }, + { + "address": 7509, + "object": "onnxruntime.dll", + }, + { + "address": -282, + "object": "bun", + }, + { + "address": 124019, + "object": "ucrtbase.dll", + }, + { + "address": 9304554, + "object": "onnxruntime.dll", + }, + { + "address": 9304919, + "object": "onnxruntime.dll", + }, + { + "address": 104989, + "object": "ntdll.dll", + }, + { + "address": 447223, + "object": "ntdll.dll", + }, + { + "address": 446602, + "object": "ntdll.dll", + }, + { + "address": 446736, + "object": "ntdll.dll", + }, + { + "address": 252231, + "object": "ntdll.dll", + }, + { + "address": 129966, + "object": "ntdll.dll", + }, + { + "address": 95210, + "object": "ntdll.dll", + }, + { + "address": 92916, + "object": "ntdll.dll", + }, + { + "address": 187250, + "object": "KERNELBASE.dll", + }, + { + "address": 15581515, + "object": "bun", + }, + { + "address": 23044967, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 41980408, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "a", + "commitish": "30e609e", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3347, + -1609560041, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000000", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-078-windows-x86_64_baseline-1.3.11-so-md-foreign 1`] = ` +{ + "addresses": [ + { + "address": 30000320, + "object": "bun", + }, + { + "address": 29972541, + "object": "bun", + }, + { + "address": 29994507, + "object": "bun", + }, + { + "address": 26319795, + "object": "bun", + }, + { + "address": 3108545, + "object": "bun", + }, + { + "address": 14611, + "object": "bun", + }, + { + "address": 6160, + "object": "bun", + }, + { + "address": 62713448, + "object": "bun", + }, + { + "address": 190679, + "object": "KERNEL32.DLL", + }, + { + "address": 574476, + "object": "ntdll.dll", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "548644a", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2, + 1048576, + ], + "is_canary": false, + "message": "Stack overflow", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-079-windows-x86_64_baseline-1.3.11-segv-md-unk-foreign 1`] = ` +{ + "addresses": [ + { + "address": 10089, + "object": "npggNT64.des", + }, + { + "address": 2330745, + "object": "npggNT64.des", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 256200, + "object": "npggNT64.des", + }, + { + "address": 784944, + "object": "USER32.dll", + }, + { + "address": 291872, + "object": "npggNT64.des", + }, + { + "address": 62896, + "object": "npggNT64.des", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 363684, + "object": "npggNT64.des", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "dea015e", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2097155, + 1052679, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x0000003C", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.11", +} +`; + +exports[`parse fixtures real-080-windows-x86_64_baseline-1.3.10-segv-md-unk 1`] = ` +{ + "addresses": [ + { + "address": 57552658, + "object": "bun", + }, + { + "address": 57102306, + "object": "bun", + }, + { + "address": 57102612, + "object": "bun", + }, + { + "address": 56756604, + "object": "bun", + }, + { + "address": 44873091, + "object": "bun", + }, + { + "address": 30836177, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "d885ce7", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1052695, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000018", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-081-windows-aarch64-1.3.10-panic-md-foreign 1`] = ` +{ + "addresses": [ + { + "address": 16442984, + "object": "bun", + }, + { + "address": 18065496, + "object": "bun", + }, + { + "address": 24352, + "object": "bun", + }, + { + "address": 44408, + "object": "bun", + }, + { + "address": 24168, + "object": "bun", + }, + { + "address": 25524, + "object": "bun", + }, + { + "address": 41356, + "object": "bun", + }, + { + "address": 36700920, + "object": "bun", + }, + { + "address": 36613992, + "object": "bun", + }, + { + "address": 36612652, + "object": "bun", + }, + { + "address": 18932640, + "object": "bun", + }, + { + "address": 16484032, + "object": "bun", + }, + { + "address": 34624, + "object": "KERNEL32.DLL", + }, + { + "address": 869540, + "object": "ntdll.dll", + }, + ], + "arch": "aarch64", + "command": "_", + "commitish": "1423d3c", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2051, + 1052687, + ], + "is_canary": false, + "message": "panic: incorrect alignment", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-082-windows-x86_64-1.3.9-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 16771135, + "object": "bun", + }, + { + "address": 16770754, + "object": "bun", + }, + { + "address": 21462318, + "object": "bun", + }, + { + "address": 25549312, + "object": "bun", + }, + { + "address": 25586185, + "object": "bun", + }, + { + "address": 25777554, + "object": "bun", + }, + { + "address": 25776235, + "object": "bun", + }, + { + "address": 25760014, + "object": "bun", + }, + { + "address": 25767108, + "object": "bun", + }, + { + "address": 25759497, + "object": "bun", + }, + { + "address": 25927997, + "object": "bun", + }, + { + "address": 26218507, + "object": "bun", + }, + { + "address": 25776370, + "object": "bun", + }, + { + "address": 25743593, + "object": "bun", + }, + { + "address": 26215153, + "object": "bun", + }, + { + "address": 20923561, + "object": "bun", + }, + { + "address": 21321836, + "object": "bun", + }, + { + "address": 21322776, + "object": "bun", + }, + { + "address": 17110835, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "a", + "commitish": "cf6cdbb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3331, + -2146430953, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x43C881E0100", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.9", +} +`; + +exports[`parse fixtures real-083-windows-x86_64_baseline-1.3.10-segv-md-foreign 1`] = ` +{ + "addresses": [ + { + "address": 11909744, + "object": "bun", + }, + { + "address": 23941090, + "object": "bun", + }, + { + "address": 38790732, + "object": "bun", + }, + { + "address": 38717276, + "object": "bun", + }, + { + "address": 38715981, + "object": "bun", + }, + { + "address": 12228212, + "object": "bun", + }, + { + "address": 10819524, + "object": "bun", + }, + { + "address": 221563, + "object": "bun", + }, + { + "address": 10498703, + "object": "bun", + }, + { + "address": 7425843, + "object": "bun", + }, + { + "address": 7417973, + "object": "bun", + }, + { + "address": 58361928, + "object": "bun", + }, + { + "address": 190679, + "object": "KERNEL32.DLL", + }, + { + "address": 574780, + "object": "ntdll.dll", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "1423d3c", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2099203, + 1052695, + ], + "is_canary": false, + "message": "Segmentation fault at address 0xFFFFFFFFFFFFFFFF", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.10", +} +`; + +exports[`parse fixtures real-084-windows-x86_64_baseline-1.3.9-panic-sm-unk 1`] = ` +{ + "addresses": [ + { + "address": 10627791, + "object": "bun", + }, + { + "address": 7413503, + "object": "bun", + }, + { + "address": 24632263, + "object": "bun", + }, + { + "address": 24528073, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 40774869, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "d5628db", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2, + 1048578, + ], + "is_canary": true, + "message": "panic: Internal assertion failure", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.9", +} +`; + +exports[`parse fixtures real-085-windows-x86_64_baseline-1.3.9-ill-lg 1`] = ` +{ + "addresses": [ + { + "address": 48234378, + "object": "bun", + }, + { + "address": 42834420, + "object": "bun", + }, + { + "address": 42864839, + "object": "bun", + }, + { + "address": 42807538, + "object": "bun", + }, + { + "address": 42806707, + "object": "bun", + }, + { + "address": 25331731, + "object": "bun", + }, + { + "address": 25302327, + "object": "bun", + }, + { + "address": 25927941, + "object": "bun", + }, + { + "address": 25931502, + "object": "bun", + }, + { + "address": 20804649, + "object": "bun", + }, + { + "address": 21252058, + "object": "bun", + }, + { + "address": 21255986, + "object": "bun", + }, + { + "address": 13885813, + "object": "bun", + }, + { + "address": 13515404, + "object": "bun", + }, + { + "address": 15768277, + "object": "bun", + }, + { + "address": 22953805, + "object": "bun", + }, + { + "address": 22953541, + "object": "bun", + }, + { + "address": 24172317, + "object": "bun", + }, + { + "address": 24171736, + "object": "bun", + }, + { + "address": 24159400, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "cf6cdbb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 538054671, + ], + "is_canary": false, + "message": "Illegal instruction at address 0x7FF6E3FDFF8A", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.9", +} +`; + +exports[`parse fixtures real-086-windows-x86_64-1.3.8-panic-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 5242591, + "object": "bun", + }, + { + "address": 3352009, + "object": "bun", + }, + { + "address": 183616, + "object": "bun", + }, + { + "address": 5437954, + "object": "bun", + }, + { + "address": 6733438, + "object": "bun", + }, + { + "address": 6729666, + "object": "bun", + }, + { + "address": 5457626, + "object": "bun", + }, + { + "address": 3678172, + "object": "bun", + }, + { + "address": 922600, + "object": "bun", + }, + { + "address": 15234873, + "object": "bun", + }, + { + "address": 16675121, + "object": "bun", + }, + { + "address": 16677365, + "object": "bun", + }, + { + "address": 16676909, + "object": "bun", + }, + { + "address": 23039651, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 41693124, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "n", + "commitish": "b64edcb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 112, + 1048903, + ], + "is_canary": false, + "message": "panic: invalid enum value", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.8", +} +`; + +exports[`parse fixtures real-087-windows-x86_64-1.3.9-segv-xs 1`] = ` +{ + "addresses": [], + "arch": "x86_64", + "command": "a", + "commitish": "35f8154", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3427, + -2146430697, + ], + "is_canary": true, + "message": "Segmentation fault at address 0x00000000", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.9", +} +`; + +exports[`parse fixtures real-088-windows-x86_64-1.3.7-panic-md-unk 1`] = ` +{ + "addresses": [ + { + "address": 5118845, + "object": "bun", + }, + { + "address": 5066669, + "object": "bun", + }, + { + "address": 15275702, + "object": "bun", + }, + { + "address": 15283586, + "object": "bun", + }, + { + "address": 22927170, + "object": "bun", + }, + { + "address": 22926518, + "object": "bun", + }, + { + "address": 22047535, + "object": "bun", + }, + { + "address": 28848121, + "object": "bun", + }, + { + "address": 28844624, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64", + "command": "r", + "commitish": "ba42621", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 112, + 1048641, + ], + "is_canary": false, + "message": "panic: start index 2 is larger than end index 1", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.7", +} +`; + +exports[`parse fixtures real-089-windows-x86_64_baseline-1.3.6-ill-xs 1`] = ` +{ + "addresses": [ + { + "address": 47612156, + "object": "bun", + }, + { + "address": 31082368, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "d530ed9", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 1611665415, + ], + "is_canary": false, + "message": "Illegal instruction at address 0x7FF7F28A80FC", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.6", +} +`; + +exports[`parse fixtures real-090-windows-x86_64-1.3.6-segv-sm-unk 1`] = ` +{ + "addresses": [ + { + "address": 19178028, + "object": "bun", + }, + { + "address": 19171065, + "object": "bun", + }, + { + "address": 20636485, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64", + "command": "n", + "commitish": "d530ed9", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 112, + 1048837, + ], + "is_canary": false, + "message": "Segmentation fault at address 0xFFFFFFFFFFFFFFFF", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.6", +} +`; + +exports[`parse fixtures real-091-windows-x86_64-1.3.5-segv-md-unk 1`] = ` +{ + "addresses": [ + { + "address": 58744048, + "object": "bun", + }, + { + "address": 59744144, + "object": "bun", + }, + { + "address": 59744190, + "object": "bun", + }, + { + "address": 59743913, + "object": "bun", + }, + { + "address": 59743862, + "object": "bun", + }, + { + "address": 58743477, + "object": "bun", + }, + { + "address": 54253857, + "object": "bun", + }, + { + "address": 31189142, + "object": "bun", + }, + { + "address": 31549489, + "object": "bun", + }, + { + "address": 31547040, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64", + "command": "r", + "commitish": "1e86ceb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 352, + 1049088, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000008", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.5", +} +`; + +exports[`parse fixtures real-092-windows-x86_64_baseline-1.3.5-segv-xs 1`] = ` +{ + "addresses": [], + "arch": "x86_64_baseline", + "command": "a", + "commitish": "1e86ceb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3443, + -2146299625, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000000", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.5", +} +`; + +exports[`parse fixtures real-093-windows-x86_64_baseline-1.3.5-segv-lg-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + { + "address": 15993615, + "object": "bun", + }, + { + "address": 15993362, + "object": "bun", + }, + { + "address": 20825596, + "object": "bun", + }, + { + "address": 24516144, + "object": "bun", + }, + { + "address": 24551048, + "object": "bun", + }, + { + "address": 24801106, + "object": "bun", + }, + { + "address": 24799739, + "object": "bun", + }, + { + "address": 24783278, + "object": "bun", + }, + { + "address": 24790353, + "object": "bun", + }, + { + "address": 24782825, + "object": "bun", + }, + { + "address": 24956349, + "object": "bun", + }, + { + "address": 25208075, + "object": "bun", + }, + { + "address": 24799874, + "object": "bun", + }, + { + "address": 24768409, + "object": "bun", + }, + { + "address": 25204753, + "object": "bun", + }, + { + "address": 20280809, + "object": "bun", + }, + { + "address": 28982151, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64_baseline", + "command": "a", + "commitish": "1e86ceb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 275, + -2146299881, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x499AA1E0100", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.5", +} +`; + +exports[`parse fixtures real-094-windows-x86_64-1.3.5-segv-lg-foreign 1`] = ` +{ + "addresses": [ + { + "address": 60721174, + "object": "bun", + }, + { + "address": 11624647, + "object": "bun", + }, + { + "address": 10901842, + "object": "bun", + }, + { + "address": 10035300, + "object": "bun", + }, + { + "address": 10036239, + "object": "bun", + }, + { + "address": 6658889, + "object": "bun", + }, + { + "address": 3840093, + "object": "bun", + }, + { + "address": 3326712, + "object": "bun", + }, + { + "address": 20297723, + "object": "bun", + }, + { + "address": 2870405, + "object": "bun", + }, + { + "address": 2880274, + "object": "bun", + }, + { + "address": 2878171, + "object": "bun", + }, + { + "address": 3028866, + "object": "bun", + }, + { + "address": 14071, + "object": "bun", + }, + { + "address": 6192, + "object": "bun", + }, + { + "address": 60333716, + "object": "bun", + }, + { + "address": 75133, + "object": "KERNEL32.DLL", + }, + { + "address": 372488, + "object": "ntdll.dll", + }, + ], + "arch": "x86_64", + "command": "a", + "commitish": "1e86ceb", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 2080, + 1179664, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x29F14210080", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.5", +} +`; + +exports[`parse fixtures real-095-windows-x86_64_baseline-1.3.3-segv-sm-unk 1`] = ` +{ + "addresses": [ + { + "address": 9528177, + "object": "bun", + }, + { + "address": 31453404, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 41933877, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "a", + "commitish": "274e01c", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 385, + -1073082345, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x00000130", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.3", +} +`; + +exports[`parse fixtures real-096-windows-x86_64-1.3.3-panic-md-foreign 1`] = ` +{ + "addresses": [ + { + "address": 9619916, + "object": "bun", + }, + { + "address": 9614781, + "object": "bun", + }, + { + "address": 8655364, + "object": "bun", + }, + { + "address": 10438875, + "object": "bun", + }, + { + "address": 23370181, + "object": "bun", + }, + { + "address": 23369591, + "object": "bun", + }, + { + "address": 23371925, + "object": "bun", + }, + { + "address": 23371827, + "object": "bun", + }, + { + "address": 23436086, + "object": "bun", + }, + { + "address": 24674461, + "object": "bun", + }, + { + "address": 24604773, + "object": "bun", + }, + { + "address": 24603725, + "object": "bun", + }, + { + "address": 11292985, + "object": "bun", + }, + { + "address": 8697770, + "object": "bun", + }, + { + "address": 190679, + "object": "KERNEL32.DLL", + }, + { + "address": 574780, + "object": "ntdll.dll", + }, + ], + "arch": "x86_64", + "command": "_", + "commitish": "274e01c", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 49, + -2146823929, + ], + "is_canary": false, + "message": "panic: index out of bounds: index 438088856, len 1676", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.3", +} +`; + +exports[`parse fixtures real-097-windows-x86_64_baseline-1.3.2-ill-md-foreign 1`] = ` +{ + "addresses": [ + { + "address": 42170790, + "object": "bun", + }, + { + "address": 42165045, + "object": "bun", + }, + { + "address": 42160798, + "object": "bun", + }, + { + "address": 42155733, + "object": "bun", + }, + { + "address": 42151735, + "object": "bun", + }, + { + "address": 42150257, + "object": "bun", + }, + { + "address": 42138357, + "object": "bun", + }, + { + "address": 42137706, + "object": "bun", + }, + { + "address": 42136406, + "object": "bun", + }, + { + "address": 3099986, + "object": "bun", + }, + { + "address": 15054, + "object": "bun", + }, + { + "address": 4366, + "object": "bun", + }, + { + "address": 62848548, + "object": "bun", + }, + { + "address": 95092, + "object": "KERNEL32.DLL", + }, + { + "address": 314513, + "object": "ntdll.dll", + }, + ], + "arch": "x86_64_baseline", + "command": "_", + "commitish": "b131639", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 402653184, + ], + "is_canary": false, + "message": "Illegal instruction at address 0x7FF791BB79A6", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.2", +} +`; + +exports[`parse fixtures real-098-windows-x86_64-1.3.3-panic-sm-unk 1`] = ` +{ + "addresses": [ + { + "address": 16177164, + "object": "bun", + }, + { + "address": 17541818, + "object": "bun", + }, + { + "address": 21144117, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 42672586, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "a", + "commitish": "e0aae8a", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 1096, + 329729, + ], + "is_canary": true, + "message": "panic: integer does not fit in destination type", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.3", +} +`; + +exports[`parse fixtures real-099-windows-x86_64-1.3.0-segv-sm-unk-foreign 1`] = ` +{ + "addresses": [ + { + "address": 3417288, + "object": "node.exe", + }, + { + "address": 1356496, + "object": "wrtc.node", + }, + { + "address": 1406907, + "object": "wrtc.node", + }, + { + "address": 4164, + "object": "wrtc.node", + }, + { + "address": 25043137, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 45242165, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "a", + "commitish": "b0a6fec", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 512, + 262144, + ], + "is_canary": false, + "message": "Segmentation fault at address 0xFFFFFFFFFFFFFFFF", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.0", +} +`; + +exports[`parse fixtures real-100-windows-x86_64-1.3.1-segv-xs-unk 1`] = ` +{ + "addresses": [ + { + "address": 0, + "object": "?", + }, + ], + "arch": "x86_64", + "command": "n", + "commitish": "89fa0f3", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 524, + 1074069511, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x0000001A", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.3.1", +} +`; + +exports[`parse fixtures v1-linux-aarch64-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v1-linux-x86_64-foreign-object 1`] = ` +{ + "addresses": [ + { + "address": 4369, + "object": "bun", + }, + { + "address": 43981, + "object": "libc.so.6", + }, + { + "address": 8738, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 0, + ], + "is_canary": false, + "message": "Stack overflow", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v1-linux-x86_64-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v1-linux-x86_64-with-js-and-unknown-frames 1`] = ` +{ + "addresses": [ + { + "address": 4369, + "object": "bun", + }, + { + "address": 0, + "object": "js", + }, + { + "address": 0, + "object": "js", + }, + { + "address": 8738, + "object": "bun", + }, + { + "address": 0, + "object": "?", + }, + { + "address": 13107, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "t", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 0, + ], + "is_canary": false, + "message": "panic: reached unreachable code", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v1-linux-x86_64_baseline-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v1-macos-aarch64-oom 1`] = ` +{ + "addresses": [ + { + "address": 43690, + "object": "bun", + }, + { + "address": 48059, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 0, + ], + "is_canary": false, + "message": "Bun ran out of memory", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v1-macos-aarch64-panic-compressed 1`] = ` +{ + "addresses": [ + { + "address": 4096, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "i", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 0, + ], + "is_canary": false, + "message": "panic: Integer overflow in allocator", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v1-macos-aarch64-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v1-macos-aarch64-with-url-prefix 1`] = ` +{ + "addresses": [ + { + "address": 4660, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 0, + ], + "is_canary": false, + "message": "panic: reached unreachable code", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v1-macos-x86_64-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v1-macos-x86_64_baseline-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v1-windows-aarch64-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v1-windows-x86_64-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v1-windows-x86_64_baseline-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": false, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v2-linux-aarch64-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": true, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v2-linux-x86_64-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": true, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v2-linux-x86_64_baseline-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": true, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "linux", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v2-macos-aarch64-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": true, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v2-macos-x86_64-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": true, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v2-macos-x86_64_baseline-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": true, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "macos", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v2-windows-aarch64-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "aarch64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": true, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v2-windows-x86_64-error-reason 1`] = ` +{ + "addresses": [ + { + "address": 21930, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "b", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 0, + 0, + ], + "is_canary": true, + "message": "error: ENOENT: no such file or directory", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v2-windows-x86_64-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "x86_64", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": true, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; + +exports[`parse fixtures v2-windows-x86_64_baseline-segfault 1`] = ` +{ + "addresses": [ + { + "address": 1092404, + "object": "bun", + }, + { + "address": 2149718, + "object": "bun", + }, + { + "address": 3207032, + "object": "bun", + }, + ], + "arch": "x86_64_baseline", + "command": "r", + "commitish": "abc1234", + "cpu_flags": undefined, + "env_flags": undefined, + "features": [ + 3, + 7, + ], + "is_canary": true, + "message": "Segmentation fault at address 0x6EADBEEF", + "os": "windows", + "os_version": undefined, + "total_ram_mb": undefined, + "version": "1.1.30", +} +`; diff --git a/test/__snapshots__/symbolize.test.ts.snap b/test/__snapshots__/symbolize.test.ts.snap new file mode 100644 index 0000000..05da1f6 --- /dev/null +++ b/test/__snapshots__/symbolize.test.ts.snap @@ -0,0 +1,209 @@ +// Bun Snapshot v1, https://bun.sh/docs/test/snapshots + +exports[`symbolize fixtures filterAddresses reverts to original when all frames would be stripped 1`] = ` +{ + "addresses": [ + { + "function": "??", + "object": "bun", + "remapped": true, + "src": null, + }, + { + "function": "??", + "object": "bun", + "remapped": true, + "src": null, + }, + ], + "symbolizer_input": [ + "0x3e8", + "0x7d0", + ], +} +`; + +exports[`symbolize fixtures linux: stack starts with WTF::jscSignalHandler then unknown frames before real frames 1`] = ` +{ + "addresses": [ + { + "function": "JSC::JSValue::get", + "object": "bun", + "remapped": true, + "src": { + "file": "vendor/WebKit/Source/JavaScriptCore/runtime/JSCJSValueInlines.h", + "line": 1024, + }, + }, + { + "function": "Bun::ReadableStream::pipeTo", + "object": "bun", + "remapped": true, + "src": { + "file": "src/bun.js/bindings/webcore/ReadableStream.cpp", + "line": 88, + }, + }, + ], + "symbolizer_input": [ + "0x4309080", + "0x32f3f90", + "0x32f46f0", + ], +} +`; + +exports[`symbolize fixtures macos: typical llvm-symbolizer output, 3 bun frames 1`] = ` +{ + "addresses": [ + { + "function": "Bun::jsFunctionResolveSync", + "object": "bun", + "remapped": true, + "src": { + "file": "src/bun.js/bindings/ModuleLoader.cpp", + "line": 642, + }, + }, + { + "function": "JSC::callJSFunction", + "object": "bun", + "remapped": true, + "src": { + "file": "vendor/WebKit/Source/JavaScriptCore/runtime/JSFunction.cpp", + "line": 89, + }, + }, + { + "function": "src.bun.js.event_loop.EventLoop.tick", + "object": "bun", + "remapped": true, + "src": { + "file": "src/bun.js/event_loop.zig", + "line": 1281, + }, + }, + ], + "symbolizer_input": [ + "0x10228b888", + "0x10229b3e0", + "0x1018000d8", + ], +} +`; + +exports[`symbolize fixtures linux: bun frames interleaved with js and foreign-object frames 1`] = ` +{ + "addresses": [ + { + "function": "src.js.node.fs.NodeFS.readFile", + "object": "bun", + "remapped": true, + "src": { + "file": "src/js/node/fs.zig", + "line": 412, + }, + }, + { + "address": 0, + "object": "js", + "remapped": false, + }, + { + "address": 0, + "object": "js", + "remapped": false, + }, + { + "function": "src.bun.js.module_loader.ModuleLoader.transpileSourceCode", + "object": "bun", + "remapped": true, + "src": { + "file": "src/bun.js/module_loader.zig", + "line": 2048, + }, + }, + { + "address": 12345, + "object": "libc.so.6", + "remapped": false, + }, + { + "function": "main", + "object": "bun", + "remapped": true, + "src": { + "file": "src/main.zig", + "line": 42, + }, + }, + ], + "symbolizer_input": [ + "0x7d0000", + "0x800570", + "0x8312b0", + ], +} +`; + +exports[`symbolize fixtures leading panic/assert frames are stripped, trailing ?? frames are stripped 1`] = ` +{ + "addresses": [ + { + "function": "src.string_immutable.eqlLong", + "object": "bun", + "remapped": true, + "src": { + "file": "src/string_immutable.zig", + "line": 55, + }, + }, + { + "function": "src.resolver.resolver.Resolver.resolve", + "object": "bun", + "remapped": true, + "src": { + "file": "src/resolver/resolver.zig", + "line": 1820, + }, + }, + ], + "symbolizer_input": [ + "0x457", + "0x8ae", + "0xd05", + "0x115c", + "0x15b3", + ], +} +`; + +exports[`symbolize fixtures windows: pdb-addr2line backslash paths and ??:0 for one frame 1`] = ` +{ + "addresses": [ + { + "function": "uv__process_reap", + "object": "bun", + "remapped": true, + "src": { + "file": "vendor/libuv/src/win/process.c", + "line": 812, + }, + }, + { + "function": "src.install.install.PackageManager.installPackages", + "object": "bun", + "remapped": true, + "src": { + "file": "src/install/install.zig", + "line": 9012, + }, + }, + ], + "symbolizer_input": [ + "0xe1e241", + "0xe4d880", + "0x400", + ], +} +`; diff --git a/test/fixtures/parse/real/real-001-macos-aarch64-1.3.11-segv-lg-unk.json b/test/fixtures/parse/real/real-001-macos-aarch64-1.3.11-segv-lg-unk.json new file mode 100644 index 0000000..77d6a55 --- /dev/null +++ b/test/fixtures/parse/real/real-001-macos-aarch64-1.3.11-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-001-macos-aarch64-1.3.11-segv-lg-unk", + "source_issue": 28925, + "input": "1.3.11/Ma1af24e28ggEggggC____+uwqF_mo01/C+p21/Cmo01/Cu78r/Cu5i+oC+mk0wC25ozwC_27+1/C27+1/Cmo01/Cu78r/C+25xwCmj4+0CA2AA" +} diff --git a/test/fixtures/parse/real/real-002-macos-aarch64-1.3.11-panic-lg-unk.json b/test/fixtures/parse/real/real-002-macos-aarch64-1.3.11-panic-lg-unk.json new file mode 100644 index 0000000..bbb61f9 --- /dev/null +++ b/test/fixtures/parse/real/real-002-macos-aarch64-1.3.11-panic-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-002-macos-aarch64-1.3.11-panic-lg-unk", + "source_issue": 28557, + "input": "1.3.11/Mt1af24e28gjmQggggCmhg89Cul52+C+/3vI____+nz6K2tmlNup70UmttI+070P2uiiQ+/y6Km/p6K__A0eNpzVHDW1lZIrUhOLSjJzM9TyE9OLi0qSk0BAF13CGE" +} diff --git a/test/fixtures/parse/real/real-003-macos-aarch64-1.3.11-segv-sm-unk.json b/test/fixtures/parse/real/real-003-macos-aarch64-1.3.11-segv-sm-unk.json new file mode 100644 index 0000000..e23e852 --- /dev/null +++ b/test/fixtures/parse/real/real-003-macos-aarch64-1.3.11-segv-sm-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-003-macos-aarch64-1.3.11-segv-sm-unk", + "source_issue": 28294, + "input": "1.3.11/M_1a2743b6mgkgEuhooC_u3z6pBu3z6pBu4xza+rnoV__A2km73lb1r6yzvC" +} diff --git a/test/fixtures/parse/real/real-004-macos-aarch64-1.3.11-segv-md-unk.json b/test/fixtures/parse/real/real-004-macos-aarch64-1.3.11-segv-md-unk.json new file mode 100644 index 0000000..0edc347 --- /dev/null +++ b/test/fixtures/parse/real/real-004-macos-aarch64-1.3.11-segv-md-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-004-macos-aarch64-1.3.11-segv-md-unk", + "source_issue": 28182, + "input": "1.3.11/M_1a2743b6mgkgE+hogD_+gs6T+gs6T2px0Qu25gMunxlL21hmqBu5wzF2sxyF__A2AgE" +} diff --git a/test/fixtures/parse/real/real-005-macos-aarch64-1.3.6-panic-md-unk.json b/test/fixtures/parse/real/real-005-macos-aarch64-1.3.6-panic-md-unk.json new file mode 100644 index 0000000..e278a57 --- /dev/null +++ b/test/fixtures/parse/real/real-005-macos-aarch64-1.3.6-panic-md-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-005-macos-aarch64-1.3.6-panic-md-unk", + "source_issue": 26289, + "input": "1.3.6/Ma1d530ed9gDqgggC2zr+3CukulGmskkGmogsF+wzwiBm752Eu519E2mhB+oX__A0eNorzStKTUzOSEzKSQUAG3AEew" +} diff --git a/test/fixtures/parse/real/real-006-macos-aarch64-1.3.2-ill-lg-unk.json b/test/fixtures/parse/real/real-006-macos-aarch64-1.3.2-ill-lg-unk.json new file mode 100644 index 0000000..ff3aa21 --- /dev/null +++ b/test/fixtures/parse/real/real-006-macos-aarch64-1.3.2-ill-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-006-macos-aarch64-1.3.2-ill-lg-unk", + "source_issue": 25123, + "input": "1.3.2/M_1b131639ggBz/7v//B_u135Wmkq3hB2699sB_________m7m++Cm4q5iC2kilrCmtknxCunrslB__A3C525knwD" +} diff --git a/test/fixtures/parse/real/real-007-macos-x86_64-1.3.2-segv-lg-unk.json b/test/fixtures/parse/real/real-007-macos-x86_64-1.3.2-segv-lg-unk.json new file mode 100644 index 0000000..9ed9d84 --- /dev/null +++ b/test/fixtures/parse/real/real-007-macos-x86_64-1.3.2-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-007-macos-x86_64-1.3.2-segv-lg-unk", + "source_issue": 24886, + "input": "1.3.2/ma1b131639AgggwggC___________k800qDk800qD6rysqDyu0xqCm/16zCwlz5zC8mm5zC_8g+0qDA2AA" +} diff --git a/test/fixtures/parse/real/real-008-macos-x86_64-1.3.0-segv-md-unk.json b/test/fixtures/parse/real/real-008-macos-x86_64-1.3.0-segv-md-unk.json new file mode 100644 index 0000000..7664d6b --- /dev/null +++ b/test/fixtures/parse/real/real-008-macos-x86_64-1.3.0-segv-md-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-008-macos-x86_64-1.3.0-segv-md-unk", + "source_issue": 23944, + "input": "1.3.0/mn1b0a6fec4tBugkwggC__mrj9oCw0v6oC852poC+9v75C4likwBojxqes75qemjgyoB82rqe___A2Ayz4H" +} diff --git a/test/fixtures/parse/real/real-009-macos-aarch64-1.3.11-segv-lg-unk.json b/test/fixtures/parse/real/real-009-macos-aarch64-1.3.11-segv-lg-unk.json new file mode 100644 index 0000000..34f8956 --- /dev/null +++ b/test/fixtures/parse/real/real-009-macos-aarch64-1.3.11-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-009-macos-aarch64-1.3.11-segv-lg-unk", + "source_issue": 28917, + "input": "1.3.11/Mn1af24e28ijEugogC____________________A2Cg//uyqD" +} diff --git a/test/fixtures/parse/real/real-010-macos-aarch64-1.3.2-segv-lg-unk.json b/test/fixtures/parse/real/real-010-macos-aarch64-1.3.2-segv-lg-unk.json new file mode 100644 index 0000000..d41df3a --- /dev/null +++ b/test/fixtures/parse/real/real-010-macos-aarch64-1.3.2-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-010-macos-aarch64-1.3.2-segv-lg-unk", + "source_issue": 28781, + "input": "1.3.2/M_1b131639Az+7v//B_+hvzhC+hvzhC+741hC+44nhCun2nhC284mhC+xlnhC2/3mhCu6zwhCmj8zhCmv2nhCuh2nhCup1ilBmyhxjB2h7iFm888jB223wEuolB+rbA2AQ" +} diff --git a/test/fixtures/parse/real/real-011-macos-aarch64-1.3.11-segv-lg-unk.json b/test/fixtures/parse/real/real-011-macos-aarch64-1.3.11-segv-lg-unk.json new file mode 100644 index 0000000..64eefc5 --- /dev/null +++ b/test/fixtures/parse/real/real-011-macos-aarch64-1.3.11-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-011-macos-aarch64-1.3.11-segv-lg-unk", + "source_issue": 28153, + "input": "1.3.11/M_1a2743b6mgkgE+hogD_2263pBu9iza+4iiiBm/y0lBmm7zlB______________A2qm3xuzD2nx0s2D" +} diff --git a/test/fixtures/parse/real/real-012-macos-aarch64-1.3.11-segv-lg-unk.json b/test/fixtures/parse/real/real-012-macos-aarch64-1.3.11-segv-lg-unk.json new file mode 100644 index 0000000..47fb5b1 --- /dev/null +++ b/test/fixtures/parse/real/real-012-macos-aarch64-1.3.11-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-012-macos-aarch64-1.3.11-segv-lg-unk", + "source_issue": 28139, + "input": "1.3.11/M_1a2743b6mgkgE+hogD_22z1pB+0otiB+lz1sBujh7tB__u7qtlD+i5rwCmv340C+q14rB__u7qtlD2983oCmtywtC+r/ktB2j0oyBu14gMmim6NA2qnx5ljDu20xuoD" +} diff --git a/test/fixtures/parse/real/real-013-macos-aarch64-1.3.11-segv-lg-unk.json b/test/fixtures/parse/real/real-013-macos-aarch64-1.3.11-segv-lg-unk.json new file mode 100644 index 0000000..b931774 --- /dev/null +++ b/test/fixtures/parse/real/real-013-macos-aarch64-1.3.11-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-013-macos-aarch64-1.3.11-segv-lg-unk", + "source_issue": 28024, + "input": "1.3.11/M_101210fbmgkgE+hogD_2+x1pB22ntiBuqx1sB+n/6tB____u7qtlDuoxvwCu+uvwC+/1rwCml140Cu2z4rB__u7qtlDmty3oCmmqwtCA2im3xuoDim4ltuB" +} diff --git a/test/fixtures/parse/real/real-014-macos-aarch64-1.3.10-segv-lg-unk.json b/test/fixtures/parse/real/real-014-macos-aarch64-1.3.10-segv-lg-unk.json new file mode 100644 index 0000000..2794f3a --- /dev/null +++ b/test/fixtures/parse/real/real-014-macos-aarch64-1.3.10-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-014-macos-aarch64-1.3.10-segv-lg-unk", + "source_issue": 28009, + "input": "1.3.10/Ma130e609egjEugggC____ut27nB+gy8nB+z0+nBu1gsCulr2Fuiz1kBu0miFuv0iFutqiF279oF2hrB+giB__A2A4M" +} diff --git a/test/fixtures/parse/real/real-015-macos-aarch64-1.3.11-segv-lg-unk.json b/test/fixtures/parse/real/real-015-macos-aarch64-1.3.11-segv-lg-unk.json new file mode 100644 index 0000000..21bed79 --- /dev/null +++ b/test/fixtures/parse/real/real-015-macos-aarch64-1.3.11-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-015-macos-aarch64-1.3.11-segv-lg-unk", + "source_issue": 27790, + "input": "1.3.11/M_1548644amgkgE+hogD_mqh6jBmqh6jBm8+xjB_moq0lDmoq0lDmoq0lDmoq0lDmoq0lDmoq0lDmoq0lDmoq0lDu7yqlD+17owCm9910Cuqi2rB__u7yqlDA2AwC" +} diff --git a/test/fixtures/parse/real/real-016-macos-aarch64-1.3.11-segv-lg-unk.json b/test/fixtures/parse/real/real-016-macos-aarch64-1.3.11-segv-lg-unk.json new file mode 100644 index 0000000..9032ff7 --- /dev/null +++ b/test/fixtures/parse/real/real-016-macos-aarch64-1.3.11-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-016-macos-aarch64-1.3.11-segv-lg-unk", + "source_issue": 27788, + "input": "1.3.11/M_1548644amgkgE+hogD_uut1pB+vjoLuszriB26puTm/2hkButw4jBuv+xjB____u7yqlD+17owCm9910Cuqi2rB__u7yqlDml70oCA2o259t1D219pkkD" +} diff --git a/test/fixtures/parse/real/real-017-macos-aarch64-1.3.10-segv-lg-unk.json b/test/fixtures/parse/real/real-017-macos-aarch64-1.3.10-segv-lg-unk.json new file mode 100644 index 0000000..7518aea --- /dev/null +++ b/test/fixtures/parse/real/real-017-macos-aarch64-1.3.10-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-017-macos-aarch64-1.3.10-segv-lg-unk", + "source_issue": 27718, + "input": "1.3.10/M_189a8aa9mgkgE+hooC____________urq+jDm28znCmzgntB+jk3Nm55sK++tlpB+394E2p+3EA2AQ" +} diff --git a/test/fixtures/parse/real/real-018-macos-aarch64-1.3.10-segv-lg-unk.json b/test/fixtures/parse/real/real-018-macos-aarch64-1.3.10-segv-lg-unk.json new file mode 100644 index 0000000..6920fc3 --- /dev/null +++ b/test/fixtures/parse/real/real-018-macos-aarch64-1.3.10-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-018-macos-aarch64-1.3.10-segv-lg-unk", + "source_issue": 27661, + "input": "1.3.10/M_189a8aa9mgEuhogC_23m3oBmvsvoBm/uvtB________________A23231jqD9h19td" +} diff --git a/test/fixtures/parse/real/real-019-macos-aarch64-1.3.9-segv-lg-unk.json b/test/fixtures/parse/real/real-019-macos-aarch64-1.3.9-segv-lg-unk.json new file mode 100644 index 0000000..265b032 --- /dev/null +++ b/test/fixtures/parse/real/real-019-macos-aarch64-1.3.9-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-019-macos-aarch64-1.3.9-segv-lg-unk", + "source_issue": 27350, + "input": "1.3.9/Ma1cf6cdbbijE+hooC____u/ognB+ykhnB+onjnB2uorC2qwsNuhptlB_2utr+Currh+CuqykiCm++6mCu1sqlB_2utr+C2utr+Currh+CA2Ag00P" +} diff --git a/test/fixtures/parse/real/real-020-macos-aarch64-1.3.9-segv-lg-unk.json b/test/fixtures/parse/real/real-020-macos-aarch64-1.3.9-segv-lg-unk.json new file mode 100644 index 0000000..ad6467a --- /dev/null +++ b/test/fixtures/parse/real/real-020-macos-aarch64-1.3.9-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-020-macos-aarch64-1.3.9-segv-lg-unk", + "source_issue": 27000, + "input": "1.3.9/M_2d5628dbmgEuhogC_+mmkhCuqmihC27lihCmwkihC2uwzoC+jtmjC__________urjj+CuoqmiC264tEA2AogB" +} diff --git a/test/fixtures/parse/real/real-021-macos-aarch64-1.3.9-segv-lg-unk.json b/test/fixtures/parse/real/real-021-macos-aarch64-1.3.9-segv-lg-unk.json new file mode 100644 index 0000000..afb08a2 --- /dev/null +++ b/test/fixtures/parse/real/real-021-macos-aarch64-1.3.9-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-021-macos-aarch64-1.3.9-segv-lg-unk", + "source_issue": 26984, + "input": "1.3.9/M_2d5628dbmgkgEuhogC_ms920Bui2q0Bum5p0Bm+j10B2k800B+okj1B+sw+0Bu26jjC___________A2AgD" +} diff --git a/test/fixtures/parse/real/real-022-macos-aarch64-1.3.9-segv-lg-unk.json b/test/fixtures/parse/real/real-022-macos-aarch64-1.3.9-segv-lg-unk.json new file mode 100644 index 0000000..a4381c6 --- /dev/null +++ b/test/fixtures/parse/real/real-022-macos-aarch64-1.3.9-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-022-macos-aarch64-1.3.9-segv-lg-unk", + "source_issue": 26843, + "input": "1.3.9/M_2d5628dbmgkgE+hogC_m/lnhCm79hhCu54khCu7o2gC2rm2gC+rp1gC2u11gC2to1gCmpj/gCm/qihCuzm2gC2or0gC+ukihCuv895Bm7325B____A2AgB" +} diff --git a/test/fixtures/parse/real/real-023-macos-aarch64-1.3.6-segv-lg-unk.json b/test/fixtures/parse/real/real-023-macos-aarch64-1.3.6-segv-lg-unk.json new file mode 100644 index 0000000..a33993b --- /dev/null +++ b/test/fixtures/parse/real/real-023-macos-aarch64-1.3.6-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-023-macos-aarch64-1.3.6-segv-lg-unk", + "source_issue": 26572, + "input": "1.3.6/Mn1d530ed9i3Hu0ooC_2x/tlB_____+n9wlB_uqt35Cuqt35C24k35Cu7ot5CumrogC+uiomBu21vImnhja+wzwiBmq1ia_A2AQ" +} diff --git a/test/fixtures/parse/real/real-024-macos-aarch64-1.3.6-segv-lg-unk.json b/test/fixtures/parse/real/real-024-macos-aarch64-1.3.6-segv-lg-unk.json new file mode 100644 index 0000000..3931f74 --- /dev/null +++ b/test/fixtures/parse/real/real-024-macos-aarch64-1.3.6-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-024-macos-aarch64-1.3.6-segv-lg-unk", + "source_issue": 26572, + "input": "1.3.6/Mn1d530ed9i3Hu0ooC_mj3yrCmj3yrC+g+tlB__24stlBujq2jB_uqt35C_+2i35Cu7ot5CumrogCm8y9kBuq/+kB2t8qlBuntrlB278+kB_A22jlgkgB6kwsr9C" +} diff --git a/test/fixtures/parse/real/real-025-macos-aarch64-1.3.7-segv-lg-unk.json b/test/fixtures/parse/real/real-025-macos-aarch64-1.3.7-segv-lg-unk.json new file mode 100644 index 0000000..91c87d5 --- /dev/null +++ b/test/fixtures/parse/real/real-025-macos-aarch64-1.3.7-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-025-macos-aarch64-1.3.7-segv-lg-unk", + "source_issue": 26525, + "input": "1.3.7/Ma1ba42621gjogQgwooC_+n/luBu7k5/B+/z4/Bmo0/jBuyvhkB+6+hC+z/tFu8rkjBu3n4E2x14Euwr4E+nj/E2ptB+okB__A2AK" +} diff --git a/test/fixtures/parse/real/real-026-macos-aarch64-1.3.5-segv-lg-unk.json b/test/fixtures/parse/real/real-026-macos-aarch64-1.3.5-segv-lg-unk.json new file mode 100644 index 0000000..a94eea8 --- /dev/null +++ b/test/fixtures/parse/real/real-026-macos-aarch64-1.3.5-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-026-macos-aarch64-1.3.5-segv-lg-unk", + "source_issue": 25772, + "input": "1.3.5/M_11e86cebmgE+hooC_282pgC+/kogC2wkogC2pjogC2n82mC267s4B_____________A2Aof" +} diff --git a/test/fixtures/parse/real/real-027-macos-aarch64-1.3.5-segv-lg-unk.json b/test/fixtures/parse/real/real-027-macos-aarch64-1.3.5-segv-lg-unk.json new file mode 100644 index 0000000..be330b7 --- /dev/null +++ b/test/fixtures/parse/real/real-027-macos-aarch64-1.3.5-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-027-macos-aarch64-1.3.5-segv-lg-unk", + "source_issue": 25610, + "input": "1.3.5/Mn11e86cebg2EigggC_uyn5/BmhtlgCuk8qgCu208/Bm13qgC2z0qgCuzzqgC2yr7/B23l7/ButhlgCm2pogCmik8/B2qq6/BuojogC+430nB+810nB2p3qoBm1osoB+x21nBA2AgB" +} diff --git a/test/fixtures/parse/real/real-028-macos-aarch64-1.3.3-segv-lg-unk.json b/test/fixtures/parse/real/real-028-macos-aarch64-1.3.3-segv-lg-unk.json new file mode 100644 index 0000000..a58e77c --- /dev/null +++ b/test/fixtures/parse/real/real-028-macos-aarch64-1.3.3-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-028-macos-aarch64-1.3.3-segv-lg-unk", + "source_issue": 25393, + "input": "1.3.3/M_1274e01ciDzu3/+/D_2009/B+3i8/B2oi8/B2hh8/B+i7/uC278omBu4h6S+l3igB+opmrB_____m72u9Cmj2hhC2vttpCm4vvvCu5h0jBA2Aof" +} diff --git a/test/fixtures/parse/real/real-029-macos-aarch64-1.3.2-segv-sm-unk.json b/test/fixtures/parse/real/real-029-macos-aarch64-1.3.2-segv-sm-unk.json new file mode 100644 index 0000000..019cacf --- /dev/null +++ b/test/fixtures/parse/real/real-029-macos-aarch64-1.3.2-segv-sm-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-029-macos-aarch64-1.3.2-segv-sm-unk", + "source_issue": 25229, + "input": "1.3.2/MP1b131639Ag0ggQ_u5u+Du5u+Dm7+zEuolB+rb__A2swCw/q0t+D" +} diff --git a/test/fixtures/parse/real/real-030-macos-aarch64-1.3.0-panic-lg-unk.json b/test/fixtures/parse/real/real-030-macos-aarch64-1.3.0-panic-lg-unk.json new file mode 100644 index 0000000..1b1b8dd --- /dev/null +++ b/test/fixtures/parse/real/real-030-macos-aarch64-1.3.0-panic-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-030-macos-aarch64-1.3.0-panic-lg-unk", + "source_issue": 25166, + "input": "1.3.0/Mt1b0a6fecgwhEgggQ+xjH+tpg+C2u8rrB________m6yB2wrqF+vs+ImomwjBu78oE+ns1E+xyB+2oB_A0eNpzVHDW1lZIrUhOLSjJzM9TyE9OLi0qSk0BAF13CGE" +} diff --git a/test/fixtures/parse/real/real-031-macos-aarch64-1.3.3-segv-lg-unk.json b/test/fixtures/parse/real/real-031-macos-aarch64-1.3.3-segv-lg-unk.json new file mode 100644 index 0000000..c100d33 --- /dev/null +++ b/test/fixtures/parse/real/real-031-macos-aarch64-1.3.3-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-031-macos-aarch64-1.3.3-segv-lg-unk", + "source_issue": 25109, + "input": "1.3.3/Mr1274e01cAggkgB_+y5k8C+5z4Su+nlNuwjnKug1mK+3zkI+k62FmjlvBuzhpZm8uvbuwxvbu77mkB_23x49C_23x49C23x49Cm72u9C2m+hhCA2yI5+y6n6D" +} diff --git a/test/fixtures/parse/real/real-032-macos-aarch64-1.3.1-segv-lg-unk.json b/test/fixtures/parse/real/real-032-macos-aarch64-1.3.1-segv-lg-unk.json new file mode 100644 index 0000000..3db64a3 --- /dev/null +++ b/test/fixtures/parse/real/real-032-macos-aarch64-1.3.1-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-032-macos-aarch64-1.3.1-segv-lg-unk", + "source_issue": 25054, + "input": "1.3.1/M_189fa0f3ggBz+7v//B_2o9rhC+rrqhC28qqhC21pqhCus0mrC2p1mrC+p1p5B____________A2Aof" +} diff --git a/test/fixtures/parse/real/real-033-macos-aarch64-1.3.1-segv-lg-unk.json b/test/fixtures/parse/real/real-033-macos-aarch64-1.3.1-segv-lg-unk.json new file mode 100644 index 0000000..5096769 --- /dev/null +++ b/test/fixtures/parse/real/real-033-macos-aarch64-1.3.1-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-033-macos-aarch64-1.3.1-segv-lg-unk", + "source_issue": 25009, + "input": "1.3.1/Mr189fa0f34gBuggQ____________________A2Cg+/+6rD" +} diff --git a/test/fixtures/parse/real/real-034-linux-x86_64-1.3.12-panic-lg-unk.json b/test/fixtures/parse/real/real-034-linux-x86_64-1.3.12-panic-lg-unk.json new file mode 100644 index 0000000..06e2b28 --- /dev/null +++ b/test/fixtures/parse/real/real-034-linux-x86_64-1.3.12-panic-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-034-linux-x86_64-1.3.12-panic-lg-unk", + "source_issue": 29145, + "input": "1.3.12/la1700fc11gigBgwggCwv2q2Cm1p8oD6pq8oD8z8ooEqg6u4D087sqE_spzykEm8yqkE+q74yF2kp12F_2yqykEm8yqkEi/j02Fo52z2F4g/p7F80ojmEu2xi+Col9yuDA0eNodyMENgCAMBdBV/gDGHbx6dYJSamxCKKlFHN/g8b0NOz10sGsLyMvSQq1i0I243EZdkHpA4y8uQi4ZSU5zmcvWyzRcKK8fXeUb/A" +} diff --git a/test/fixtures/parse/real/real-035-linux-x86_64_baseline-1.3.11-segv-md.json b/test/fixtures/parse/real/real-035-linux-x86_64_baseline-1.3.11-segv-md.json new file mode 100644 index 0000000..e6407e1 --- /dev/null +++ b/test/fixtures/parse/real/real-035-linux-x86_64_baseline-1.3.11-segv-md.json @@ -0,0 +1,5 @@ +{ + "description": "real-035-linux-x86_64_baseline-1.3.11-segv-md", + "source_issue": 28990, + "input": "1.3.11/B_10d72d5amgggEuhogC4g5glF+ypRt81x3Fu48x3F+p0j3F8ztt3Fmoyt3FokghlFmqlnB2muqCA2829Bh+/z2Y" +} diff --git a/test/fixtures/parse/real/real-036-linux-x86_64_baseline-1.3.11-ill-lg.json b/test/fixtures/parse/real/real-036-linux-x86_64_baseline-1.3.11-ill-lg.json new file mode 100644 index 0000000..2139755 --- /dev/null +++ b/test/fixtures/parse/real/real-036-linux-x86_64_baseline-1.3.11-ill-lg.json @@ -0,0 +1,5 @@ +{ + "description": "real-036-linux-x86_64_baseline-1.3.11-ill-lg", + "source_issue": 28723, + "input": "1.3.11/B_1759ce80AggggC+ypRyrnvsGozzvsGqyissGqijssGgyzvkFmh+/jFky0qjF2p0pjFktvoBq1zlvEktvoBiqzlvE02kj6Cozqi6Cy8wK0oxK6ioi6CA3A+jo4sG" +} diff --git a/test/fixtures/parse/real/real-037-linux-x86_64-1.3.11-panic-md.json b/test/fixtures/parse/real/real-037-linux-x86_64-1.3.11-panic-md.json new file mode 100644 index 0000000..6f224e1 --- /dev/null +++ b/test/fixtures/parse/real/real-037-linux-x86_64-1.3.11-panic-md.json @@ -0,0 +1,5 @@ +{ + "description": "real-037-linux-x86_64-1.3.11-panic-md", + "source_issue": 28648, + "input": "1.3.11/lr29e93bfagQggggCw/qo2C+mq2iDghr7gEq3nrsEqhkhoE0/p2iDk/x72D4444rEw1l72DksllBA0eNoLzUtOLE3PKFFIrUhOLSjJzM9TKM/IzElVyEjMS8nJzEtXKMVQAQAURxQ7" +} diff --git a/test/fixtures/parse/real/real-038-linux-x86_64-1.3.11-segv-lg-unk.json b/test/fixtures/parse/real/real-038-linux-x86_64-1.3.11-segv-lg-unk.json new file mode 100644 index 0000000..ee66342 --- /dev/null +++ b/test/fixtures/parse/real/real-038-linux-x86_64-1.3.11-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-038-linux-x86_64-1.3.11-segv-lg-unk", + "source_issue": 28367, + "input": "1.3.11/lt1af24e28gGgkggC48hp5E+++Pkvl+5D_izrhkE4othkEms15jEs9owsFqlkzrEqqsytD4i0ytDu31ytD2xtppDixt7pDm5jpkD44+0rEsjt67Cw7mr8C6l/+1Cov1+1CA2AggB" +} diff --git a/test/fixtures/parse/real/real-039-linux-x86_64_baseline-1.3.11-segv-sm.json b/test/fixtures/parse/real/real-039-linux-x86_64_baseline-1.3.11-segv-sm.json new file mode 100644 index 0000000..1b8332e --- /dev/null +++ b/test/fixtures/parse/real/real-039-linux-x86_64_baseline-1.3.11-segv-sm.json @@ -0,0 +1,5 @@ +{ + "description": "real-039-linux-x86_64_baseline-1.3.11-segv-sm", + "source_issue": 28274, + "input": "1.3.11/Bn1af24e28i2HqgogC4ktn4E+++Pwzv5lD2zi45EA2Ag1pF" +} diff --git a/test/fixtures/parse/real/real-040-linux-x86_64_baseline-1.3.10-segv-xs.json b/test/fixtures/parse/real/real-040-linux-x86_64_baseline-1.3.10-segv-xs.json new file mode 100644 index 0000000..f8663f5 --- /dev/null +++ b/test/fixtures/parse/real/real-040-linux-x86_64_baseline-1.3.10-segv-xs.json @@ -0,0 +1,5 @@ +{ + "description": "real-040-linux-x86_64_baseline-1.3.10-segv-xs", + "source_issue": 28203, + "input": "1.3.10/Bn130e609ei2Fq0ogC40guyE+++PA2Agt+E" +} diff --git a/test/fixtures/parse/real/real-041-linux-x86_64_baseline-1.3.10-fpe-sm.json b/test/fixtures/parse/real/real-041-linux-x86_64_baseline-1.3.10-fpe-sm.json new file mode 100644 index 0000000..cfc047c --- /dev/null +++ b/test/fixtures/parse/real/real-041-linux-x86_64_baseline-1.3.10-fpe-sm.json @@ -0,0 +1,5 @@ +{ + "description": "real-041-linux-x86_64_baseline-1.3.10-fpe-sm", + "source_issue": 27951, + "input": "1.3.10/B_130e609ekgYuhooC+qlPs32xmF4++xmF+vxgmF8xmtmFmtstmFo8nuyEgt7iBA5As3u3lE" +} diff --git a/test/fixtures/parse/real/real-042-linux-x86_64_baseline-1.3.9-segv-lg-unk.json b/test/fixtures/parse/real/real-042-linux-x86_64_baseline-1.3.9-segv-lg-unk.json new file mode 100644 index 0000000..8509f59 --- /dev/null +++ b/test/fixtures/parse/real/real-042-linux-x86_64_baseline-1.3.9-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-042-linux-x86_64_baseline-1.3.9-segv-lg-unk", + "source_issue": 27673, + "input": "1.3.9/Ba1cf6cdbbg2kBqlooC0/h4wEm6yXmpu8mDu5tq1DopjzmFk430mFuk80mFkx4ugF__m8l0/D0rxs9E8ttzgF64qomEy8vy/Co+327C008hhEs6r96Cup796C0l496CA2AA" +} diff --git a/test/fixtures/parse/real/real-043-linux-x86_64-1.3.8-segv-sm.json b/test/fixtures/parse/real/real-043-linux-x86_64-1.3.8-segv-sm.json new file mode 100644 index 0000000..46c3d5c --- /dev/null +++ b/test/fixtures/parse/real/real-043-linux-x86_64-1.3.8-segv-sm.json @@ -0,0 +1,5 @@ +{ + "description": "real-043-linux-x86_64-1.3.8-segv-sm", + "source_issue": 27320, + "input": "1.3.8/la1b64edcbijEugggC6lglxE+ypRy3msBu48FA2k18Bg92+sjC" +} diff --git a/test/fixtures/parse/real/real-044-linux-x86_64-1.3.7-fpe-md.json b/test/fixtures/parse/real/real-044-linux-x86_64-1.3.7-fpe-md.json new file mode 100644 index 0000000..1c817f7 --- /dev/null +++ b/test/fixtures/parse/real/real-044-linux-x86_64-1.3.7-fpe-md.json @@ -0,0 +1,5 @@ +{ + "description": "real-044-linux-x86_64-1.3.7-fpe-md", + "source_issue": 27312, + "input": "1.3.7/lt1ba42621iDugggC+ypRst88jF4qk9jF+5hsjF8qs4jFmkx4jF+5trwEmqlnB2muqCA5A846ukE" +} diff --git a/test/fixtures/parse/real/real-045-linux-x86_64_baseline-1.3.5-panic-lg-unk.json b/test/fixtures/parse/real/real-045-linux-x86_64_baseline-1.3.5-panic-lg-unk.json new file mode 100644 index 0000000..590819d --- /dev/null +++ b/test/fixtures/parse/real/real-045-linux-x86_64_baseline-1.3.5-panic-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-045-linux-x86_64_baseline-1.3.5-panic-lg-unk", + "source_issue": 27279, + "input": "1.3.5/B_11e86cebGugooigDw6891Cyomq9C+vj/3D_8mms/D8mms/D_y9us/D8mms/D___0rsk/Dqli3jF4spztFihrh1F4ophiE__0rsk/DA0eNpLTy0pSsxLyc/V0FRIS8zMSU1RKMlXKCjKL8tMSVVIzSspyi+oBAACsw3l" +} diff --git a/test/fixtures/parse/real/real-046-linux-x86_64-1.3.6-segv-xs.json b/test/fixtures/parse/real/real-046-linux-x86_64-1.3.6-segv-xs.json new file mode 100644 index 0000000..6e73928 --- /dev/null +++ b/test/fixtures/parse/real/real-046-linux-x86_64-1.3.6-segv-xs.json @@ -0,0 +1,5 @@ +{ + "description": "real-046-linux-x86_64-1.3.6-segv-xs", + "source_issue": 26768, + "input": "1.3.6/l_1d530ed9G+wooC6z/ovEA2AA" +} diff --git a/test/fixtures/parse/real/real-047-linux-x86_64_baseline-1.3.8-segv-md-unk.json b/test/fixtures/parse/real/real-047-linux-x86_64_baseline-1.3.8-segv-md-unk.json new file mode 100644 index 0000000..d0a27a6 --- /dev/null +++ b/test/fixtures/parse/real/real-047-linux-x86_64_baseline-1.3.8-segv-md-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-047-linux-x86_64_baseline-1.3.8-segv-md-unk", + "source_issue": 26635, + "input": "1.3.8/B_1b64edcbAAm6yXu68jgE2v5jgE6h2jgE84yjgE6uwjgE6xoj1CqpqQ_A2+//73Bhnz+rhB" +} diff --git a/test/fixtures/parse/real/real-048-linux-aarch64-1.3.7-segv-lg-unk.json b/test/fixtures/parse/real/real-048-linux-aarch64-1.3.7-segv-lg-unk.json new file mode 100644 index 0000000..1f13d6e --- /dev/null +++ b/test/fixtures/parse/real/real-048-linux-aarch64-1.3.7-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-048-linux-aarch64-1.3.7-segv-lg-unk", + "source_issue": 26540, + "input": "1.3.7/Ln1ba42621iHuggoCm4gjpEutE+khh8Dus6p7E2+9j9DmsmlhEuwhlhE2vllhEuwhlhE_+j6q8D+j6q8D+j6q8Dm8/g8Dm4gijF+5ounF+wi6+D__m8/g8DA2+//DgggixnB" +} diff --git a/test/fixtures/parse/real/real-049-linux-x86_64-1.3.6-panic-sm.json b/test/fixtures/parse/real/real-049-linux-x86_64-1.3.6-panic-sm.json new file mode 100644 index 0000000..95d9609 --- /dev/null +++ b/test/fixtures/parse/real/real-049-linux-x86_64-1.3.6-panic-sm.json @@ -0,0 +1,5 @@ +{ + "description": "real-049-linux-x86_64-1.3.6-panic-sm", + "source_issue": 26236, + "input": "1.3.6/lI1d530ed9AgggggCwml71Cuy277Ck3v6hDmqlnB2muqCA0eNpzLC5OLSrJzM9TSEvMzCktSrVScK0oSE0uSU1RyE0tSUxJLElUKMlXSEpVKE4tAQCXxBEE" +} diff --git a/test/fixtures/parse/real/real-050-linux-x86_64_baseline-1.3.6-ill-lg-unk.json b/test/fixtures/parse/real/real-050-linux-x86_64_baseline-1.3.6-ill-lg-unk.json new file mode 100644 index 0000000..a0fc72c --- /dev/null +++ b/test/fixtures/parse/real/real-050-linux-x86_64_baseline-1.3.6-ill-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-050-linux-x86_64_baseline-1.3.6-ill-lg-unk", + "source_issue": 26071, + "input": "1.3.6/Bn1d530ed9imGugggigD+++P__67/0/D_msnt/DwujpiFkuo/mFq7lqqFuup+uF49kiiE__msnt/DwujpiFk1n/mFm+kxjE6j2xoE62oihD60k5+CA3Ao7vggE" +} diff --git a/test/fixtures/parse/real/real-051-linux-x86_64-1.3.2-segv-md.json b/test/fixtures/parse/real/real-051-linux-x86_64-1.3.2-segv-md.json new file mode 100644 index 0000000..86c009a --- /dev/null +++ b/test/fixtures/parse/real/real-051-linux-x86_64-1.3.2-segv-md.json @@ -0,0 +1,5 @@ +{ + "description": "real-051-linux-x86_64-1.3.2-segv-md", + "source_issue": 25265, + "input": "1.3.2/ln1b1316394tBqggQkx5pxE+xyQ2u5hiFgsyhiF2w2giFs8qw6Eu5xtpF+rg7pFmpttlFu8/pxEksllBA2AgF" +} diff --git a/test/fixtures/parse/real/real-052-linux-x86_64-1.3.2-segv-sm-unk.json b/test/fixtures/parse/real/real-052-linux-x86_64-1.3.2-segv-sm-unk.json new file mode 100644 index 0000000..8af306a --- /dev/null +++ b/test/fixtures/parse/real/real-052-linux-x86_64-1.3.2-segv-sm-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-052-linux-x86_64-1.3.2-segv-sm-unk", + "source_issue": 24734, + "input": "1.3.2/lP1b131639AggggQ+w0Q0q616Corry7C81j/1Ciy5+1C0v5K_A2mqBwkzoyY" +} diff --git a/test/fixtures/parse/real/real-053-linux-x86_64_baseline-1.3.1-ill-xs.json b/test/fixtures/parse/real/real-053-linux-x86_64_baseline-1.3.1-ill-xs.json new file mode 100644 index 0000000..6d98e4a --- /dev/null +++ b/test/fixtures/parse/real/real-053-linux-x86_64_baseline-1.3.1-ill-xs.json @@ -0,0 +1,5 @@ +{ + "description": "real-053-linux-x86_64_baseline-1.3.1-ill-xs", + "source_issue": 24290, + "input": "1.3.1/B_189fa0f3AgggwgYk9/+8CA3A+r87gG" +} diff --git a/test/fixtures/parse/real/real-054-linux-x86_64_baseline-1.3.1-panic-sm.json b/test/fixtures/parse/real/real-054-linux-x86_64_baseline-1.3.1-panic-sm.json new file mode 100644 index 0000000..db9cb95 --- /dev/null +++ b/test/fixtures/parse/real/real-054-linux-x86_64_baseline-1.3.1-panic-sm.json @@ -0,0 +1,5 @@ +{ + "description": "real-054-linux-x86_64_baseline-1.3.1-panic-sm", + "source_issue": 24163, + "input": "1.3.1/BI189fa0f3AAwuq01Cuiro7Cim8thD80hXA0eNpzLC5OLSrJzM9TSEvMzCktSrVScK0oSE0uSU1RyE0tSUxJLElUKMlXSEpVKE4tAQCXxBEE" +} diff --git a/test/fixtures/parse/real/real-055-linux-x86_64_baseline-1.3.1-panic-xs.json b/test/fixtures/parse/real/real-055-linux-x86_64_baseline-1.3.1-panic-xs.json new file mode 100644 index 0000000..ae3c3ed --- /dev/null +++ b/test/fixtures/parse/real/real-055-linux-x86_64_baseline-1.3.1-panic-xs.json @@ -0,0 +1,5 @@ +{ + "description": "real-055-linux-x86_64_baseline-1.3.1-panic-xs", + "source_issue": 24028, + "input": "1.3.1/BI189fa0f3AAk9/+8CA0eNpzS8zMSU1RKMlXKC5JLCpR8AgJCVBwzslMzStRKMkoSk1MsVIIzUutKEhNLklNAQB7XBB9" +} diff --git a/test/fixtures/parse/real/real-056-linux-aarch64-1.3.1-segv-xs.json b/test/fixtures/parse/real/real-056-linux-aarch64-1.3.1-segv-xs.json new file mode 100644 index 0000000..d40ded2 --- /dev/null +++ b/test/fixtures/parse/real/real-056-linux-aarch64-1.3.1-segv-xs.json @@ -0,0 +1,5 @@ +{ + "description": "real-056-linux-aarch64-1.3.1-segv-xs", + "source_issue": 23997, + "input": "1.3.1/Ln189fa0f3wBiwgQupt/6CA2AQ" +} diff --git a/test/fixtures/parse/real/real-057-linux-aarch64-1.3.0-ill-lg-unk.json b/test/fixtures/parse/real/real-057-linux-aarch64-1.3.0-ill-lg-unk.json new file mode 100644 index 0000000..518010f --- /dev/null +++ b/test/fixtures/parse/real/real-057-linux-aarch64-1.3.0-ill-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-057-linux-aarch64-1.3.0-ill-lg-unk", + "source_issue": 23845, + "input": "1.3.0/Ln1b0a6fecwgBuggwggC+9D+jp5V+jp5VukiBm1iB2i9sCu7xC+88sC21zCm2vf+88sCmq9sCm+sf+jwf+nyj/D_+ro98D_u4988Du4988DA3+//D4pvx5hD" +} diff --git a/test/fixtures/parse/real/real-058-linux-x86_64_baseline-1.3.0-segv-lg.json b/test/fixtures/parse/real/real-058-linux-x86_64_baseline-1.3.0-segv-lg.json new file mode 100644 index 0000000..19b87dc --- /dev/null +++ b/test/fixtures/parse/real/real-058-linux-x86_64_baseline-1.3.0-segv-lg.json @@ -0,0 +1,5 @@ +{ + "description": "real-058-linux-x86_64_baseline-1.3.0-segv-lg", + "source_issue": 23759, + "input": "1.3.0/Bt1b0a6fec4BukgQkqqsvE+ypRqpy5kDonn4kD67y4+Co7n57C+t4loD057moDis0moDsv2tjD6tvhiEk1z86C2rjv7C0rv91Cqyl91Cy8wK0oxK6yj91CA2AwD" +} diff --git a/test/fixtures/parse/real/real-059-linux-x86_64_baseline-1.3.11-segv-md.json b/test/fixtures/parse/real/real-059-linux-x86_64_baseline-1.3.11-segv-md.json new file mode 100644 index 0000000..3cc4857 --- /dev/null +++ b/test/fixtures/parse/real/real-059-linux-x86_64_baseline-1.3.11-segv-md.json @@ -0,0 +1,5 @@ +{ + "description": "real-059-linux-x86_64_baseline-1.3.11-segv-md", + "source_issue": 28990, + "input": "1.3.11/B_16f0a17cmgggEuhogC4ovilF+ypR2uxmhGu3wmhGo8vmhGyl9z/Fwjy4/Fsksz3Fugzz3F+xql3F87jv3Fmwov3Fos2ilFmqlnB2muqCA2+HvF" +} diff --git a/test/fixtures/parse/real/real-060-linux-x86_64_baseline-1.3.10-segv-md.json b/test/fixtures/parse/real/real-060-linux-x86_64_baseline-1.3.10-segv-md.json new file mode 100644 index 0000000..45b76e5 --- /dev/null +++ b/test/fixtures/parse/real/real-060-linux-x86_64_baseline-1.3.10-segv-md.json @@ -0,0 +1,5 @@ +{ + "description": "real-060-linux-x86_64_baseline-1.3.10-segv-md", + "source_issue": 27951, + "input": "1.3.10/B_130e609ekgYuhooC40guyE+qlPy0u+lFunl9lF4+1kmF6uivmFy50kmF6k1ljEyos18C40x2jEokx+7Cyqyh2Cmzoh2CA2cwE" +} diff --git a/test/fixtures/parse/real/real-061-linux-x86_64-1.3.10-segv-lg-unk.json b/test/fixtures/parse/real/real-061-linux-x86_64-1.3.10-segv-lg-unk.json new file mode 100644 index 0000000..bdf393f --- /dev/null +++ b/test/fixtures/parse/real/real-061-linux-x86_64-1.3.10-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-061-linux-x86_64-1.3.10-segv-lg-unk", + "source_issue": 27463, + "input": "1.3.10/la130e609eg3E+0ogC4xu5zE+ypRk0i0kE6t+0mEy9mmrF+xpirFyl54jEmsn2jE+gjsxFiirm2F4409mE__msn2jEwp98oF+o38tFurvzoE6t8iuEussvjDwxig+CA2AK" +} diff --git a/test/fixtures/parse/real/real-062-linux-x86_64_baseline-1.3.10-segv-lg-unk.json b/test/fixtures/parse/real/real-062-linux-x86_64_baseline-1.3.10-segv-lg-unk.json new file mode 100644 index 0000000..12100fc --- /dev/null +++ b/test/fixtures/parse/real/real-062-linux-x86_64_baseline-1.3.10-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-062-linux-x86_64_baseline-1.3.10-segv-lg-unk", + "source_issue": 27426, + "input": "1.3.10/B_148c5aa9mgkgEuhogC4jt6wE+ypRslwviEslwviEslwviEslwviEslwviE_____________A2+//BqhwjgO" +} diff --git a/test/fixtures/parse/real/real-063-linux-x86_64_baseline-1.3.10-segv-lg-unk.json b/test/fixtures/parse/real/real-063-linux-x86_64_baseline-1.3.10-segv-lg-unk.json new file mode 100644 index 0000000..4d0ca2e --- /dev/null +++ b/test/fixtures/parse/real/real-063-linux-x86_64_baseline-1.3.10-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-063-linux-x86_64_baseline-1.3.10-segv-lg-unk", + "source_issue": 27424, + "input": "1.3.10/B_148c5aa9mgEuhogC4jt6wE+++PslwviEslwviEslwviEslwviEslwviE_____________A26//B3t6xgqB" +} diff --git a/test/fixtures/parse/real/real-064-linux-x86_64_baseline-1.3.10-segv-lg-unk.json b/test/fixtures/parse/real/real-064-linux-x86_64_baseline-1.3.10-segv-lg-unk.json new file mode 100644 index 0000000..e232a51 --- /dev/null +++ b/test/fixtures/parse/real/real-064-linux-x86_64_baseline-1.3.10-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-064-linux-x86_64_baseline-1.3.10-segv-lg-unk", + "source_issue": 27392, + "input": "1.3.10/B_11423d3cmgkgEuhogC4oi5wE+4zQslpuiEslpuiEslpuiEslpuiEslpuiEslpuiEslpuiE___________A24//Bqqjsvc" +} diff --git a/test/fixtures/parse/real/real-065-linux-x86_64_baseline-1.3.10-segv-lg-unk.json b/test/fixtures/parse/real/real-065-linux-x86_64_baseline-1.3.10-segv-lg-unk.json new file mode 100644 index 0000000..e2770c6 --- /dev/null +++ b/test/fixtures/parse/real/real-065-linux-x86_64_baseline-1.3.10-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-065-linux-x86_64_baseline-1.3.10-segv-lg-unk", + "source_issue": 27391, + "input": "1.3.10/B_11423d3cmgkgEuhogC4oi5wE+ypRslpuiEslpuiEslpuiEslpuiE_____________m8q7hEA24//B3tjskS" +} diff --git a/test/fixtures/parse/real/real-066-linux-x86_64_baseline-1.3.10-segv-lg-unk.json b/test/fixtures/parse/real/real-066-linux-x86_64_baseline-1.3.10-segv-lg-unk.json new file mode 100644 index 0000000..b8d934e --- /dev/null +++ b/test/fixtures/parse/real/real-066-linux-x86_64_baseline-1.3.10-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-066-linux-x86_64_baseline-1.3.10-segv-lg-unk", + "source_issue": 27373, + "input": "1.3.10/B_11423d3cmgEuhogC4oi5wE+++PslpuiEslpuiEslpuiEslpuiEslpuiE_____________A28//B3y3ztR" +} diff --git a/test/fixtures/parse/real/real-067-linux-x86_64_baseline-1.3.10-segv-lg-unk.json b/test/fixtures/parse/real/real-067-linux-x86_64_baseline-1.3.10-segv-lg-unk.json new file mode 100644 index 0000000..d4f28c0 --- /dev/null +++ b/test/fixtures/parse/real/real-067-linux-x86_64_baseline-1.3.10-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-067-linux-x86_64_baseline-1.3.10-segv-lg-unk", + "source_issue": 27348, + "input": "1.3.10/B_11423d3cmgEuhogC4oi5wE+ypRslpuiEslpuiEslpuiEslpuiEslpuiEslpuiEslpuiEslpuiE__________A22//B3is8wiC" +} diff --git a/test/fixtures/parse/real/real-068-windows-x86_64-1.3.11-panic-lg-foreign.json b/test/fixtures/parse/real/real-068-windows-x86_64-1.3.11-panic-lg-foreign.json new file mode 100644 index 0000000..6c6cf1c --- /dev/null +++ b/test/fixtures/parse/real/real-068-windows-x86_64-1.3.11-panic-lg-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-068-windows-x86_64-1.3.11-panic-lg-foreign", + "source_issue": 29005, + "input": "1.3.11/wI1af24e28AgmgggI+2w3Gqjiagj82I4oqjFgzppI8t0mIgsqmIuo9+Dit5pEow/hFm0/iFwhi4Cqlx2C8/39FuwbyjMoq37xDCYKERNEL32.DLLut0LCSntdll.dll4/hjBA0eNrzzCtJLcpLzFFILC5OLSrJzM9TSEvMzCktSlVILFHIzCsuSczJiUnKzNOryky3Mjc2trIwBgAPThLT" +} diff --git a/test/fixtures/parse/real/real-069-windows-x86_64_baseline-1.3.11-panic-sm-foreign.json b/test/fixtures/parse/real/real-069-windows-x86_64_baseline-1.3.11-panic-sm-foreign.json new file mode 100644 index 0000000..28bd089 --- /dev/null +++ b/test/fixtures/parse/real/real-069-windows-x86_64_baseline-1.3.11-panic-sm-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-069-windows-x86_64_baseline-1.3.11-panic-sm-foreign", + "source_issue": 28721, + "input": "1.3.11/e_1759ce80mgggEugogCk997QyxtmNgtmkHyvgzQgpw5TCYKERNEL32.DLL65yECSntdll.dllw33WA0eNrLzCtLzMlMUUjNK81VKEvMKU0FAEK2Bvo" +} diff --git a/test/fixtures/parse/real/real-070-windows-x86_64-1.3.11-segv-md-foreign.json b/test/fixtures/parse/real/real-070-windows-x86_64-1.3.11-segv-md-foreign.json new file mode 100644 index 0000000..c9997f7 --- /dev/null +++ b/test/fixtures/parse/real/real-070-windows-x86_64-1.3.11-segv-md-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-070-windows-x86_64-1.3.11-segv-md-foreign", + "source_issue": 28603, + "input": "1.3.11/wn1af24e28inEuggoCCaTmUmEvt64.dll+r2SCaTmUmEvt64.dllq93SCaTmUmEvt64.dll+4xSCaTmUmEvt64.dllswvSCaTmUmEvt64.dll8toTCaTmUmEvt64.dll+7sTCaTmUmEvt64.dll6luQCaTmUmEvt64.dllk5rYCWtmmon64.dlls8JCWtmmon64.dllk3rbCWtmmon64.dll2ktbCWtmmon64.dlli/miCCYKERNEL32.DLL6z4MCqCtailwindcss-oxide.win32-x64-msvc.node8ki9CA2A6iB" +} diff --git a/test/fixtures/parse/real/real-071-windows-x86_64_baseline-1.3.10-ill-lg-foreign.json b/test/fixtures/parse/real/real-071-windows-x86_64_baseline-1.3.10-ill-lg-foreign.json new file mode 100644 index 0000000..eb6ec3b --- /dev/null +++ b/test/fixtures/parse/real/real-071-windows-x86_64_baseline-1.3.10-ill-lg-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-071-windows-x86_64_baseline-1.3.10-ill-lg-foreign", + "source_issue": 28509, + "input": "1.3.10/e_189a8aa9mgEuhogCgw0n3C6uui3Cs67l3Ckpri3Cm1pi3Cs65okD60o/jD+zuhkDykzllDizyllDypq75Cir3+5Cykxz0Cgns+yCg592zCys/w+Bmgti2DCYKERNEL32.DLLut0LCSntdll.dll4oijBA3u//Bgw07zxC" +} diff --git a/test/fixtures/parse/real/real-072-windows-x86_64_baseline-1.3.11-ill-lg-unk.json b/test/fixtures/parse/real/real-072-windows-x86_64_baseline-1.3.11-ill-lg-unk.json new file mode 100644 index 0000000..afb71be --- /dev/null +++ b/test/fixtures/parse/real/real-072-windows-x86_64_baseline-1.3.11-ill-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-072-windows-x86_64_baseline-1.3.11-ill-lg-unk", + "source_issue": 28451, + "input": "1.3.11/e_101210fbmgkgE+hogC22ig5Co86q4C810n4Cmlzn4C0on80Cshvj0Cykwj0Cihnj0Cg3lj0Cumw24B6vs24B6rt34Byut14Biz1z5ByjwqvBmmwsyBqz6qtC0wsptC05pmrC_A3u//B22i413D" +} diff --git a/test/fixtures/parse/real/real-073-windows-x86_64_baseline-1.3.10-panic-md-foreign.json b/test/fixtures/parse/real/real-073-windows-x86_64_baseline-1.3.10-panic-md-foreign.json new file mode 100644 index 0000000..57b58fc --- /dev/null +++ b/test/fixtures/parse/real/real-073-windows-x86_64_baseline-1.3.10-panic-md-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-073-windows-x86_64_baseline-1.3.10-panic-md-foreign", + "source_issue": 28383, + "input": "1.3.10/e_21979c94mgkgE+hogC09gkQ4p4vbq705Vwws1U23wN284hUm5nlOiq4kOwkzjwDCYKERNEL32.DLLut0LCSntdll.dll4oijBA0eNorLs8sSc5QyM9TSM4vKiotKFEoS8wpTQUAa8EI/A" +} diff --git a/test/fixtures/parse/real/real-074-windows-x86_64_baseline-1.3.11-segv-lg-foreign.json b/test/fixtures/parse/real/real-074-windows-x86_64_baseline-1.3.11-segv-lg-foreign.json new file mode 100644 index 0000000..6beb7a8 --- /dev/null +++ b/test/fixtures/parse/real/real-074-windows-x86_64_baseline-1.3.11-segv-lg-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-074-windows-x86_64_baseline-1.3.11-segv-lg-foreign", + "source_issue": 28176, + "input": "1.3.11/e_1a2743b6mgggEuhogCgs2hyCmj2hyCm/0hyCs6xhyCwsho3BimhoGikx1do++sf0y5wMmvw9U8839Uotqx1B8ll11Biw2n4Bqixj4B68uj4Bu754W4glvRCYKERNEL32.DLLut0LCSntdll.dll4oijBA2ykCgggkgkB" +} diff --git a/test/fixtures/parse/real/real-075-windows-x86_64_baseline-1.3.11-oom-md-foreign.json b/test/fixtures/parse/real/real-075-windows-x86_64_baseline-1.3.11-oom-md-foreign.json new file mode 100644 index 0000000..f3445a9 --- /dev/null +++ b/test/fixtures/parse/real/real-075-windows-x86_64_baseline-1.3.11-oom-md-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-075-windows-x86_64_baseline-1.3.11-oom-md-foreign", + "source_issue": 28174, + "input": "1.3.11/e_1a2743b6GuhogCoy/sf0y5wMmvw9U8839Uotqx1B8ll11Biw2n4Bqixj4B68uj4Bu754W4glvRCYKERNEL32.DLLut0LCSntdll.dll40hPA9" +} diff --git a/test/fixtures/parse/real/real-076-windows-x86_64-1.3.10-panic-sm-foreign.json b/test/fixtures/parse/real/real-076-windows-x86_64-1.3.10-panic-sm-foreign.json new file mode 100644 index 0000000..4a16097 --- /dev/null +++ b/test/fixtures/parse/real/real-076-windows-x86_64-1.3.10-panic-sm-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-076-windows-x86_64-1.3.10-panic-sm-foreign", + "source_issue": 28027, + "input": "1.3.10/wa130e609egCgkggCu+xuGw9wuGgl0kNCYKERNEL32.DLL65yECSntdll.dllw33WA0eNpLLClJzS0oUSjJVygtTlXIK83JUShLzClNBQB82AmI" +} diff --git a/test/fixtures/parse/real/real-077-windows-x86_64_baseline-1.3.10-segv-lg-unk-foreign.json b/test/fixtures/parse/real/real-077-windows-x86_64_baseline-1.3.10-segv-lg-unk-foreign.json new file mode 100644 index 0000000..e8c7670 --- /dev/null +++ b/test/fixtures/parse/real/real-077-windows-x86_64_baseline-1.3.10-segv-lg-unk-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-077-windows-x86_64_baseline-1.3.10-segv-lg-unk-foreign", + "source_issue": 28008, + "input": "1.3.10/ea130e609emxGz+3/9/CCYMSVCP140.dllgq1ECeonnxruntime.dll4qvyRCeonnxruntime.dllq1O1RCYucrtbase.dllmnyHCeonnxruntime.dll0+83RCeonnxruntime.dllu193RCSntdll.dll6htGCSntdll.dlluvpbCSntdll.dll0oobCSntdll.dllgxobCSntdll.dllu0sPCSntdll.dll869HCSntdll.dll0+5FCSntdll.dllov1FCcKERNELBASE.dllk3tL20g3du2x+rB__w/oiwCA2AA" +} diff --git a/test/fixtures/parse/real/real-078-windows-x86_64_baseline-1.3.11-so-md-foreign.json b/test/fixtures/parse/real/real-078-windows-x86_64_baseline-1.3.11-so-md-foreign.json new file mode 100644 index 0000000..ce06f80 --- /dev/null +++ b/test/fixtures/parse/real/real-078-windows-x86_64_baseline-1.3.11-so-md-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-078-windows-x86_64_baseline-1.3.11-so-md-foreign", + "source_issue": 27987, + "input": "1.3.11/e_1548644aEggggCgsin5B6jsl5B2g3m5Bm7tmyBis39FmxcghMwm3z3DCYKERNEL32.DLLut0LCSntdll.dll4gijBA7" +} diff --git a/test/fixtures/parse/real/real-079-windows-x86_64_baseline-1.3.11-segv-md-unk-foreign.json b/test/fixtures/parse/real/real-079-windows-x86_64_baseline-1.3.11-segv-md-unk-foreign.json new file mode 100644 index 0000000..a691616 --- /dev/null +++ b/test/fixtures/parse/real/real-079-windows-x86_64_baseline-1.3.11-segv-md-unk-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-079-windows-x86_64_baseline-1.3.11-segv-md-unk-foreign", + "source_issue": 27940, + "input": "1.3.11/e_1dea015emgggEugogCCYnpggNT64.desy2TCYnpggNT64.desynouE__CYnpggNT64.desws0PCUUSER32.dllgj9vBCYnpggNT64.desgi6RCYnpggNT64.desg76D___CYnpggNT64.desoqmWA2A4D" +} diff --git a/test/fixtures/parse/real/real-080-windows-x86_64_baseline-1.3.10-segv-md-unk.json b/test/fixtures/parse/real/real-080-windows-x86_64_baseline-1.3.10-segv-md-unk.json new file mode 100644 index 0000000..6bbba35 --- /dev/null +++ b/test/fixtures/parse/real/real-080-windows-x86_64_baseline-1.3.10-segv-md-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-080-windows-x86_64_baseline-1.3.10-segv-md-unk", + "source_issue": 27414, + "input": "1.3.10/e_1d885ce7mgkgEuhogCkx34tDk+n9sDoxo9sD43kosDm46y1Ci9i66B___A2AwB" +} diff --git a/test/fixtures/parse/real/real-081-windows-aarch64-1.3.10-panic-md-foreign.json b/test/fixtures/parse/real/real-081-windows-aarch64-1.3.10-panic-md-foreign.json new file mode 100644 index 0000000..0fa5a73 --- /dev/null +++ b/test/fixtures/parse/real/real-081-windows-aarch64-1.3.10-panic-md-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-081-windows-aarch64-1.3.10-panic-md-foreign", + "source_issue": 27383, + "input": "1.3.10/W_11423d3cmgE+gogCwmzrfwl0uiBgyvBw32CwmvBo7xB44wCwvhgmCw236lC4i16lCg6xjkBgsjufCYKERNEL32.DLLg0jCCSntdll.dlloqi1BA0eNrLzEvOLypKTS5RSMzJTM/LTc0rAQBMcwep" +} diff --git a/test/fixtures/parse/real/real-082-windows-x86_64-1.3.9-segv-lg-unk.json b/test/fixtures/parse/real/real-082-windows-x86_64-1.3.9-segv-lg-unk.json new file mode 100644 index 0000000..3889d06 --- /dev/null +++ b/test/fixtures/parse/real/real-082-windows-x86_64-1.3.9-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-082-windows-x86_64-1.3.9-segv-lg-unk", + "source_issue": 27363, + "input": "1.3.9/wa1cf6cdbbmwGz+3/9/D_+j0/fksz/f8y+9oBggt3wByg15wBk5qlxB2molxB8wokxBos2kxBywnkxB6zwuxB2gogyBkvolxByuojxBivhgyByqi9nB4ms1oBwhu1oBmzr0gBA24jChw/n83D" +} diff --git a/test/fixtures/parse/real/real-083-windows-x86_64_baseline-1.3.10-segv-md-foreign.json b/test/fixtures/parse/real/real-083-windows-x86_64_baseline-1.3.10-segv-md-foreign.json new file mode 100644 index 0000000..a05bc78 --- /dev/null +++ b/test/fixtures/parse/real/real-083-windows-x86_64_baseline-1.3.10-segv-md-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-083-windows-x86_64_baseline-1.3.10-segv-md-foreign", + "source_issue": 27270, + "input": "1.3.10/e_11423d3cmgkgEuhogCgn92Wk+n1tB4kz/pC41j7pC6kh7pConrqXo8r0U23wN+o5gUmznlOqn4kOwkkqvDCYKERNEL32.DLLut0LCSntdll.dll4zijBA2DD" +} diff --git a/test/fixtures/parse/real/real-084-windows-x86_64_baseline-1.3.9-panic-sm-unk.json b/test/fixtures/parse/real/real-084-windows-x86_64_baseline-1.3.9-panic-sm-unk.json new file mode 100644 index 0000000..db7fda7 --- /dev/null +++ b/test/fixtures/parse/real/real-084-windows-x86_64_baseline-1.3.9-panic-sm-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-084-windows-x86_64_baseline-1.3.9-panic-sm-unk", + "source_issue": 26985, + "input": "1.3.9/e_2d5628dbEkgggC+s1oU+vvkOu8t/uBysi5uB__qt24tCA0eNrzzCtJLcpLzFFILC5OLSrJzM9TSEvMzCktSgUAiSkKPg" +} diff --git a/test/fixtures/parse/real/real-085-windows-x86_64_baseline-1.3.9-ill-lg.json b/test/fixtures/parse/real/real-085-windows-x86_64_baseline-1.3.9-ill-lg.json new file mode 100644 index 0000000..f1af10f --- /dev/null +++ b/test/fixtures/parse/real/real-085-windows-x86_64_baseline-1.3.9-ill-lg.json @@ -0,0 +1,5 @@ +{ + "description": "real-085-windows-x86_64_baseline-1.3.9-ill-lg", + "source_issue": 26982, + "input": "1.3.9/e_1cf6cdbbG+gooigB04//7Co/s2xCuso4xCkv40xCm720xCmhkqwBuzqowBqwwuxB8u3uxByi61nB09jxoBkzrxoBq3wva4o94Zqttie60/4rBqk/4rB6xrjuBwtqjuBwqyiuBA3s//Btngogc" +} diff --git a/test/fixtures/parse/real/real-086-windows-x86_64-1.3.8-panic-lg-unk.json b/test/fixtures/parse/real/real-086-windows-x86_64-1.3.8-panic-lg-unk.json new file mode 100644 index 0000000..b1be33b --- /dev/null +++ b/test/fixtures/parse/real/real-086-windows-x86_64-1.3.8-panic-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-086-windows-x86_64-1.3.8-panic-lg-unk", + "source_issue": 26756, + "input": "1.3.8/wn1b64edcbgHu0ggC+t//Jy8ysGg0mLkg9rK8n/6Mk836M0tjtK49vgHw+p4Byz7hdiz45fq/85f6i85fmqn+rB__o83wvCA0eNrLzCtLzMlMUUjNK81VKEvMKU0FAEK2Bvo" +} diff --git a/test/fixtures/parse/real/real-087-windows-x86_64-1.3.9-segv-xs.json b/test/fixtures/parse/real/real-087-windows-x86_64-1.3.9-segv-xs.json new file mode 100644 index 0000000..b43015c --- /dev/null +++ b/test/fixtures/parse/real/real-087-windows-x86_64-1.3.9-segv-xs.json @@ -0,0 +1,5 @@ +{ + "description": "real-087-windows-x86_64-1.3.9-segv-xs", + "source_issue": 26660, + "input": "1.3.9/wa235f8154m2Gzu3/9/DA2AA" +} diff --git a/test/fixtures/parse/real/real-088-windows-x86_64-1.3.7-panic-md-unk.json b/test/fixtures/parse/real/real-088-windows-x86_64-1.3.7-panic-md-unk.json new file mode 100644 index 0000000..0659af4 --- /dev/null +++ b/test/fixtures/parse/real/real-088-windows-x86_64-1.3.7-panic-md-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-088-windows-x86_64-1.3.7-panic-md-unk", + "source_issue": 26530, + "input": "1.3.7/wr1ba42621gHikggC63t4J66n1Jsrrkdk46kdk0r3rBsrq3rB+y1hqBy/3g3Bglxg3B___A0eNorLkksKlHIzEtJrVAwUsgsVshJLEpPLVIoyUjMU0jNS4FKGQIAJn0N/Q" +} diff --git a/test/fixtures/parse/real/real-089-windows-x86_64_baseline-1.3.6-ill-xs.json b/test/fixtures/parse/real/real-089-windows-x86_64_baseline-1.3.6-ill-xs.json new file mode 100644 index 0000000..e850cc6 --- /dev/null +++ b/test/fixtures/parse/real/real-089-windows-x86_64_baseline-1.3.6-ill-xs.json @@ -0,0 +1,5 @@ +{ + "description": "real-089-windows-x86_64_baseline-1.3.6-ill-xs", + "source_issue": 26353, + "input": "1.3.6/e_1d530ed9GugogigD4vg66Cg4jp7BA3u//Bpw/1uN" +} diff --git a/test/fixtures/parse/real/real-090-windows-x86_64-1.3.6-segv-sm-unk.json b/test/fixtures/parse/real/real-090-windows-x86_64-1.3.6-segv-sm-unk.json new file mode 100644 index 0000000..a84adc2 --- /dev/null +++ b/test/fixtures/parse/real/real-090-windows-x86_64-1.3.6-segv-sm-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-090-windows-x86_64-1.3.6-segv-sm-unk", + "source_issue": 26254, + "input": "1.3.6/wn1d530ed9gHqwggC4ixykByvjykBq0xrnB___A2DD" +} diff --git a/test/fixtures/parse/real/real-091-windows-x86_64-1.3.5-segv-md-unk.json b/test/fixtures/parse/real/real-091-windows-x86_64-1.3.5-segv-md-unk.json new file mode 100644 index 0000000..a683868 --- /dev/null +++ b/test/fixtures/parse/real/real-091-windows-x86_64-1.3.5-segv-md-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-091-windows-x86_64-1.3.5-segv-md-unk", + "source_issue": 25805, + "input": "1.3.5/wr11e86cebgWgghgCgvuhwDg5v+xD87v+xDyqv+xDsnv+xDqrthwDiysvnDsp0v7Bij0l8Bgqvl8B___A2AQ" +} diff --git a/test/fixtures/parse/real/real-092-windows-x86_64_baseline-1.3.5-segv-xs.json b/test/fixtures/parse/real/real-092-windows-x86_64_baseline-1.3.5-segv-xs.json new file mode 100644 index 0000000..82fe0c6 --- /dev/null +++ b/test/fixtures/parse/real/real-092-windows-x86_64_baseline-1.3.5-segv-xs.json @@ -0,0 +1,5 @@ +{ + "description": "real-092-windows-x86_64_baseline-1.3.5-segv-xs", + "source_issue": 25798, + "input": "1.3.5/ea11e86cebm3Gzu339/DA2AA" +} diff --git a/test/fixtures/parse/real/real-093-windows-x86_64_baseline-1.3.5-segv-lg-unk.json b/test/fixtures/parse/real/real-093-windows-x86_64_baseline-1.3.5-segv-lg-unk.json new file mode 100644 index 0000000..b3467af --- /dev/null +++ b/test/fixtures/parse/real/real-093-windows-x86_64_baseline-1.3.5-segv-lg-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-093-windows-x86_64_baseline-1.3.5-segv-lg-unk", + "source_issue": 25798, + "input": "1.3.5/ea11e86cebmRz+339/D_+wlwekhlwe4/i3nBgjr4uBwov6uBk13pvB2/0pvB860ovBi1ipvBy+zovB67mzvB2wyiwBko1pvBy53nvBihsiwBy+61mBu49o3B__A2ypChw/n81C" +} diff --git a/test/fixtures/parse/real/real-094-windows-x86_64-1.3.5-segv-lg-foreign.json b/test/fixtures/parse/real/real-094-windows-x86_64-1.3.5-segv-lg-foreign.json new file mode 100644 index 0000000..8d7dfa5 --- /dev/null +++ b/test/fixtures/parse/real/real-094-windows-x86_64-1.3.5-segv-lg-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-094-windows-x86_64-1.3.5-segv-lg-foreign", + "source_issue": 25606, + "input": "1.3.5/wa11e86cebgiEghgoCshk6zDuswlWk1s5UomwkT+gykTy0t2M6lsqHwvhrG2/72mBqomvFkx5vF2t1vFk474FuvbgjMopvizDCYKERNEL32.DLL63yECSntdll.dllww3WA2+pBgogkkU" +} diff --git a/test/fixtures/parse/real/real-095-windows-x86_64_baseline-1.3.3-segv-sm-unk.json b/test/fixtures/parse/real/real-095-windows-x86_64_baseline-1.3.3-segv-sm-unk.json new file mode 100644 index 0000000..647f910 --- /dev/null +++ b/test/fixtures/parse/real/real-095-windows-x86_64_baseline-1.3.3-segv-sm-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-095-windows-x86_64_baseline-1.3.3-segv-sm-unk", + "source_issue": 25122, + "input": "1.3.3/ea1274e01ciYz+33+/Bi3xlS4t4/7B__qju/vCA2AgT" +} diff --git a/test/fixtures/parse/real/real-096-windows-x86_64-1.3.3-panic-md-foreign.json b/test/fixtures/parse/real/real-096-windows-x86_64-1.3.3-panic-md-foreign.json new file mode 100644 index 0000000..d25863e --- /dev/null +++ b/test/fixtures/parse/real/real-096-windows-x86_64-1.3.3-panic-md-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-096-windows-x86_64-1.3.3-panic-md-foreign", + "source_issue": 25055, + "input": "1.3.3/w_1274e01ciDzv33+/D48krS676qSogpwQ2tk9Tq8sysBu3rysBqpwysBmjwysBszt2sB6pgivBqm49uB6k29uByzoxV067yQCYKERNEL32.DLLut0LCSntdll.dll4zijBA0eNrLzEtJrVDILy1RyE9TSMovzUsptlLIBAuaGFsYWFhYmJrpKOSk5ikYmpmbAQBwBA4k" +} diff --git a/test/fixtures/parse/real/real-097-windows-x86_64_baseline-1.3.2-ill-md-foreign.json b/test/fixtures/parse/real/real-097-windows-x86_64_baseline-1.3.2-ill-md-foreign.json new file mode 100644 index 0000000..a362fd7 --- /dev/null +++ b/test/fixtures/parse/real/real-097-windows-x86_64_baseline-1.3.2-ill-md-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-097-windows-x86_64_baseline-1.3.2-ill-md-foreign", + "source_issue": 24820, + "input": "1.3.2/e_1b131639AgggggYs68twCqzxtwC8pptwCqt/swCuz3swCi30swCqv9rwC0m8rwCs15rwCk1m9F8sd8wIoi/73DCYKERNEL32.DLLo35FCSntdll.dllipmTA3u//B1ljyouD" +} diff --git a/test/fixtures/parse/real/real-098-windows-x86_64-1.3.3-panic-sm-unk.json b/test/fixtures/parse/real/real-098-windows-x86_64-1.3.3-panic-sm-unk.json new file mode 100644 index 0000000..e661b23 --- /dev/null +++ b/test/fixtures/parse/real/real-098-windows-x86_64-1.3.3-panic-sm-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-098-windows-x86_64-1.3.3-panic-sm-unk", + "source_issue": 24640, + "input": "1.3.3/wa2e0aae8awkCigkU4gs7e0r1uhBqjxqoB__08wsxCA0eNoFwcENACAMAsBVWM1ENHyosXzc3js53LyYxYYrWApkTHbkEZWRd/gBNAAPKQ" +} diff --git a/test/fixtures/parse/real/real-099-windows-x86_64-1.3.0-segv-sm-unk-foreign.json b/test/fixtures/parse/real/real-099-windows-x86_64-1.3.0-segv-sm-unk-foreign.json new file mode 100644 index 0000000..e0faa6f --- /dev/null +++ b/test/fixtures/parse/real/real-099-windows-x86_64-1.3.0-segv-sm-unk-foreign.json @@ -0,0 +1,5 @@ +{ + "description": "real-099-windows-x86_64-1.3.0-segv-sm-unk-foreign", + "source_issue": 24609, + "input": "1.3.0/wa1b0a6fecggBgggQCQnode.exewsywGCSwrtc.nodegt5yCCSwrtc.node2771CCSwrtc.nodeokIisw4vB__qzrp2CA2DD" +} diff --git a/test/fixtures/parse/real/real-100-windows-x86_64-1.3.1-segv-xs-unk.json b/test/fixtures/parse/real/real-100-windows-x86_64-1.3.1-segv-xs-unk.json new file mode 100644 index 0000000..aee5f01 --- /dev/null +++ b/test/fixtures/parse/real/real-100-windows-x86_64-1.3.1-segv-xs-unk.json @@ -0,0 +1,5 @@ +{ + "description": "real-100-windows-x86_64-1.3.1-segv-xs-unk", + "source_issue": 24513, + "input": "1.3.1/wn189fa0f34gBugg0ggC_A2A0B" +} diff --git a/test/fixtures/parse/v1-linux-aarch64-segfault.json b/test/fixtures/parse/v1-linux-aarch64-segfault.json new file mode 100644 index 0000000..9441fea --- /dev/null +++ b/test/fixtures/parse/v1-linux-aarch64-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v1-linux-aarch64-segfault", + "input": "1.1.30/Lr1abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v1-linux-x86_64-foreign-object.json b/test/fixtures/parse/v1-linux-x86_64-foreign-object.json new file mode 100644 index 0000000..c115111 --- /dev/null +++ b/test/fixtures/parse/v1-linux-x86_64-foreign-object.json @@ -0,0 +1,4 @@ +{ + "description": "v1-linux-x86_64-foreign-object", + "input": "1.1.30/lr1abc1234AAixICU/libc.so.6681CkiRA7" +} diff --git a/test/fixtures/parse/v1-linux-x86_64-segfault.json b/test/fixtures/parse/v1-linux-x86_64-segfault.json new file mode 100644 index 0000000..a4726ac --- /dev/null +++ b/test/fixtures/parse/v1-linux-x86_64-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v1-linux-x86_64-segfault", + "input": "1.1.30/lr1abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v1-linux-x86_64-with-js-and-unknown-frames.json b/test/fixtures/parse/v1-linux-x86_64-with-js-and-unknown-frames.json new file mode 100644 index 0000000..a4513c4 --- /dev/null +++ b/test/fixtures/parse/v1-linux-x86_64-with-js-and-unknown-frames.json @@ -0,0 +1,4 @@ +{ + "description": "v1-linux-x86_64-with-js-and-unknown-frames", + "input": "1.1.30/lt1abc1234AAixI==kiR_mzZA1" +} diff --git a/test/fixtures/parse/v1-linux-x86_64_baseline-segfault.json b/test/fixtures/parse/v1-linux-x86_64_baseline-segfault.json new file mode 100644 index 0000000..986eec9 --- /dev/null +++ b/test/fixtures/parse/v1-linux-x86_64_baseline-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v1-linux-x86_64_baseline-segfault", + "input": "1.1.30/Br1abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v1-macos-aarch64-oom.json b/test/fixtures/parse/v1-macos-aarch64-oom.json new file mode 100644 index 0000000..02c344b --- /dev/null +++ b/test/fixtures/parse/v1-macos-aarch64-oom.json @@ -0,0 +1,4 @@ +{ + "description": "v1-macos-aarch64-oom", + "input": "1.1.30/Mr1abc1234AA0q1C279CA9" +} diff --git a/test/fixtures/parse/v1-macos-aarch64-panic-compressed.json b/test/fixtures/parse/v1-macos-aarch64-panic-compressed.json new file mode 100644 index 0000000..f950563 --- /dev/null +++ b/test/fixtures/parse/v1-macos-aarch64-panic-compressed.json @@ -0,0 +1,4 @@ +{ + "description": "v1-macos-aarch64-panic-compressed", + "input": "1.1.30/Mi1abc1234AAggIA0eJzzzCtJTU8tUsgvSy1Ky8kvV8jMU0jMyclPTizJLwIApsgLOw" +} diff --git a/test/fixtures/parse/v1-macos-aarch64-segfault.json b/test/fixtures/parse/v1-macos-aarch64-segfault.json new file mode 100644 index 0000000..f88b24e --- /dev/null +++ b/test/fixtures/parse/v1-macos-aarch64-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v1-macos-aarch64-segfault", + "input": "1.1.30/Mr1abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v1-macos-aarch64-with-url-prefix.json b/test/fixtures/parse/v1-macos-aarch64-with-url-prefix.json new file mode 100644 index 0000000..e3e622e --- /dev/null +++ b/test/fixtures/parse/v1-macos-aarch64-with-url-prefix.json @@ -0,0 +1,4 @@ +{ + "description": "v1-macos-aarch64-with-url-prefix", + "input": "https://bun.report/1.1.30/Mr1abc1234AAojJA1/view" +} diff --git a/test/fixtures/parse/v1-macos-x86_64-segfault.json b/test/fixtures/parse/v1-macos-x86_64-segfault.json new file mode 100644 index 0000000..68329f7 --- /dev/null +++ b/test/fixtures/parse/v1-macos-x86_64-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v1-macos-x86_64-segfault", + "input": "1.1.30/mr1abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v1-macos-x86_64_baseline-segfault.json b/test/fixtures/parse/v1-macos-x86_64_baseline-segfault.json new file mode 100644 index 0000000..16027e0 --- /dev/null +++ b/test/fixtures/parse/v1-macos-x86_64_baseline-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v1-macos-x86_64_baseline-segfault", + "input": "1.1.30/br1abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v1-windows-aarch64-segfault.json b/test/fixtures/parse/v1-windows-aarch64-segfault.json new file mode 100644 index 0000000..ef38543 --- /dev/null +++ b/test/fixtures/parse/v1-windows-aarch64-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v1-windows-aarch64-segfault", + "input": "1.1.30/Wr1abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v1-windows-x86_64-segfault.json b/test/fixtures/parse/v1-windows-x86_64-segfault.json new file mode 100644 index 0000000..f4275c6 --- /dev/null +++ b/test/fixtures/parse/v1-windows-x86_64-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v1-windows-x86_64-segfault", + "input": "1.1.30/wr1abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v1-windows-x86_64_baseline-segfault.json b/test/fixtures/parse/v1-windows-x86_64_baseline-segfault.json new file mode 100644 index 0000000..16352b9 --- /dev/null +++ b/test/fixtures/parse/v1-windows-x86_64_baseline-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v1-windows-x86_64_baseline-segfault", + "input": "1.1.30/er1abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v2-linux-aarch64-segfault.json b/test/fixtures/parse/v2-linux-aarch64-segfault.json new file mode 100644 index 0000000..2731ddb --- /dev/null +++ b/test/fixtures/parse/v2-linux-aarch64-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v2-linux-aarch64-segfault", + "input": "1.1.30/Lr2abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v2-linux-x86_64-segfault.json b/test/fixtures/parse/v2-linux-x86_64-segfault.json new file mode 100644 index 0000000..73e268f --- /dev/null +++ b/test/fixtures/parse/v2-linux-x86_64-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v2-linux-x86_64-segfault", + "input": "1.1.30/lr2abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v2-linux-x86_64_baseline-segfault.json b/test/fixtures/parse/v2-linux-x86_64_baseline-segfault.json new file mode 100644 index 0000000..e8c42bf --- /dev/null +++ b/test/fixtures/parse/v2-linux-x86_64_baseline-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v2-linux-x86_64_baseline-segfault", + "input": "1.1.30/Br2abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v2-macos-aarch64-segfault.json b/test/fixtures/parse/v2-macos-aarch64-segfault.json new file mode 100644 index 0000000..f75c478 --- /dev/null +++ b/test/fixtures/parse/v2-macos-aarch64-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v2-macos-aarch64-segfault", + "input": "1.1.30/Mr2abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v2-macos-x86_64-segfault.json b/test/fixtures/parse/v2-macos-x86_64-segfault.json new file mode 100644 index 0000000..fdeb095 --- /dev/null +++ b/test/fixtures/parse/v2-macos-x86_64-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v2-macos-x86_64-segfault", + "input": "1.1.30/mr2abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v2-macos-x86_64_baseline-segfault.json b/test/fixtures/parse/v2-macos-x86_64_baseline-segfault.json new file mode 100644 index 0000000..eebfadb --- /dev/null +++ b/test/fixtures/parse/v2-macos-x86_64_baseline-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v2-macos-x86_64_baseline-segfault", + "input": "1.1.30/br2abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v2-windows-aarch64-segfault.json b/test/fixtures/parse/v2-windows-aarch64-segfault.json new file mode 100644 index 0000000..b425444 --- /dev/null +++ b/test/fixtures/parse/v2-windows-aarch64-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v2-windows-aarch64-segfault", + "input": "1.1.30/Wr2abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v2-windows-x86_64-error-reason.json b/test/fixtures/parse/v2-windows-x86_64-error-reason.json new file mode 100644 index 0000000..6e6300a --- /dev/null +++ b/test/fixtures/parse/v2-windows-x86_64-error-reason.json @@ -0,0 +1,4 @@ +{ + "description": "v2-windows-x86_64-error-reason", + "input": "1.1.30/wb2abc1234AA06qBA8ENOENT: no such file or directory" +} diff --git a/test/fixtures/parse/v2-windows-x86_64-segfault.json b/test/fixtures/parse/v2-windows-x86_64-segfault.json new file mode 100644 index 0000000..4e0e1fe --- /dev/null +++ b/test/fixtures/parse/v2-windows-x86_64-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v2-windows-x86_64-segfault", + "input": "1.1.30/wr2abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/parse/v2-windows-x86_64_baseline-segfault.json b/test/fixtures/parse/v2-windows-x86_64_baseline-segfault.json new file mode 100644 index 0000000..9424328 --- /dev/null +++ b/test/fixtures/parse/v2-windows-x86_64_baseline-segfault.json @@ -0,0 +1,4 @@ +{ + "description": "v2-windows-x86_64_baseline-segfault", + "input": "1.1.30/er2abc1234GOoz1iCs1mjEw33jGA2A+u/21uD" +} diff --git a/test/fixtures/symbolize/all-unknown-reverts.json b/test/fixtures/symbolize/all-unknown-reverts.json new file mode 100644 index 0000000..8ea33c4 --- /dev/null +++ b/test/fixtures/symbolize/all-unknown-reverts.json @@ -0,0 +1,9 @@ +{ + "description": "filterAddresses reverts to original when all frames would be stripped", + "os": "linux", + "addresses": [ + { "address": 1000, "object": "bun" }, + { "address": 2000, "object": "bun" } + ], + "stdout": "??\n??:0:0\n??\n??:0:0\n" +} diff --git a/test/fixtures/symbolize/linux-jsc-signal-handler.json b/test/fixtures/symbolize/linux-jsc-signal-handler.json new file mode 100644 index 0000000..8b7e1cf --- /dev/null +++ b/test/fixtures/symbolize/linux-jsc-signal-handler.json @@ -0,0 +1,12 @@ +{ + "description": "linux: stack starts with WTF::jscSignalHandler then unknown frames before real frames", + "os": "linux", + "addresses": [ + { "address": 70291584, "object": "bun" }, + { "address": 0, "object": "?" }, + { "address": 0, "object": "?" }, + { "address": 53428112, "object": "bun" }, + { "address": 53430000, "object": "bun" } + ], + "stdout": "WTF::jscSignalHandler(int, siginfo_t*, void*)\n/home/runner/work/bun/bun/vendor/WebKit/Source/WTF/wtf/threads/Signals.cpp:237:5\nJSC::JSValue::get(JSC::JSGlobalObject*, JSC::PropertyName) const\n/home/runner/work/bun/bun/vendor/WebKit/Source/JavaScriptCore/runtime/JSCJSValueInlines.h:1024:9\nBun::ReadableStream::pipeTo(JSC::JSGlobalObject*)\n/home/runner/work/bun/bun/src/bun.js/bindings/webcore/ReadableStream.cpp:88:3\n" +} diff --git a/test/fixtures/symbolize/macos-typical.json b/test/fixtures/symbolize/macos-typical.json new file mode 100644 index 0000000..00906fd --- /dev/null +++ b/test/fixtures/symbolize/macos-typical.json @@ -0,0 +1,10 @@ +{ + "description": "macos: typical llvm-symbolizer output, 3 bun frames", + "os": "macos", + "addresses": [ + { "address": 36223112, "object": "bun" }, + { "address": 36287456, "object": "bun" }, + { "address": 25166040, "object": "bun" } + ], + "stdout": "Bun::jsFunctionResolveSync(JSC::JSGlobalObject*, JSC::CallFrame*)\n/Users/runner/work/bun/bun/src/bun.js/bindings/ModuleLoader.cpp:642:5\nJSC::callJSFunction(JSC::JSGlobalObject*, JSC::CallFrame*)\n/Users/runner/work/bun/bun/vendor/WebKit/Source/JavaScriptCore/runtime/JSFunction.cpp:89:12\nsrc.bun.js.event_loop.EventLoop.tick\n/Users/runner/work/bun/bun/src/bun.js/event_loop.zig:1281:0\n" +} diff --git a/test/fixtures/symbolize/mixed-js-and-foreign-frames.json b/test/fixtures/symbolize/mixed-js-and-foreign-frames.json new file mode 100644 index 0000000..f5e74f1 --- /dev/null +++ b/test/fixtures/symbolize/mixed-js-and-foreign-frames.json @@ -0,0 +1,13 @@ +{ + "description": "linux: bun frames interleaved with js and foreign-object frames", + "os": "linux", + "addresses": [ + { "address": 8192000, "object": "bun" }, + { "address": 0, "object": "js" }, + { "address": 0, "object": "js" }, + { "address": 8390000, "object": "bun" }, + { "address": 12345, "object": "libc.so.6" }, + { "address": 8590000, "object": "bun" } + ], + "stdout": "src.js.node.fs.NodeFS.readFile\n/home/runner/work/bun/bun/src/js/node/fs.zig:412:0\nsrc.bun.js.module_loader.ModuleLoader.transpileSourceCode\n/home/runner/work/bun/bun/src/bun.js/module_loader.zig:2048:0\nmain\n/home/runner/work/bun/bun/src/main.zig:42:0\n" +} diff --git a/test/fixtures/symbolize/panic-prefix-stripped.json b/test/fixtures/symbolize/panic-prefix-stripped.json new file mode 100644 index 0000000..52379c5 --- /dev/null +++ b/test/fixtures/symbolize/panic-prefix-stripped.json @@ -0,0 +1,12 @@ +{ + "description": "leading panic/assert frames are stripped, trailing ?? frames are stripped", + "os": "linux", + "addresses": [ + { "address": 1111, "object": "bun" }, + { "address": 2222, "object": "bun" }, + { "address": 3333, "object": "bun" }, + { "address": 4444, "object": "bun" }, + { "address": 5555, "object": "bun" } + ], + "stdout": "src.report.panic\n/home/runner/work/bun/bun/src/report.zig:101:0\nstd.debug.assert\n/home/runner/zig/lib/std/debug.zig:403:0\nsrc.string_immutable.eqlLong\n/home/runner/work/bun/bun/src/string_immutable.zig:55:0\nsrc.resolver.resolver.Resolver.resolve\n/home/runner/work/bun/bun/src/resolver/resolver.zig:1820:0\n??\n??:0:0\n" +} diff --git a/test/fixtures/symbolize/windows-backslash-paths.json b/test/fixtures/symbolize/windows-backslash-paths.json new file mode 100644 index 0000000..b5118c1 --- /dev/null +++ b/test/fixtures/symbolize/windows-backslash-paths.json @@ -0,0 +1,10 @@ +{ + "description": "windows: pdb-addr2line backslash paths and ??:0 for one frame", + "os": "windows", + "addresses": [ + { "address": 14803521, "object": "bun" }, + { "address": 14997632, "object": "bun" }, + { "address": 1024, "object": "bun" } + ], + "stdout": "uv__process_reap\nC:\\a\\bun\\bun\\vendor\\libuv\\src\\win\\process.c:812:0\nsrc.install.install.PackageManager.installPackages__anon_1042\nC:\\a\\bun\\bun\\src\\install\\install.zig:9012:0\n??\n??:0:0\n" +} diff --git a/test/helpers/encode.ts b/test/helpers/encode.ts new file mode 100644 index 0000000..7108a44 --- /dev/null +++ b/test/helpers/encode.ts @@ -0,0 +1,97 @@ +import { deflateSync } from "node:zlib"; +import type { Platform, Arch } from "../../lib/util"; +import type { ParsedAddress } from "../../lib/parser"; + +const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + +export function encodeVlq(value: number): string { + let v = value < 0 ? (-value << 1) | 1 : value << 1; + let out = ""; + do { + let digit = v & 31; + v >>>= 5; + if (v > 0) digit |= 32; + out += chars[digit]; + } while (v > 0); + return out; +} + +const platform_char: Record<`${Platform}-${Arch}`, string> = { + "windows-x86_64": "w", + "windows-x86_64_baseline": "e", + "windows-aarch64": "W", + "macos-x86_64": "m", + "macos-x86_64_baseline": "b", + "macos-aarch64": "M", + "linux-x86_64": "l", + "linux-x86_64_baseline": "B", + "linux-aarch64": "L", +}; + +export type ReasonSpec = + | { kind: "panic"; message: string } + | { kind: "unreachable" } + | { kind: "segfault"; addr_hi: number; addr_lo: number } + | { kind: "stack_overflow" } + | { kind: "error"; message: string } + | { kind: "oom" }; + +function encodeReason(r: ReasonSpec): string { + switch (r.kind) { + case "panic": { + const compressed = deflateSync(Buffer.from(r.message)); + return "0" + compressed.toString("base64url"); + } + case "unreachable": + return "1"; + case "segfault": + return "2" + encodeVlq(r.addr_hi) + encodeVlq(r.addr_lo); + case "stack_overflow": + return "7"; + case "error": + return "8" + r.message; + case "oom": + return "9"; + } +} + +export interface BuildTraceOpts { + version: string; + os: Platform; + arch: Arch; + command: string; + trace_version: "1" | "2"; + commitish: string; + features?: [number, number]; + addresses: ParsedAddress[]; + reason: ReasonSpec; +} + +export function buildTraceString(opts: BuildTraceOpts): string { + if (opts.commitish.length !== 7) throw new Error("commitish must be 7 chars"); + const [f0, f1] = opts.features ?? [0, 0]; + let s = ""; + s += opts.version + "/"; + s += platform_char[`${opts.os}-${opts.arch}`]; + s += opts.command; + s += opts.trace_version; + s += opts.commitish; + s += encodeVlq(f0) + encodeVlq(f1); + for (const a of opts.addresses) { + if (a.object === "js") { + s += "="; + } else if (a.object === "?") { + s += "_"; + } else if (a.object === "bun") { + s += encodeVlq(a.address); + } else { + s += encodeVlq(1); + s += encodeVlq(a.object.length); + s += a.object; + s += encodeVlq(a.address); + } + } + s += encodeVlq(0); + s += encodeReason(opts.reason); + return s; +} diff --git a/test/parse.test.ts b/test/parse.test.ts new file mode 100644 index 0000000..b175409 --- /dev/null +++ b/test/parse.test.ts @@ -0,0 +1,31 @@ +import { describe, test, expect } from "bun:test"; +import { Glob } from "bun"; +import path from "node:path"; +import { parse } from "../lib/parser"; + +const dir = path.join(import.meta.dir, "fixtures", "parse"); +const glob = new Glob("**/*.json"); +const files = [...glob.scanSync({ cwd: dir })].sort(); + +if (files.length === 0) { + throw new Error("no parse fixtures found in test/fixtures/parse/"); +} + +describe("parse fixtures", () => { + for (const file of files) { + const fixture = require(path.join(dir, file)) as { description: string; input: string }; + + test(fixture.description, async () => { + const result = await parse(fixture.input); + expect(result).not.toBeNull(); + expect(stable(result)).toMatchSnapshot(); + }); + } +}); + +/** Drop fields that are derived/noisy so snapshots stay readable. */ +function stable(p: NonNullable>> | null) { + if (p == null) return null; + const { cache_key, ...rest } = p as unknown as Record; + return rest; +} diff --git a/test/roundtrip.test.ts b/test/roundtrip.test.ts new file mode 100644 index 0000000..528d4c9 --- /dev/null +++ b/test/roundtrip.test.ts @@ -0,0 +1,88 @@ +import { describe, test, expect } from "bun:test"; +import { parse } from "../lib/parser"; +import { buildTraceString, encodeVlq, type BuildTraceOpts } from "./helpers/encode"; +import { decodePart } from "../lib/vlq"; + +describe("vlq roundtrip", () => { + for (const v of [0, 1, 2, 31, 32, 0x1234, 0x10ab34, 0x7fffffff]) { + test(`0x${v.toString(16)}`, () => { + const [dec, consumed] = decodePart(encodeVlq(v)); + expect(dec).toBe(v); + expect(consumed).toBe(encodeVlq(v).length); + }); + } +}); + +describe("parse(buildTraceString(x)) recovers x", () => { + const cases: BuildTraceOpts[] = [ + { + version: "1.1.30", + os: "macos", + arch: "aarch64", + command: "r", + trace_version: "1", + commitish: "abc1234", + features: [3, 7], + addresses: [ + { address: 0x10ab34, object: "bun" }, + { address: 0x20cd56, object: "bun" }, + { address: 0x30ef78, object: "bun" }, + ], + reason: { kind: "segfault", addr_hi: 0, addr_lo: 0x6eadbeef }, + }, + { + version: "1.2.0", + os: "windows", + arch: "x86_64", + command: "i", + trace_version: "2", + commitish: "fedcba9", + features: [0, 0], + addresses: [ + { address: 0x1111, object: "bun" }, + { address: 0, object: "js" }, + { address: 0xabcd, object: "/libc.so.6" }, + { address: 0, object: "?" }, + { address: 0x2222, object: "bun" }, + ], + reason: { kind: "unreachable" }, + }, + { + version: "1.1.30", + os: "linux", + arch: "x86_64_baseline", + command: "t", + trace_version: "1", + commitish: "0000000", + addresses: [{ address: 0x42, object: "bun" }], + reason: { kind: "panic", message: "Integer overflow in allocator" }, + }, + ]; + + for (const c of cases) { + test(`${c.os}-${c.arch} v${c.trace_version}`, async () => { + const result = await parse(buildTraceString(c)); + expect(result).not.toBeNull(); + const p = result!; + + expect(p.version).toBe(c.version); + expect(p.os).toBe(c.os); + expect(p.arch).toBe(c.arch); + expect(p.command).toBe(c.command); + expect(p.commitish).toBe(c.commitish); + expect(p.features).toEqual(c.features ?? [0, 0]); + expect(p.is_canary).toBe(c.trace_version === "2"); + + expect(p.addresses).toHaveLength(c.addresses.length); + for (let i = 0; i < c.addresses.length; i++) { + expect(p.addresses[i].address).toBe(c.addresses[i].address); + const obj = c.addresses[i].object; + expect(p.addresses[i].object).toBe(obj.startsWith("/") ? obj.slice(1) : obj); + } + + if (c.reason.kind === "panic") expect(p.message).toBe(`panic: ${c.reason.message}`); + if (c.reason.kind === "unreachable") expect(p.message).toContain("unreachable"); + if (c.reason.kind === "segfault") expect(p.message).toContain(c.reason.addr_lo.toString(16).toUpperCase()); + }); + } +}); diff --git a/test/symbolize.test.ts b/test/symbolize.test.ts new file mode 100644 index 0000000..908538d --- /dev/null +++ b/test/symbolize.test.ts @@ -0,0 +1,34 @@ +import { describe, test, expect } from "bun:test"; +import { Glob } from "bun"; +import path from "node:path"; +import type { ParsedAddress } from "../lib/parser"; +import type { Platform } from "../lib/util"; +import { adjustBunAddresses, processSymbolizerOutput } from "../backend/symbolize"; + +interface SymbolizeFixture { + description: string; + os: Platform; + addresses: ParsedAddress[]; + stdout: string; +} + +const dir = path.join(import.meta.dir, "fixtures", "symbolize"); +const glob = new Glob("*.json"); +const files = [...glob.scanSync({ cwd: dir })].sort(); + +if (files.length === 0) { + throw new Error("no symbolize fixtures found in test/fixtures/symbolize/"); +} + +describe("symbolize fixtures", () => { + for (const file of files) { + const fixture = require(path.join(dir, file)) as SymbolizeFixture; + + test(fixture.description, () => { + expect({ + symbolizer_input: adjustBunAddresses(fixture.addresses, fixture.os), + addresses: processSymbolizerOutput(fixture.addresses, fixture.stdout), + }).toMatchSnapshot(); + }); + } +});