Title: riscv64: strange behavior of exception handling · Issue #47522 · nodejs/node · GitHub
Open Graph Title: riscv64: strange behavior of exception handling · Issue #47522 · nodejs/node
X Title: riscv64: strange behavior of exception handling · Issue #47522 · nodejs/node
Description: Version v19.8.1 Platform Linux kxxt 6.2.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 07 Apr 2023 02:10:43 +0000 riscv64 GNU/Linux Subsystem No response What steps will reproduce the bug? Setup an arch linux RISC-V development environment follo...
Open Graph Description: Version v19.8.1 Platform Linux kxxt 6.2.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 07 Apr 2023 02:10:43 +0000 riscv64 GNU/Linux Subsystem No response What steps will reproduce the bug? Setup an arch li...
X Description: Version v19.8.1 Platform Linux kxxt 6.2.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 07 Apr 2023 02:10:43 +0000 riscv64 GNU/Linux Subsystem No response What steps will reproduce the bug? Setup an arch li...
Opengraph URL: https://github.com/nodejs/node/issues/47522
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"riscv64: strange behavior of exception handling","articleBody":"### Version\n\nv19.8.1\n\n### Platform\n\nLinux kxxt 6.2.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 07 Apr 2023 02:10:43 +0000 riscv64 GNU/Linux \n\n### Subsystem\n\n_No response_\n\n### What steps will reproduce the bug?\n\n1. Setup an arch linux RISC-V development environment following this article: https://github.com/felixonmars/archriscv-packages/wiki/Setup-Arch-Linux-RISC-V-Development-Environment\r\n2. Start the arch rv64 container and switch to a non-root user\r\n3. Install necessary dependencies via pacman: `pacman -S base-devel asp npm nodejs`\r\n4. Checkout the gitea repo(v1.18): `git clone https://github.com/go-gitea/gitea -b release/v1.18 --depth=1 \u0026\u0026 cd gitea`\r\n5. Install dependencies via npm: `npm i`\r\n6. Run lessc: `npx lessc web_src/less/index.less out`\r\n\n\n### How often does it reproduce? Is there a required condition?\n\n100%. No condition is required.\n\n### What is the expected behavior? Why is that the expected behavior?\n\nThe generated css can be found in file `out` and `lessc` exit with code 0.\r\n\r\nThis is the behavior on x86_64 platform so it is the expected behavior.\n\n### What do you see instead?\n\n```\r\nSyntaxError: Cannot create property '_fileInfo' on string '!important' in /home/kxxt/gitea/web_src/less/_tribute.less on line 4, column 3:\r\n3 .tribute-container {\r\n4 box-shadow: 0 .25rem .5rem rgba(0, 0, 0, .25);\r\n5 border-radius: .25rem;\r\n```\n\n### Additional information\n\nBy adding some logging :\r\n\r\n1. In `node_modules/less/lib/less/less-error.js` to show the stack trace.\r\n```diff\r\nvar LessError = function (e, fileContentMap, currentFilename) {\r\n Error.call(this);\r\n var filename = e.filename || currentFilename;\r\n this.message = e.message;\r\n this.stack = e.stack;\r\n if (fileContentMap \u0026\u0026 filename) {\r\n+ console.log(\"Trace: \", e.stack);\r\n```\r\n2. In `node_modules/less/lib/less/parser/parser.js`\r\n```diff\r\nvar Parser = function Parser(context, imports, fileInfo) {\r\n ...\r\n function parseNode(str, parseList, currentIndex, fileInfo, callback) {\r\n var result;\r\n var returnNodes = [];\r\n var parser = parserInput;\r\n try {\r\n parser.start(str, false, function fail(msg, index) {\r\n callback({\r\n message: msg,\r\n index: index + currentIndex\r\n });\r\n });\r\n for (var x = 0, p = void 0, i = void 0; (p = parseList[x]); x++) {\r\n i = parser.i;\r\n result = parsers[p]();\r\n if (result) {\r\n try {\r\n+ console.log(\"The result is\", result);\r\n result._index = i + currentIndex;\r\n result._fileInfo = fileInfo;\r\n+ console.log(\"OK\");\r\n }\r\n catch (e) {\r\n+ console.log(\"Caught exception\", e);\r\n }\r\n returnNodes.push(result);\r\n }\r\n else {\r\n returnNodes.push(null);\r\n }\r\n }\r\n var endInfo = parser.end();\r\n if (endInfo.isFinished) {\r\n callback(null, returnNodes);\r\n }\r\n else {\r\n callback(true, null);\r\n }\r\n }\r\n catch (e) {\r\n throw new less_error_1.default({\r\n index: e.index + currentIndex,\r\n message: e.message\r\n }, imports, fileInfo.filename);\r\n }\r\n }\r\n```\r\n\r\nWe can get the following output:\r\n\r\n\u003cdetails\u003e\r\n\r\n\u003csummary\u003e Output \u003c/summary\u003e\r\n\r\n```js\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is [\r\n Node {\r\n extendList: undefined,\r\n condition: undefined,\r\n evaldCondition: true,\r\n _index: 1,\r\n _fileInfo: {\r\n rewriteUrls: false,\r\n entryPath: '/home/kxxt/gitea/web_src/less/',\r\n rootpath: '',\r\n rootFilename: '/home/kxxt/gitea/web_src/less/index.less',\r\n currentDirectory: '/home/kxxt/gitea/web_src/less/',\r\n filename: '/home/kxxt/gitea/web_src/less/helpers.less'\r\n },\r\n elements: [ [Node] ],\r\n mixinElements_: undefined\r\n }\r\n]\r\nOK\r\nThe result is Node { value: [ Node { value: [Array], noSpacing: undefined } ] }\r\nOK\r\nThe result is !important\r\nOK\r\nThe result is Node { value: [ Node { value: [Array], noSpacing: undefined } ] }\r\nOK\r\nThe result is !important\r\nOK\r\nThe result is Node { value: [ Node { value: [Array], noSpacing: undefined } ] }\r\nOK\r\nThe result is Node { value: [ Node { value: [Array], noSpacing: undefined } ] }\r\nOK\r\nTrace: TypeError: Cannot create property '_fileInfo' on string '!important'\r\n at Object.parseNode (/home/kxxt/gitea/node_modules/less/lib/less/parser/parser.js:103:42)\r\n at Ruleset.transformDeclaration (/home/kxxt/gitea/node_modules/less/lib/less/tree/ruleset.js:322:32)\r\n at Ruleset.parseValue (/home/kxxt/gitea/node_modules/less/lib/less/tree/ruleset.js:343:41)\r\n at Ruleset.variable (/home/kxxt/gitea/node_modules/less/lib/less/tree/ruleset.js:300:25)\r\n at Array.\u003canonymous\u003e (/home/kxxt/gitea/node_modules/less/lib/less/tree/variable.js:26:27)\r\n at Variable.find (/home/kxxt/gitea/node_modules/less/lib/less/tree/variable.js:54:21)\r\n at Variable.eval (/home/kxxt/gitea/node_modules/less/lib/less/tree/variable.js:25:25)\r\n at Operation.eval (/home/kxxt/gitea/node_modules/less/lib/less/tree/operation.js:20:34)\r\n at Expression.eval (/home/kxxt/gitea/node_modules/less/lib/less/tree/expression.js:40:41)\r\n at Value.eval (/home/kxxt/gitea/node_modules/less/lib/less/tree/value.js:25:34)\r\n\u001B[31mSyntaxError: Cannot create property '_fileInfo' on string '!important'\u001B[39m\u001B[31m in \u001B[39m/home/kxxt/gitea/web_src/less/_tribute.less\u001B[90m on line 4, column 3:\u001B[39m\r\n\u001B[90m3 .tribute-container {\u001B[39m\r\n4 \u001B[7m\u001B[31m\u001B[1mb\u001B[22mox-shadow: 0 .25rem .5rem rgba(0, 0, 0, .25);\u001B[39m\u001B[27m\r\n\u001B[90m5 border-radius: .25rem;\u001B[39m\u001B[0m\u001B[0m\r\n\r\n```\r\n\r\n\u003c/details\u003e\r\n\r\nIt seems that \r\n1. the `catch` in `node_modules/less/lib/less/parser/parser.js` didn't catch the exception because there are no \"Caught Exception\" in the log.\r\n2. the attempt to create property `_fileInfo` on string `\"!important\"` seems to be successful because \"OK\" is logged.\r\n\r\nThere are some failed jstest on riscv64 due to `Missing expected exception`. Maybe it is caused by the same error.\r\n\r\n\u003cdetails\u003e\r\n\r\n\u003csummary\u003eThe nodejs build recipe used on arch riscv64\u003c/summary\u003e\r\n\r\nThe [nodejs-v8-jit-fix.patch](https://github.com/felixonmars/archriscv-packages/blob/master/nodejs/nodejs-v8-jit-fix.patch) is equivalient to https://github.com/nodejs/node/pull/47399\r\n\r\n```bash\r\n# Maintainer: Felix Yan \u003cfelixonmars@archlinux.org\u003e\r\n# Contributor Bartłomiej Piotrowski \u003cbpiotrowski@archlinux.org\u003e\r\n# Contributor: Thomas Dziedzic \u003c gostrc at gmail \u003e\r\n# Contributor: James Campos \u003cjames.r.campos@gmail.com\u003e\r\n# Contributor: BlackEagle \u003c ike DOT devolder AT gmail DOT com \u003e\r\n# Contributor: Dongsheng Cai \u003cdongsheng at moodle dot com\u003e\r\n# Contributor: Masutu Subric \u003cmasutu.arch at googlemail dot com\u003e\r\n# Contributor: TIanyi Cui \u003ctianyicui@gmail.com\u003e\r\n\r\npkgname=nodejs\r\npkgver=19.8.1\r\n_commit=e808076389ed1ad8235177562f6dadcd616eb81b\r\npkgrel=1\r\npkgdesc='Evented I/O for V8 javascript'\r\narch=(x86_64 riscv64)\r\nurl='https://nodejs.org/'\r\nlicense=('MIT')\r\noptions=(!lto)\r\ndepends=('brotli' 'openssl' 'zlib' 'icu' 'libuv' 'libnghttp2' 'c-ares') # 'http-parser' 'v8')\r\nmakedepends=('git' 'python' 'procps-ng')\r\noptdepends=('npm: nodejs package manager')\r\nsource=(\"git+https://github.com/nodejs/node.git#commit=$_commit\"\r\n \"nodejs-v8-jit-fix.patch\")\r\nsha512sums=('SKIP'\r\n 'fb4fa53b99e69ab7ae9c7d1483bb73169e2adba36edfc4e76e2edbcce7f054d17580405977d02e34f712696be7770d3dfde01501b507f92383c6e44ec899c74f')\r\n\r\nprepare() {\r\n cd node\r\n patch -Np1 -i ../nodejs-v8-jit-fix.patch\r\n}\r\n\r\nbuild() {\r\n cd node\r\n\r\n ./configure \\\r\n --prefix=/usr \\\r\n --with-intl=system-icu \\\r\n --without-npm \\\r\n --shared \\\r\n --shared-openssl \\\r\n --shared-zlib \\\r\n --shared-libuv \\\r\n --experimental-http-parser \\\r\n --shared-nghttp2 \\\r\n --shared-cares \\\r\n --shared-brotli\r\n # --shared-v8\r\n # --shared-http-parser\r\n\r\n # -fno-strict-aliasing for gcc\u003e=10: https://github.com/nodejs/node/issues/33899\r\n make CFLAGS=\"-fno-strict-aliasing $CFLAGS\" CXXFLAGS=\"-fno-strict-aliasing $CXXFLAGS\"\r\n}\r\n\r\ncheck() {\r\n cd node\r\n make CFLAGS=\"-fno-strict-aliasing $CFLAGS\" CXXFLAGS=\"-fno-strict-aliasing $CXXFLAGS\" test || :\r\n}\r\n\r\npackage() {\r\n cd node\r\n make DESTDIR=\"$pkgdir\" install\r\n install -Dm644 LICENSE -t \"$pkgdir\"/usr/share/licenses/nodejs/\r\n\r\n cd \"$pkgdir\"/usr/lib\r\n ln -s libnode.so.* libnode.so\r\n}\r\n# vim:set ts=2 sw=2 et:\r\n```\r\n\r\n\u003c/details\u003e\r\n\r\nThis issue is also reproducible with JIT disabled: `NODE_OPTIONS=--jitless npx lessc web_src/less/index.less out`","author":{"url":"https://github.com/kxxt","@type":"Person","name":"kxxt"},"datePublished":"2023-04-12T14:02:12.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":4},"url":"https://github.com/47522/node/issues/47522"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:d3cb17e2-127f-af4e-5a32-69522e736a5b |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | CC16:18A860:DBAAD3:125F612:6A4C4E21 |
| html-safe-nonce | 832e4c124a85d2bccc4273ad9625d129400250625a64d73dc4b5bf722718de47 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQzE2OjE4QTg2MDpEQkFBRDM6MTI1RjYxMjo2QTRDNEUyMSIsInZpc2l0b3JfaWQiOiI0MDI2MTIyNjA0NDE0NTIwODY1IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 5ae967b2101ac01cab36dacd74437a20e91b4f0768047e281b81a89efffcc06b |
| hovercard-subject-tag | issue:1664634066 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/nodejs/node/47522/issue_layout |
| twitter:image | https://opengraph.githubassets.com/f43864c1bacb84d8ccadd303198728fe05b9628068deed25fba6626aee106f29/nodejs/node/issues/47522 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/f43864c1bacb84d8ccadd303198728fe05b9628068deed25fba6626aee106f29/nodejs/node/issues/47522 |
| og:image:alt | Version v19.8.1 Platform Linux kxxt 6.2.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 07 Apr 2023 02:10:43 +0000 riscv64 GNU/Linux Subsystem No response What steps will reproduce the bug? Setup an arch li... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | kxxt |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3d11bb817438277de2a940854450e83a7d32b6aeb5014e9e6b00a6423900251c |
| turbo-cache-control | no-preview |
| go-import | github.com/nodejs/node git https://github.com/nodejs/node.git |
| octolytics-dimension-user_id | 9950313 |
| octolytics-dimension-user_login | nodejs |
| octolytics-dimension-repository_id | 27193779 |
| octolytics-dimension-repository_nwo | nodejs/node |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 27193779 |
| octolytics-dimension-repository_network_root_nwo | nodejs/node |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 65d78903193f110d7a9d1f8587c6dc3cb911aae0 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width