René's URL Explorer Experiment


Title: [BUG] Segfault on combo of global ctors, ostream, wasi · Issue #33175 · nodejs/node · GitHub

Open Graph Title: [BUG] Segfault on combo of global ctors, ostream, wasi · Issue #33175 · nodejs/node

X Title: [BUG] Segfault on combo of global ctors, ostream, wasi · Issue #33175 · nodejs/node

Description: This is an issue for node's WASI integration with emscripten. both global ctors need to be called, and ostream being used in the WASM standalone mode (emsdk latest upstream). I have a case where I need to call the global static initializ...

Open Graph Description: This is an issue for node's WASI integration with emscripten. both global ctors need to be called, and ostream being used in the WASM standalone mode (emsdk latest upstream). I have a case where I ...

X Description: This is an issue for node's WASI integration with emscripten. both global ctors need to be called, and ostream being used in the WASM standalone mode (emsdk latest upstream). I have a case wher...

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

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[BUG] Segfault on combo of global ctors, ostream, wasi","articleBody":"This is an issue for node's WASI integration with emscripten.\r\n\r\nboth global ctors need to be called, and ostream being used in the WASM standalone mode (emsdk latest upstream). \r\n\r\nI have a case where I need to call the global static initializers(need to call _start before running other functions), but also have ostream in the code. \r\n\r\nWhat was happening is that when ostream is being used in the code and it somehow triggers certain things to be added to global ctors, and then calling global ctors resulted in a segfault. So far I only get this error on node14, and I am not sure if it is related to the use of WASI.\r\n\r\n### C++\r\n```c++\r\n#include \u003cemscripten.h>\r\n#include \u003cvector>\r\n#include \u003csstream>\r\n\r\n// static intializer, need to call _start\r\nstatic std::vector\u003cint> x = {1, 2, 3};\r\n\r\nextern \"C\" {\r\nEMSCRIPTEN_KEEPALIVE\r\nint GetX(int i) {\r\n   // use of ostream somehow makes _start fail.\r\n    std::ostringstream os;\r\n    os \u003c\u003c \"x\";\r\n    return x[i];\r\n}\r\n}\r\n```\r\n```Makefile\r\nwasm_test.wasm: wasm_test.cc\r\n\t@mkdir -p $(@D)\r\n\temcc -O3 -std=c++11 -o $@ $\u003c\r\n```\r\n\r\n### NodeJS\r\n\r\n```js\r\nconst { WASI } = require('wasi');\r\n\r\nconst wasi = new WASI({\r\n    args: process.argv,\r\n    env: process.env\r\n  });\r\n\r\nconst binary = require('fs').readFileSync('build/wasm_test.wasm');\r\n\r\nWebAssembly.instantiate(binary,\r\n    { env: {}, wasi_snapshot_preview1: wasi.wasiImport }).then(({ instance }) => {\r\n  // trigger ctors\r\n  instance.exports._start();\r\n  // test the static vars are correctly initialized.\r\n  console.log(instance.exports.GetX(0));\r\n});\r\n```\r\n```\r\nnode --experimental-wasi-unstable-preview1  --experimental-wasm-bigint test_wasm.js \r\n```\r\n\r\nRelevant issue in the emscripten https://github.com/emscripten-core/emscripten/issues/11001","author":{"url":"https://github.com/tqchen","@type":"Person","name":"tqchen"},"datePublished":"2020-04-30T20:14:44Z","url":"https://github.com/nodejs/node/issues/33175"}

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:cd621dd2-514b-1bcb-9afd-9182d7ae3943
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idBC2E:3159C:7BF56D:A2FDFB:6AED3758
html-safe-nonce1aedb84bdc35798c10ac1e24aba34f82681bbaee5de67ee4417dcc7ba2ec5604
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQzJFOjMxNTlDOjdCRjU2RDpBMkZERkI6NkFFRDM3NTgiLCJ2aXNpdG9yX2lkIjoiMzYwNjAwMzAyMTA4Nzg0ODI4MSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac4753ed94d63b06766a056e1c7dd1bcc4c7cfe85a50ceefc2b96ed5b629e0188d
hovercard-subject-tagissue:610356841
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/33175/issue_layout
twitter:imagehttps://opengraph.githubassets.com/3460b5be7591c753d14011a45e8a02b1745d770de556354eaefb016a07b43bfe/nodejs/node/issues/33175
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/3460b5be7591c753d14011a45e8a02b1745d770de556354eaefb016a07b43bfe/nodejs/node/issues/33175
og:image:altThis is an issue for node's WASI integration with emscripten. both global ctors need to be called, and ostream being used in the WASM standalone mode (emsdk latest upstream). I have a case where I ...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernametqchen
hostnamegithub.com
expected-hostnamegithub.com
None26c92a9388ddfad3fa88d132b5d5f0b4747030233dcc4e5efb05f1cbae152184
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
releasec629ad99c254d306375fc8354d04321c2c362236
ui-targetfull
theme-color#1e2327
color-schemelight dark
react-app-nameissues

Links:

Skip to contenthttps://github.com/nodejs/node/issues/33175#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fissues%2F33175
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%2F33175
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/33175
Reloadhttps://github.com/nodejs/node/issues/33175
Reloadhttps://github.com/nodejs/node/issues/33175
nodejshttps://github.com/nodejs
nodehttps://github.com/nodejs/node
Codehttps://github.com/nodejs/node
Issues656 (656)https://github.com/nodejs/node/issues
Pull requests665 (665)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/33175
New issuehttps://github.com/login?return_to=https://github.com/nodejs/node/issues/33175
[BUG] Segfault on combo of global ctors, ostream, wasihttps://github.com/nodejs/node/issues/33175#top
c++Issues and PRs that require attention from people who are familiar with C++.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22c%2B%2B%22
confirmed-bugIssues and PRs for confirmed bugs.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22confirmed-bug%22
wasiIssues and PRs related to the WebAssembly System Interface.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22wasi%22
https://github.com/tqchen
tqchenhttps://github.com/tqchen
on Apr 30, 2020https://github.com/nodejs/node/issues/33175#issue-610356841
emscripten-core/emscripten#11001https://github.com/emscripten-core/emscripten/issues/11001
tqchenhttps://github.com/tqchen
on Apr 30, 2020https://github.com/nodejs/node/issues/33175#event-3291178728
https://github.com/tqchen
tqchenhttps://github.com/tqchen
on Apr 30, 2020https://github.com/nodejs/node/issues/33175#issuecomment-622086086
addaleaxhttps://github.com/addaleax
confirmed-bugIssues and PRs for confirmed bugs.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22confirmed-bug%22
wasiIssues and PRs related to the WebAssembly System Interface.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22wasi%22
c++Issues and PRs that require attention from people who are familiar with C++.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22c%2B%2B%22
good first issueIssues that are suitable for first-time contributors.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22good%20first%20issue%22
on Apr 30, 2020https://github.com/nodejs/node/issues/33175#event-3291734200
https://github.com/addaleax
addaleaxhttps://github.com/addaleax
on Apr 30, 2020https://github.com/nodejs/node/issues/33175#issuecomment-622177187
https://github.com/nodejs/node/blob/master/src/node_wasi.cc#L1794-L1798https://github.com/nodejs/node/blob/master/src/node_wasi.cc#L1794-L1798
the generated WASMhttps://github.com/nodejs/node/files/4561886/wasm_test.wasm.gz
addaleaxhttps://github.com/addaleax
good first issueIssues that are suitable for first-time contributors.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22good%20first%20issue%22
on May 1, 2020https://github.com/nodejs/node/issues/33175#event-3292010815
https://github.com/gengjiawen
gengjiawenhttps://github.com/gengjiawen
on Sep 29, 2020https://github.com/nodejs/node/issues/33175#issuecomment-700483597
#33184https://github.com/nodejs/node/pull/33184
gengjiawenhttps://github.com/gengjiawen
completedhttps://github.com/nodejs/node/issues?q=is%3Aissue%20state%3Aclosed%20archived%3Afalse%20reason%3Acompleted
on Sep 29, 2020https://github.com/nodejs/node/issues/33175#event-3817738369
Sign up for freehttps://github.com/signup?return_to=https://github.com/nodejs/node/issues/33175
Sign in to commenthttps://github.com/login?return_to=https://github.com/nodejs/node/issues/33175
c++Issues and PRs that require attention from people who are familiar with C++.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22c%2B%2B%22
confirmed-bugIssues and PRs for confirmed bugs.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22confirmed-bug%22
wasiIssues and PRs related to the WebAssembly System Interface.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22wasi%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.