René's URL Explorer Experiment


Title: sea: --build-sea linux-arm64 output fails on 16 KiB and 64 KiB page kernels · Issue #67048 · nodejs/node · GitHub

Open Graph Title: sea: --build-sea linux-arm64 output fails on 16 KiB and 64 KiB page kernels · Issue #67048 · nodejs/node

X Title: sea: --build-sea linux-arm64 output fails on 16 KiB and 64 KiB page kernels · Issue #67048 · nodejs/node

Description: Version v26.12.1. The regression started in v26.9.0. v26.8.2 works. Platform Linux arm64 with a 16 KiB or 64 KiB page kernel. Examples are Raspberry Pi 5 with its default kernel, Asahi Linux on Apple Silicon, and Docker Sandbox or arm64 ...

Open Graph Description: Version v26.12.1. The regression started in v26.9.0. v26.8.2 works. Platform Linux arm64 with a 16 KiB or 64 KiB page kernel. Examples are Raspberry Pi 5 with its default kernel, Asahi Linux on App...

X Description: Version v26.12.1. The regression started in v26.9.0. v26.8.2 works. Platform Linux arm64 with a 16 KiB or 64 KiB page kernel. Examples are Raspberry Pi 5 with its default kernel, Asahi Linux on App...

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

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"sea: --build-sea linux-arm64 output fails on 16 KiB and 64 KiB page kernels","articleBody":"### Version\n\nv26.12.1. The regression started in v26.9.0. v26.8.2 works.\n\n### Platform\n\nLinux arm64 with a 16 KiB or 64 KiB page kernel. Examples are Raspberry Pi 5 with its default kernel, Asahi Linux on Apple Silicon, and Docker Sandbox or arm64 VMs on Apple Silicon. The stock `node` binary runs on these hosts. Only `node --build-sea` output fails.\n\n### Subsystem\n\nsingle-executable / sea\n\n### What steps will reproduce the bug?\n\nUse the official linux-arm64 tarball for v26.12.1.\n\nCreate `main.js`:\n\n```js\nconsole.log(\"hello from sea\", process.version);\n```\n\nCreate `sea.json`:\n\n```json\n{\"main\":\"main.js\",\"output\":\"hello\",\"disableExperimentalSEAWarning\":true}\n```\n\nRun `node --build-sea sea.json`. Then run `./hello` on Linux 6.12.107+deb13-arm64-16k, where `getconf PAGESIZE` is 16384.\n\n### How often does it reproduce? Is there a required condition?\n\nIt always reproduces. The required condition is a linux-arm64 host with a 16 KiB or 64 KiB page kernel.\n\n### What is the expected behavior? Why is that the expected behavior?\n\n`./hello` should print `hello from sea v26.12.1`. The stock `node` binary runs on the same host, and a SEA built with v26.8.2 runs there.\n\n### What do you see instead?\n\n```\n$ ./node --version          # stock v26.12.1\nv26.12.1\n$ ./hello   # built with v26.8.2\nhello from sea v26.8.2\n$ ./hello   # built with v26.12.1\nSegmentation fault          # exit 139\n```\n\nThe v26.12.1 build fails the same way on Ubuntu's 6.8.0-147-generic-64k kernel (64 KiB pages). On Raspberry Pi 5 and Fedora Asahi Remix hosts, `strace` shows `execve(...) = -1 EINVAL`, and `ld-linux-aarch64.so.1 --list` says \"ELF load command address/offset not page-aligned\".\n\n`readelf -lW hello` for the v26.12.1 output (excerpt):\n\n```\n  PHDR  0x6dad000 0x00000000071ad000 ... 0x0002a0 0x0002a0 R   0x8\n  LOAD  0x000000  0x0000000000400000 ... 0x41d390 0x41d390 R   0x10000\n  LOAD  0x420000  0x0000000000820000 ... 0x29d82f0 0x29d82f0 R E 0x10000\n  LOAD  0x2e00000 0x0000000003200000 ... 0x3eda298 0x3eda298 R   0x10000\n  LOAD  0x6cdee00 0x00000000070eee00 ... 0x0bdb00 0x0bdb00 RW  0x10000\n  LOAD  0x6dad000 0x00000000071ad000 ... 0x000508 0x000508 R   0x1000\n  LOAD  0x8faf000 0x000000001015d000 ... 0x001000 0x001000 R   0x1000\n```\n\nThe v26.8.2 output has no extra PHDR LOAD. Its SEA note LOAD is at offset 0x8dde000 and vaddr 0x10dde000, with align 0x10000.\n\n### Additional information\n\n#65564 added a call to `relocate_phdr_table(PHDR_RELOC::BSS_END)` in `src/node_sea_bin.cc` for non-PIE (`ET_EXEC`) executables, and the official Linux binaries are non-PIE. On linux-arm64, the relocated program header table sits at vaddr 0x71ad000 on a 4 KiB boundary, right after `.bss` ends at 0x71ac900, so it shares a 16 KiB page with the RW segment at 0x70eee00. The SEA note LOAD has file offset 0x8faf000 and vaddr 0x1015d000, which are not congruent mod 16 KiB. Kernels with a page size larger than 4 KiB refuse to map such segments. The test from that PR, `test/sea/test-build-sea-elf-segments.js`, checks at the host page size, and CI hosts use 4 KiB pages, so it did not catch this.\n\nA possible fix is to align the new segments to 64 KiB on aarch64, as the linker already does for the existing segments, or to skip the BSS_END relocation there. The test should also check at 64 KiB.\n\nT3 Code hit this after bumping its SEA CLI to Node 26.12.1: https://github.com/pingdotgg/t3code/issues/23433\n\n---\n\nInvestigated and drafted with AI coding agents, directed and reviewed by @t3dotgg. The reproduction above was run as shown.\n\nDrafted alongside Opus 5.5 and Muse Wonder Full (pls don't be mad at me Matteo)","author":{"url":"https://github.com/t3dotgg","@type":"Person","name":"t3dotgg"},"datePublished":"2026-10-27T08:30:45Z","url":"https://github.com/nodejs/node/issues/67048"}

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:a3fe5e3c-a5a9-783f-3efa-e5365ed42dbc
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idE19E:34A019:4188ED:54EA95:6AED2129
html-safe-noncea063375f1835fd120c86b8dfce520dc567da8e10ffe391e8b587f261757ebced
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMTlFOjM0QTAxOTo0MTg4RUQ6NTRFQTk1OjZBRUQyMTI5IiwidmlzaXRvcl9pZCI6IjYwMDQ4NDkyMDkxNzk0NDc1OTMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmacb6b87d69f3b5f83d3f7615b264241e27f05ef5eb7625e8497140ae3fd8380bad
hovercard-subject-tagissue:6055622132
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/67048/issue_layout
twitter:imagehttps://opengraph.githubassets.com/b088fc208d7b0ff6c942078e724429d346ee13950516ce11a7798bdc3454522a/nodejs/node/issues/67048
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/b088fc208d7b0ff6c942078e724429d346ee13950516ce11a7798bdc3454522a/nodejs/node/issues/67048
og:image:altVersion v26.12.1. The regression started in v26.9.0. v26.8.2 works. Platform Linux arm64 with a 16 KiB or 64 KiB page kernel. Examples are Raspberry Pi 5 with its default kernel, Asahi Linux on App...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamet3dotgg
hostnamegithub.com
expected-hostnamegithub.com
Nonee3e0f7f63e50c6fe879198a93a0a023a648ecc0a5e9bc3b5e033ac57172237e6
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
release707a24b346ac8a82878b9c084efaa38a997660cb
ui-targetfull
theme-color#1e2327
color-schemelight dark
react-app-nameissues

Links:

Skip to contenthttps://github.com/nodejs/node/issues/67048#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fissues%2F67048
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%2F67048
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/67048
Reloadhttps://github.com/nodejs/node/issues/67048
Reloadhttps://github.com/nodejs/node/issues/67048
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/67048
New issuehttps://github.com/login?return_to=https://github.com/nodejs/node/issues/67048
sea: --build-sea linux-arm64 output fails on 16 KiB and 64 KiB page kernelshttps://github.com/nodejs/node/issues/67048#top
armIssues and PRs related to the ARM architecture.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22arm%22
linuxIssues and PRs related to the Linux platform.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22linux%22
single-executableIssues and PRs related to single-executable applications.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22single-executable%22
https://github.com/t3dotgg
t3dotgghttps://github.com/t3dotgg
on Oct 27, 2026https://github.com/nodejs/node/issues/67048#issue-6055622132
#65564https://github.com/nodejs/node/pull/65564
pingdotgg/t3code#23433https://github.com/pingdotgg/t3code/issues/23433
@t3dotgghttps://github.com/t3dotgg
t3dotgghttps://github.com/t3dotgg
on Oct 27, 2026https://github.com/nodejs/node/issues/67048#event-34346250341
fix(build): TEMPORARY workaround so linux-arm64 builds run on 16/64 K…https://github.com/pingdotgg/t3code/commit/c175e5737eddeef1b7376a6761f29da926f53ea3
c175e57https://github.com/pingdotgg/t3code/commit/c175e5737eddeef1b7376a6761f29da926f53ea3
adampeterhigginshttps://github.com/adampeterhiggins
on Oct 27, 2026https://github.com/nodejs/node/issues/67048#event-34355839516
merge upstream/main into fork (#502)https://github.com/adampeterhiggins/t3code/commit/a5c76f20480f9414767d9876fc61431b811aad3d
#502https://github.com/adampeterhiggins/t3code/pull/502
a5c76f2https://github.com/adampeterhiggins/t3code/commit/a5c76f20480f9414767d9876fc61431b811aad3d
https://github.com/inoway46
inoway46https://github.com/inoway46
on Oct 29, 2026https://github.com/nodejs/node/issues/67048#issuecomment-6502288074
Workflow and logshttps://github.com/inoway46/node/actions/runs/40881509131
inoway46https://github.com/inoway46
single-executableIssues and PRs related to single-executable applications.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22single-executable%22
armIssues and PRs related to the ARM architecture.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22arm%22
linuxIssues and PRs related to the Linux platform.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22linux%22
on Oct 29, 2026https://github.com/nodejs/node/issues/67048#event-34608528435
https://github.com/inoway46
inoway46https://github.com/inoway46
on Oct 31, 2026https://github.com/nodejs/node/issues/67048#issuecomment-6538441468
LIEF commit 5da7685https://github.com/lief-project/LIEF/commit/5da76859ef9272689a13a2669746d15391cde03a
Node buildhttps://github.com/inoway46/node/actions/runs/41150179486/job/124384586984
Verification resultshttps://github.com/inoway46/node/actions/runs/41157496904
khoihttps://github.com/khoi
on Oct 31, 2026https://github.com/nodejs/node/issues/67048#event-34771187963
fix(build): TEMPORARY workaround so linux-arm64 builds run on 16/64 K…https://github.com/supabitapp/supaterm/commit/0ae4f428abe3df059259b7d12a1aadf759bb301a
0ae4f42https://github.com/supabitapp/supaterm/commit/0ae4f428abe3df059259b7d12a1aadf759bb301a
incognitojamhttps://github.com/incognitojam
on Oct 31, 2026https://github.com/nodejs/node/issues/67048#event-34792735820
fix(build): TEMPORARY workaround so linux-arm64 builds run on 16/64 K…https://github.com/incognitojam/styal/commit/0582152518b4bc84912a7fb1b87265af40c96025
0582152https://github.com/incognitojam/styal/commit/0582152518b4bc84912a7fb1b87265af40c96025
Sign up for freehttps://github.com/signup?return_to=https://github.com/nodejs/node/issues/67048
Sign in to commenthttps://github.com/login?return_to=https://github.com/nodejs/node/issues/67048
armIssues and PRs related to the ARM architecture.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22arm%22
linuxIssues and PRs related to the Linux platform.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22linux%22
single-executableIssues and PRs related to single-executable applications.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22single-executable%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.