René's URL Explorer Experiment


Title: JSON.parse returns unexpected keys after decoding specified JSON key · Issue #63785 · nodejs/node · GitHub

Open Graph Title: JSON.parse returns unexpected keys after decoding specified JSON key · Issue #63785 · nodejs/node

X Title: JSON.parse returns unexpected keys after decoding specified JSON key · Issue #63785 · nodejs/node

Description: Version 24.16.0 Platform Microsoft Windows NT 10.0.20348.0 x64 Linux [REDACTED] 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64 x86_64 x86_64 GNU/Linux Subsystem No response What steps will reproduc...

Open Graph Description: Version 24.16.0 Platform Microsoft Windows NT 10.0.20348.0 x64 Linux [REDACTED] 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64 x86_64 x86_64 GNU/Linux Subsys...

X Description: Version 24.16.0 Platform Microsoft Windows NT 10.0.20348.0 x64 Linux [REDACTED] 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64 x86_64 x86_64 GNU/Linux Subsys...

Opengraph URL: https://github.com/nodejs/node/issues/63785

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"JSON.parse returns unexpected keys after decoding specified JSON key","articleBody":"### Version\n\n24.16.0\n\n### Platform\n\n```text\nMicrosoft Windows NT 10.0.20348.0 x64\nLinux [REDACTED] 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64 x86_64 x86_64 GNU/Linux\n```\n\n### Subsystem\n\n_No response_\n\n### What steps will reproduce the bug?\n\n### Background\n\nI was fuzzing a custom JSON parser by generating random stuff, serializing them with `JSON.stringify`, parsing them with my parser, and cross-checking the result against native `JSON.parse`.\n\nThe fuzz test reported divergences somehow, and during the troubleshoot I found this very weird bug. I'm able to reproduce it on two machines (Windows / Linux, Node 24.16.0 x64), but unable to reproduce it on my own machine with Node 20 / 16, nor can I reproduce it in ChatGPT's sandbox (Node v22.16.0 and Linux I guess).\n\n### Trigger sequence definition\n\nFor a given sequence pair:\n\n```js\nconst CANARY = '{\"\\\\r\":\"value are not important\",\"\\\\n\":\"just keys\"}', CHECK = '\\n'.charCodeAt(0);\nconst TRIGGER = '{\\\"\\\\r\\\":[],\\\"\\\\\\\\\\\":0}';\n```\n\nThe first key of two sequences should be the same (`\\r` vs `\\r`, or `\\f` vs `\\f`, etc.). And the second of canary should be another escaped control string (We use `\\n` in this case.\n\nThese are all valid trigger sequences:\n\n```js\nconst CANARY = '{\"\\\\r\":\"value are not important\",\"\\\\f\":\"just keys\"}', CHECK = '\\f'.charCodeAt(0);\nconst TRIGGER = '{\"\\\\r\":[],\"\\\\\\\\\":0}';\n\nconst CANARY = '{\"\\\\f\":\"value are not important\",\"\\\\n\":\"just keys\"}', CHECK = '\\n'.charCodeAt(0);\nconst TRIGGER = '{\"\\\\f\":[],\"\\\\\\\\\":0}';\n\nconst CANARY = '{\"\\\\n\":\"value are not important\",\"\\\\f\":\"just keys\"}', CHECK = '\\f'.charCodeAt(0);\nconst TRIGGER = '{\"\\\\n\":[],\"\\\\\\\\\":0}';\n\nconst CANARY = '{\"\\\\f\":\"value are not important\",\"\\\\r\":\"just keys\"}', CHECK = '\\r'.charCodeAt(0);\nconst TRIGGER = '{\"\\\\f\":[],\"\\\\\\\\\":0}';\n```\n\n### Minimal reproduce snippet\n\nThis is a hand-written version without AI slop.\n\n```js\nconsole.info('Node version: ' + process.versions.node);\n\nconst CANARY = '{\"\\\\r\":\"value are not important\",\"\\\\f\":\"just keys\"}', CHECK = '\\f'.charCodeAt(0);\nconst TRIGGER = '{\"\\\\r\":[],\"\\\\\\\\\":0}';\n\nconst isStateBroken = (pass) => {\n    const keys = Object.keys(JSON.parse(CANARY));\n    console.info(`[${pass.padEnd(10)}] Test keys: ${keys.map(k => Buffer.from(k).toString('hex')).join(', ')}`);\n    return keys[1].charCodeAt(0) !== CHECK;\n};\n\n// Do a check first\nif (isStateBroken('Before')) {\n    console.log('State already broken even before trigger sequence. Cannot reproduce!');\n    process.exit(2);\n}\n\n// Parse some good jsons\nJSON.parse('{\"good\": \"json\"}');\nJSON.parse('{\"yay\": 114514}');\n\n// Still good\nif (isStateBroken('Good Parse')) {\n    console.log('State already broken even before trigger sequence. Cannot reproduce!');\n    process.exit(2);\n}\n\n// WTF\ntry {\n    JSON.parse(TRIGGER);\n} catch {\n    console.log('Trigger sequence parse failed!');\n    process.exit(2);\n}\n\n// Is it broken now?\nconst bad = isStateBroken('Triggered');\nconsole.log(bad ? 'BROKEN' : 'Nope');\nprocess.exit(bad ? 0 : 1);\n```\n\n#### Output\n\n```\n[root@localhost bin]# ./node wtf.mjs\nNode version: 24.16.0\n[Before    ] Test keys: 0d, 0c\n[Good Parse] Test keys: 0d, 0c\n[Triggered ] Test keys: 0d, 5c\nBROKEN\n\n[root@localhost bin]# node-20 wtf.mjs\nNode version: 20.14.0\n[Before    ] Test keys: 0d, 0c\n[Good Parse] Test keys: 0d, 0c\n[Triggered ] Test keys: 0d, 5c\nNope\n```\n\n\u003cdetails>\n\n\u003csummary>Here's a GPT-5.5 generated version, that uses my original fuzzer\u003c/summary>\n\nIt basically does the same thing with the minimal version, just using my original fuzzer.\n\n```js\nconst POOL = ['a', 'b', ' ', '\"', '\\\\', '\\n', '\\t', '\\r', '\\b', '\\f', String.fromCharCode(0), String.fromCharCode(0x1f), '/', '中', 'é', '\\u{1f600}'].join('');\n\nfunction mulberry32(seed) {\n    let a = seed >>> 0;\n    return () => {\n        a |= 0; a = (a + 0x6d2b79f5) | 0;\n        let t = Math.imul(a ^ (a >>> 15), 1 | a);\n        t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;\n        return ((t ^ (t >>> 14)) >>> 0) / 4294967296;\n    };\n}\n\nfunction randNumber(rng) {\n    const k = Math.floor(rng() * 8);\n    if (k === 0) return 0;\n    if (k === 1) return Math.floor((rng() - 0.5) * 2e6);\n    if (k === 2) return (rng() - 0.5) * 2e6;\n    if (k === 3) return rng() * 1e-7;\n    if (k === 4) return rng() * 1e21;\n    if (k === 5) return Number.MAX_SAFE_INTEGER;\n    if (k === 6) return -0;\n    return rng() \u003c 0.5 ? 0.1 + 0.2 : Math.PI;\n}\n\nfunction randString(rng) {\n    const len = Math.floor(rng() * 8);\n    let s = '';\n    for (let i = 0; i \u003c len; i++) {\n        s += rng() \u003c 0.6\n            ? [...POOL][Math.floor(rng() * [...POOL].length)]\n            : String.fromCharCode(Math.floor(rng() * 0x90));\n    }\n    return s;\n}\n\nfunction randValue(rng, depth) {\n    const r = rng();\n    if (depth \u003c= 0 || r \u003c 0.45) {\n        const k = Math.floor(rng() * 5);\n        if (k === 0) return null;\n        if (k === 1) return rng() \u003c 0.5;\n        if (k === 2) return randNumber(rng);\n        return randString(rng);\n    }\n\n    const len = Math.floor(rng() * 5);\n    if (r \u003c 0.72) return Array.from({ length: len }, () => randValue(rng, depth - 1));\n\n    const o = {};\n    for (let i = 0; i \u003c len; i++) {\n        o[randString(rng)] = randValue(rng, depth - 1);\n    }\n    return o;\n}\n\nfunction reserialize(value, rng) {\n    const styles = [undefined, 1, 2, 4, '\\t', ' \\t'];\n    const indent = styles[Math.floor(rng() * styles.length)];\n    const body = JSON.stringify(value, null, indent);\n    const pad = () => ' \\t\\r\\n'.repeat(Math.floor(rng() * 2));\n    return pad() + body + pad();\n}\n\n// Canary: a two-byte string value.\n// The second key is the JSON escape \"\\\\r\", which should decode to CR / U+000D.\nconst CANARY = '{\"\\\\f\":\"中\",\"\\\\r\":\"x\"}';\n\nconst canaryBad = () => {\n    const keys = Object.keys(JSON.parse(CANARY));\n    return keys[1].charCodeAt(0) !== 0x0d;\n};\n\nconst ITERS = Number(process.argv[2]) || 2000;\n\nconsole.log('node:', process.version);\nconsole.log('v8:', process.versions.v8);\nconsole.log('pool len:', [...POOL].length, '| cold canary OK:', !canaryBad());\n\nconst rng = mulberry32(305419896);\nlet firstBadAt = -1;\n\nfor (let n = 0; n \u003c ITERS; n++) {\n    JSON.parse(reserialize(randValue(rng, 1 + Math.floor(rng() * 5)), rng));\n\n    if (firstBadAt \u003c 0 && canaryBad()) {\n        firstBadAt = n;\n    }\n}\n\nconsole.log(`after ${ITERS} JSON.parse-only iters: canary bad = ${canaryBad()}, first bad at iter = ${firstBadAt}`);\n\nconst keys = Object.keys(JSON.parse(CANARY));\nconsole.log('final canary keys:');\nfor (const key of keys) {\n    console.log(JSON.stringify(key), [...key].map(ch => ch.charCodeAt(0).toString(16).padStart(2, '0')));\n}\n```\n\n#### Output\n\n```\n>node wtf-gpt.mjs\nnode: v24.16.0\nv8: 13.6.233.17-node.49\npool len: 16 | cold canary OK: true\nafter 2000 JSON.parse-only iters: canary bad = true, first bad at iter = 104\nfinal canary keys:\n\"\\f\" [ '0c' ]\n\"\\\\\" [ '5c' ]\n```\n\u003c/details>\n\n\n### How often does it reproduce? Is there a required condition?\n\nAlways reproducible with node `v24.13.1` and `v24.16.0` (Windows and Linux x64).\n\nNOT reproducible with node `v16.17.0`, `v20.14.0` and `v22.16.0` (Linux x64).\n\n\n### What is the expected behavior? Why is that the expected behavior?\n\nThe 2nd key of parsed object is always `0x0A` or other expected value (e.g. '\\r') no matter how many times we call `JSON.parse` with whatever argument.\n\n`isStateBroken` always returns false.\n\n\n### What do you see instead?\n\nThe 2nd  key become `0x5C` (or other values? all I see is `0x5C` for now) after passing the trigger sequence to `JSON.parse`.\n\nAnd `isStateBroken` returns true.\n\n### Additional information\n\n_No response_","author":{"url":"https://github.com/xWTF","@type":"Person","name":"xWTF"},"datePublished":"2026-06-07T14:19:03Z","url":"https://github.com/nodejs/node/issues/63785"}

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:6e03f1a0-2d5f-5a5f-3858-d3c6b902124a
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idB6F8:6780E:5A7E6E:75F0AE:6AED2A34
html-safe-noncefb4d944efd3cd0edde7d7ac0eaeee4c24a42afb8a5f264d4d852f50bdfa8a5b1
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNkY4OjY3ODBFOjVBN0U2RTo3NUYwQUU6NkFFRDJBMzQiLCJ2aXNpdG9yX2lkIjoiOTc2MTMxNTM0MjgxODQ1MzAwIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac64906e92eb57c6339e798621f5ccf4f692df12ff2882afc6d4c944e56fd36292
hovercard-subject-tagissue:4607610695
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/nodejs/node/63785/issue_layout
twitter:imagehttps://opengraph.githubassets.com/006078e51ed3012ef8dc35f7b24f68d87684ec3ee4fe4d02e7ad1e99bb835dc2/nodejs/node/issues/63785
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/006078e51ed3012ef8dc35f7b24f68d87684ec3ee4fe4d02e7ad1e99bb835dc2/nodejs/node/issues/63785
og:image:altVersion 24.16.0 Platform Microsoft Windows NT 10.0.20348.0 x64 Linux [REDACTED] 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64 x86_64 x86_64 GNU/Linux Subsys...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamexWTF
hostnamegithub.com
expected-hostnamegithub.com
None9d95365dda0576efe9b71f45807595e396bd0ca9286fba5367a05048e6ddf8f2
turbo-cache-controlno-preview
go-importgithub.com/nodejs/node git https://github.com/nodejs/node.git
octolytics-dimension-user_id9950313
octolytics-dimension-user_loginnodejs
octolytics-dimension-repository_id27193779
octolytics-dimension-repository_nwonodejs/node
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id27193779
octolytics-dimension-repository_network_root_nwonodejs/node
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release98b41fa4b5635ceb45a4c54320fced73817ff290
ui-targetcanary-2
theme-color#1e2327
color-schemelight dark
react-app-nameissues

Links:

Skip to contenthttps://github.com/nodejs/node/issues/63785#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fissues%2F63785
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fissues%2F63785
Sign uphttps://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=nodejs%2Fnode
Reloadhttps://github.com/nodejs/node/issues/63785
Reloadhttps://github.com/nodejs/node/issues/63785
Reloadhttps://github.com/nodejs/node/issues/63785
nodejshttps://github.com/nodejs
nodehttps://github.com/nodejs/node
Codehttps://github.com/nodejs/node
Issues656 (656)https://github.com/nodejs/node/issues
Pull requests666 (666)https://github.com/nodejs/node/pulls
Actionshttps://github.com/nodejs/node/actions
Projectshttps://github.com/nodejs/node/projects
Security and qualityhttps://github.com/nodejs/node/security
Insightshttps://github.com/nodejs/node/pulse
https://github.com/nodejs/node
New issuehttps://github.com/login?return_to=https://github.com/nodejs/node/issues/63785
New issuehttps://github.com/login?return_to=https://github.com/nodejs/node/issues/63785
JSON.parse returns unexpected keys after decoding specified JSON keyhttps://github.com/nodejs/node/issues/63785#top
v8 engineIssues and PRs related to the V8 dependency.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22v8%20engine%22
https://github.com/xWTF
xWTFhttps://github.com/xWTF
on Jun 7, 2026https://github.com/nodejs/node/issues/63785#issue-4607610695
Nexthttps://github.com/nodejs/node/issues/63785?timeline_page=1
https://github.com/3zrv
3zrvhttps://github.com/3zrv
on Jun 8, 2026https://github.com/nodejs/node/issues/63785#issuecomment-4650601263
https://issues.chromium.org/issues/521080746https://issues.chromium.org/issues/521080746
https://github.com/xWTF
xWTFhttps://github.com/xWTF
on Jun 8, 2026https://github.com/nodejs/node/issues/63785#issuecomment-4650794681
https://issues.chromium.org/issues/521080746https://issues.chromium.org/issues/521080746
pdlughttps://github.com/pdlug
on Jul 3, 2026https://github.com/nodejs/node/issues/63785#event-27511918435
docs(test): cite the upstream V8/Node issues for the JSON.parse escap…https://github.com/nicia-ai/typegraph/commit/7a2ac2178de2750add00d221b0ef54b4c4b820d7
7a2ac21https://github.com/nicia-ai/typegraph/commit/7a2ac2178de2750add00d221b0ef54b4c4b820d7
trivikrhttps://github.com/trivikr
v8 engineIssues and PRs related to the V8 dependency.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22v8%20engine%22
on Jul 13, 2026https://github.com/nodejs/node/issues/63785#event-27885914453
https://github.com/Stvad
Stvadhttps://github.com/Stvad
on Jul 17, 2026https://github.com/nodejs/node/issues/63785#issuecomment-5006636989
#64546https://github.com/nodejs/node/issues/64546
Stvadhttps://github.com/Stvad
on Jul 17, 2026https://github.com/nodejs/node/issues/63785#event-28138284910
Merge pull request #399 from Stvad/claude/fuzz-quarantine-repoint-63785https://github.com/Stvad/knowledge-medium/commit/a03b71d1ed38849997b7491886fa939a60167ed9
#399https://github.com/Stvad/knowledge-medium/pull/399
a03b71dhttps://github.com/Stvad/knowledge-medium/commit/a03b71d1ed38849997b7491886fa939a60167ed9
spolakhhttps://github.com/spolakh
on Jul 21, 2026https://github.com/nodejs/node/issues/63785#event-28293237833
docs(fuzz): re-point V8 quarantine to canonical upstream nodejs/node#…https://github.com/spolakh/km-upstream/commit/5fc4a62cd041287af3325f12dfe03d6cabb88feb
nodejs/node#…https://github.com/nodejs/node/issues/63785
5fc4a62https://github.com/spolakh/km-upstream/commit/5fc4a62cd041287af3325f12dfe03d6cabb88feb
https://github.com/ahzf
ahzfhttps://github.com/ahzf
on Aug 20, 2026https://github.com/nodejs/node/issues/63785#issuecomment-5352851266
ahzfhttps://github.com/ahzf
on Aug 20, 2026https://github.com/nodejs/node/issues/63785#event-29729084541
Report it upstream, and correct what we had writtenhttps://github.com/Vanaheimr/MetrologicalCBOR.TS/commit/ea95f05020b34130d8d0798cf17bf9827319065c
ea95f05https://github.com/Vanaheimr/MetrologicalCBOR.TS/commit/ea95f05020b34130d8d0798cf17bf9827319065c
Correct section 16, and say where the report wenthttps://github.com/Vanaheimr/MCBORConformanceTests/commit/f3a3d7e85d344517724b89d297d5013e496f8cc7
f3a3d7ehttps://github.com/Vanaheimr/MCBORConformanceTests/commit/f3a3d7e85d344517724b89d297d5013e496f8cc7
https://github.com/ahzf
ahzfhttps://github.com/ahzf
on Aug 21, 2026https://github.com/nodejs/node/issues/63785#issuecomment-5374176978
systemfsoftware-makerhttps://github.com/systemfsoftware-maker
on Sep 25, 2026https://github.com/nodejs/node/issues/63785#event-31822317588
test(repo): keep worker-options law keys clear of the V8 JSON key-cac…https://github.com/systemfsoftware/stryker-js-effect/commit/e700b9f93055978a7f6d8af93d7967a9124c86f4
e700b9fhttps://github.com/systemfsoftware/stryker-js-effect/commit/e700b9f93055978a7f6d8af93d7967a9124c86f4
ryanleecodehttps://github.com/ryanleecode
on Sep 25, 2026https://github.com/nodejs/node/issues/63785#event-31841917686
fix(repo): repair the vm runner and config subpath after 11.0.0 (#110)https://github.com/systemfsoftware/stryker-js-effect/commit/e37907beb4e8942a90dbd0888533cd92a3822c0a
#110https://github.com/systemfsoftware/stryker-js-effect/pull/110
e37907bhttps://github.com/systemfsoftware/stryker-js-effect/commit/e37907beb4e8942a90dbd0888533cd92a3822c0a
stuffbuckethttps://github.com/stuffbucket
on Oct 4, 2026https://github.com/nodejs/node/issues/63785#event-32456596868
test(maximal-cli): avoid V8 escaped-key JSON.parse bug in property testhttps://github.com/stuffbucket/monimal/commit/8fef7338925c582b99bc6f195f1d963da8f1e50c
8fef733https://github.com/stuffbucket/monimal/commit/8fef7338925c582b99bc6f195f1d963da8f1e50c
test(maximal-cli): avoid V8 escaped-key JSON.parse bug in property testhttps://github.com/stuffbucket/monimal/commit/194a4e539659b9223a5b544f745987015289d6a6
194a4e5https://github.com/stuffbucket/monimal/commit/194a4e539659b9223a5b544f745987015289d6a6
ryanleecodehttps://github.com/ryanleecode
on Oct 12, 2026https://github.com/nodejs/node/issues/63785#event-33071038354
fix(stryker-js-vitest-runner): require Node 24 and document the V8 JS…https://github.com/systemfsoftware/stryker-js-effect/commit/b1483eea58d79f2e128e7ae523e18c66035acc35
b1483eehttps://github.com/systemfsoftware/stryker-js-effect/commit/b1483eea58d79f2e128e7ae523e18c66035acc35
systemfsoftware-makerhttps://github.com/systemfsoftware-maker
on Oct 12, 2026https://github.com/nodejs/node/issues/63785#event-33083827930
fix(e2e-core): read every manifest key past the V8 JSON.parse key bughttps://github.com/systemfsoftware/stryker-js-effect/commit/309ca54f3e9a1f4a9e3cf04455315a9a4ba32f69
309ca54https://github.com/systemfsoftware/stryker-js-effect/commit/309ca54f3e9a1f4a9e3cf04455315a9a4ba32f69
ryanleecodehttps://github.com/ryanleecode
on Oct 13, 2026https://github.com/nodejs/node/issues/63785#event-33095247281
fix(e2e-core): refuse fixture-manifest keys JSON must escape (#306)https://github.com/systemfsoftware/stryker-js-effect/commit/0aebc83e64b45ee8ec8b0f6152dd6c9834d2813b
#306https://github.com/systemfsoftware/stryker-js-effect/pull/306
0aebc83https://github.com/systemfsoftware/stryker-js-effect/commit/0aebc83e64b45ee8ec8b0f6152dd6c9834d2813b
fix(stryker-js): read report file keys exactly on Node 24 and refuse …https://github.com/systemfsoftware/stryker-js-effect/commit/2512017555465f803e8db739d3263adf505f04ac
2512017https://github.com/systemfsoftware/stryker-js-effect/commit/2512017555465f803e8db739d3263adf505f04ac
fMindstormerhttps://github.com/fMindstormer
on Oct 19, 2026https://github.com/nodejs/node/issues/63785#event-33695395690
Fuzzer spike: differential fuzzing of tokenizer runtimes, with the ma…https://github.com/fMindstormer/tokcpu/commit/b4ac7c4007793cd6722796daf8f3b89e768742e5
b4ac7c4https://github.com/fMindstormer/tokcpu/commit/b4ac7c4007793cd6722796daf8f3b89e768742e5
skyeaglehttps://github.com/skyeagle
on Oct 22, 2026https://github.com/nodejs/node/issues/63785#event-33917391309
SM-1272 Read the checkpoint input text without JSON.parsehttps://github.com/stablemates/workhorse/commit/e7fb722256eacd9d4472b15cc8ed5f3fef535fd2
e7fb722https://github.com/stablemates/workhorse/commit/e7fb722256eacd9d4472b15cc8ed5f3fef535fd2
SM-1272 Read the checkpoint input text without JSON.parse (#864)https://github.com/stablemates/workhorse/commit/b4348387a83c02d6aafe92aef2935ffd258357e8
#864https://github.com/stablemates/workhorse/pull/864
b434838https://github.com/stablemates/workhorse/commit/b4348387a83c02d6aafe92aef2935ffd258357e8
SM-1431 Share the checkpoint fingerprint vectors as one protocol fixturehttps://github.com/stablemates/workhorse/commit/d024cb1bd34cbbb1f248d992b20b6f335e9ed663
d024cb1https://github.com/stablemates/workhorse/commit/d024cb1bd34cbbb1f248d992b20b6f335e9ed663
SM-1431 Share the checkpoint fingerprint vectors as one protocol fixt…https://github.com/stablemates/workhorse/commit/295119231a8a664028ec8fdb318f8c399de6e1d1
2951192https://github.com/stablemates/workhorse/commit/295119231a8a664028ec8fdb318f8c399de6e1d1
SM-1592 Avoid the Node JSON.parse key fault in replay and the toolchainhttps://github.com/stablemates/workhorse/commit/98c34856ab38ec7749eecf757560e89acb48feda
98c3485https://github.com/stablemates/workhorse/commit/98c34856ab38ec7749eecf757560e89acb48feda
SM-1592 Avoid the Node JSON.parse key fault in replay and the toolcha…https://github.com/stablemates/workhorse/commit/da7db516f056d073f1f0ed08749a020d34dded1d
da7db51https://github.com/stablemates/workhorse/commit/da7db516f056d073f1f0ed08749a020d34dded1d
https://github.com/3zrv
3zrvhttps://github.com/3zrv
on Oct 26, 2026https://github.com/nodejs/node/issues/63785#issuecomment-6416802998
@xWTFhttps://github.com/xWTF
panvahttps://github.com/panva
completedhttps://github.com/nodejs/node/issues?q=is%3Aissue%20state%3Aclosed%20archived%3Afalse%20reason%3Acompleted
on Oct 26, 2026https://github.com/nodejs/node/issues/63785#event-34262050324
ahzfhttps://github.com/ahzf
on Nov 1, 2026https://github.com/nodejs/node/issues/63785#event-34837087761
WP8 has an ending: the escaped-key bug is fixed and shippedhttps://github.com/Vanaheimr/MetrologicalCBOR.TS/commit/2ce6861156f50389aad77852454c5d7f9bf271e3
2ce6861https://github.com/Vanaheimr/MetrologicalCBOR.TS/commit/2ce6861156f50389aad77852454c5d7f9bf271e3
Give §16 its ending, and advance the pin that carries ithttps://github.com/Vanaheimr/MCBORConformanceTests/commit/9c2dff9d2e8430a194cac9d145f6a5838ebb3379
9c2dff9https://github.com/Vanaheimr/MCBORConformanceTests/commit/9c2dff9d2e8430a194cac9d145f6a5838ebb3379
Sign up for freehttps://github.com/signup?return_to=https://github.com/nodejs/node/issues/63785
Sign in to commenthttps://github.com/login?return_to=https://github.com/nodejs/node/issues/63785
v8 engineIssues and PRs related to the V8 dependency.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22v8%20engine%22
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.