Skip to content

test: enable trace_events tests with perfetto - #66068

Open
legendecas wants to merge 3 commits into
nodejs:mainfrom
legendecas:test-perfetto
Open

legendecas wants to merge 3 commits into
nodejs:mainfrom
legendecas:test-perfetto

Conversation

@legendecas

@legendecas legendecas commented Sep 16, 2026

Copy link
Copy Markdown
Member

Use https://perfetto.dev/docs/reference/trace-processor-cli to
convert the perfetto binary trace files to JSON files in tests
to verify that the traces are correctly exported with perfetto.

This moves the trace_events test suite to a dedicated test
folder test/trace_events as they depend on an external tool
trace_processor_shell. Added a make trace_processor to
download the expected version of trace_processor_shell
from perfetto releases.

This also unified the test assertions so that a test can
verify both legacy traces and perfetto traces.

Refs: #65794 (comment)

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/security-wg

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to Node.js builds or CI infrastructure. meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. labels Sep 16, 2026
@legendecas legendecas added the trace_events Issues and PRs related to trace events from V8, Node.js core, and user code. label Sep 16, 2026
@legendecas
legendecas force-pushed the test-perfetto branch 5 times, most recently from 1f5ce76 to 9ace27c Compare September 16, 2026 15:37
@richardlau

Copy link
Copy Markdown
Member

This moves the trace_events test suite to a dedicated test folder test/trace_events as they depend on an external tool trace_processor_shell. Added a make trace_processor to download the expected version of trace_processor_shell from perfetto releases.

I think this (the download bit) will cause issues for downstream rebuilders cc @nodejs/distros.

@codecov

codecov Bot commented Sep 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.30%. Comparing base (3407386) to head (de68ebf).
⚠️ Report is 16 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #66068      +/-   ##
==========================================
+ Coverage   90.27%   90.30%   +0.02%     
==========================================
  Files         790      789       -1     
  Lines      272810   272909      +99     
  Branches    52098    52115      +17     
==========================================
+ Hits       246280   246437     +157     
+ Misses      16995    16927      -68     
- Partials     9535     9545      +10     

see 41 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@legendecas legendecas added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Sep 19, 2026
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Sep 19, 2026
@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@aduh95

aduh95 commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

To address #66068 (comment), we should allow to override the default destination of trace_processor_shell, that way distros would be able to set it to e.g. a custom build of it. On top of #66146 (because it needs NixOS/nixpkgs#564369), the following should do the trick:

Details
diff --git a/.github/workflows/build-shared.yml b/.github/workflows/build-shared.yml
index 8d2afdbf38f..7d77c13e568 100644
--- a/.github/workflows/build-shared.yml
+++ b/.github/workflows/build-shared.yml
@@ -27,11 +27,6 @@ on:
         required: false
         type: boolean
         default: false
-      perfetto:
-        description: Whether the build links perfetto, which the trace event tests need trace_processor_shell for.
-        required: false
-        type: boolean
-        default: false
     secrets:
       CACHIX_AUTH_TOKEN:
         description: Cachix auth token for nodejs.cachix.org.
@@ -83,11 +78,6 @@ jobs:
             core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
             core.exportVariable('NIX_SCCACHE', '(import <nixpkgs> {}).sccache');
 
-      - name: Get trace_processor
-        if: inputs.perfetto
-        shell: bash
-        run: make -C "$TAR_DIR" trace-processor
-
       - name: Build Node.js and run tests
         shell: bash
         run: |
diff --git a/.github/workflows/test-linux-perfetto.yml b/.github/workflows/test-linux-perfetto.yml
index 8629058ea95..f11970e8f6f 100644
--- a/.github/workflows/test-linux-perfetto.yml
+++ b/.github/workflows/test-linux-perfetto.yml
@@ -64,7 +64,7 @@ jobs:
         run: make build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn --v8-enable-temporal-support --with-perfetto"
       - name: Get trace_processor
         working-directory: node
-        run: make trace-processor
+        run: make tools/perfetto/trace_processor_shell
       - name: Test
         working-directory: node
         run: make test-ci -j1 V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9"
diff --git a/.github/workflows/test-shared.yml b/.github/workflows/test-shared.yml
index e69059f6b06..9f4d2e031f5 100644
--- a/.github/workflows/test-shared.yml
+++ b/.github/workflows/test-shared.yml
@@ -165,7 +165,6 @@ jobs:
     with:
       runner: ${{ matrix.runner }}
       with-sccache: ${{ github.base_ref == 'main' || github.ref_name == 'main' }}
-      perfetto: ${{ matrix.perfetto || false }}
       extra-nix-flags: |
         --arg useSeparateDerivationForV8 true \
         ${{ matrix.perfetto && '--arg withPerfetto true \' || '\' }}
diff --git a/Makefile b/Makefile
index 86d2569ff2b..2c5b722de24 100644
--- a/Makefile
+++ b/Makefile
@@ -339,9 +339,10 @@ coverage-run-js: ## Run JavaScript tests with coverage.
 					TEST_CI_ARGS="$(TEST_CI_ARGS) --type=coverage" $(MAKE) jstest
 	$(MAKE) coverage-report-js
 
-.PHONY: trace-processor
-trace-processor: ## Download perfetto's trace_processor_shell.
-	@tools/perfetto/get_trace_processor
+TRACE_PROCESSOR ?= tools/perfetto/trace_processor_shell
+
+$(TRACE_PROCESSOR):
+	@tools/perfetto/get_trace_processor $@
 
 .PHONY: test
 # This does not run tests of third-party libraries inside deps.
@@ -1313,7 +1314,7 @@ ifeq ($(SKIP_SHARED_DEPS), 1)
 	$(RM) -r $(TARNAME)/deps/ngtcp2
 	find $(TARNAME)/deps/openssl -maxdepth 1 -type f ! -name 'nodejs-openssl.cnf' -exec $(RM) {} +
 	find $(TARNAME)/deps/openssl -mindepth 1 -maxdepth 1 -type d -exec $(RM) -r {} +
-	find $(TARNAME)/deps/perfetto -mindepth 1 -maxdepth 1 ! -name 'VERSION' -exec $(RM) -r {} +
+	$(RM) -r $(TARNAME)/deps/perfetto
 	$(RM) -r $(TARNAME)/deps/simdjson
 	$(RM) -r $(TARNAME)/deps/sqlite
 	$(RM) -r $(TARNAME)/deps/uv
diff --git a/shell.nix b/shell.nix
index 60bfb1114b4..afcea6b5663 100644
--- a/shell.nix
+++ b/shell.nix
@@ -172,6 +172,9 @@ pkgs.mkShell {
   // pkgs.lib.optionalAttrs (!withSQLite) {
     NOSQLITE = "1";
   }
+  // pkgs.lib.optionalAttrs (withPerfetto) {
+    TRACE_PROCESSOR = "${pkgs.perfetto.tools}/bin/trace_processor_shell";
+  }
   // pkgs.lib.optionalAttrs (pkcs11 != false && pkcs11 != null) (
     let
       pkcs11' =
diff --git a/test/common/trace_events.js b/test/common/trace_events.js
index 19b714b136e..6b615fd4607 100644
--- a/test/common/trace_events.js
+++ b/test/common/trace_events.js
@@ -12,7 +12,7 @@ const path = require('path');
 const common = require('./');
 
 const traceProcessor = path.resolve(
-  __dirname, '..', '..', 'tools', 'perfetto', 'trace_processor_shell');
+  __dirname, '..', '..', process.env.TRACE_PROCESSOR || 'tools/perfetto/trace_processor_shell');
 
 // The JSON form of a trace runs about three times the size of the trace it was
 // converted from, and the traces these tests produce are a few hundred KiB at
@@ -27,7 +27,7 @@ const defaultTraceFileName = `node_trace.1.${traceFileExt}`;
 function checkTraceProcessor() {
   if (common.hasPerfetto && !fs.existsSync(traceProcessor)) {
     assert.fail('trace_processor_shell is missing, ' +
-                'run `make trace-processor` to download it');
+                'run `make tools/perfetto/trace_processor_shell` to download it');
   }
 }
 
diff --git a/tools/perfetto/get_trace_processor b/tools/perfetto/get_trace_processor
index 55939418c6b..733fcad4967 100755
--- a/tools/perfetto/get_trace_processor
+++ b/tools/perfetto/get_trace_processor
@@ -6,7 +6,7 @@ set -e
 
 tools_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
 version=$(cat "$tools_dir/../../deps/perfetto/VERSION")
-trace_processor="$tools_dir/trace_processor_shell"
+trace_processor="$1"
 stamp="$tools_dir/.version"
 
 if [ -x "$trace_processor" ] && [ "$(cat "$stamp" 2>/dev/null)" = "$version" ]; then

Signed-off-by: Chengzhong Wu <cwu631@bloomberg.net>
@legendecas

Copy link
Copy Markdown
Member Author

@aduh95 thank you very much for the detailed suggestion, applied the change!

@github-actions

This comment was marked as outdated.

Comment thread tools/perfetto/get_trace_processor Outdated
Signed-off-by: Chengzhong Wu <cwu631@bloomberg.net>
@github-actions

This comment was marked as outdated.

Comment thread tools/perfetto/get_trace_processor Outdated
Signed-off-by: Chengzhong Wu <cwu631@bloomberg.net>
@github-actions

Copy link
Copy Markdown
Contributor
Platform Number of requisites Proportion of new derivations
x86_64-linux 504 -> 507 => +3 3 / 507 = 0.5%
aarch64-linux 505 -> 508 => +3 3 / 508 = 0.5%
x86_64-darwin 442 -> 445 => +3 3 / 445 = 0.6%
aarch64-darwin 447 -> 450 => +3 3 / 450 = 0.6%
Total 1898 -> 1910 => +12 12 / 1910 = 0.6%
Changelog
@@ -890,0 +891,4 @@
+/nix/store/hnbkyzzcgpg06cnz8wcfifsri7f7qy0a-linenoise-2.0 (aarch64-darwin)
+/nix/store/gs3qxbp6nglhda2jdl30b7dxlqhiis5a-linenoise-2.0 (aarch64-linux)
+/nix/store/4vzb7krribpk3s9m8bsh5dpn85s2cg1h-linenoise-2.0 (x86_64-darwin)
+/nix/store/ikmhwraxz4s83n3ripza6nqa4bnpkx8i-linenoise-2.0 (x86_64-linux)
@@ -1314,0 +1319,8 @@
+/nix/store/5mvgmnikp9bidj1k9z4l2ifdpp2wdv2y-perfetto-58.3 (aarch64-darwin)
+/nix/store/206ig4fy5nlgycxqy1dmp14nhsc5ixw7-perfetto-58.3 (aarch64-linux)
+/nix/store/3yfvs7dh1rmsd761xg6isdb7l1bqbhjn-perfetto-58.3 (x86_64-darwin)
+/nix/store/5zs5rbrkvw1zqykk3s985xbifs1mysgg-perfetto-58.3 (x86_64-linux)
+/nix/store/v6f637336bch54n6hplhxhc6nsx460vr-perfetto-58.3-tools (aarch64-darwin)
+/nix/store/j7bbglq8jk6ryy383ka0ych6l8nbxvpg-perfetto-58.3-tools (aarch64-linux)
+/nix/store/vv7yrdgp3kifn6ivla42j679m1616zhq-perfetto-58.3-tools (x86_64-darwin)
+/nix/store/jmqffymijv9qrhrn3i4xxlnzlhfk7mis-perfetto-58.3-tools (x86_64-linux)

@aduh95

aduh95 commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

I've tested this PR in #65794, it reports error in dir with unusual chars, indicating some paths are not correctly escaped. It doesn't necessarily needs to block this PR but would need to be addressed before the other PR can land

Details
=== release test-trace-events-all ===
Path: trace_events/test-trace-events-all
Error: --- stderr ---
<anonymous_script>:23
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263540     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263540 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 13515 (line 23 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-all.js:29:18)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/index.js:512:15)
    at ChildProcess.wrapper (node:events:639:12)
    at ChildProcess.emit (node:events:514:20)
    at ChildProcess._handle.onexit (node:internal/child_process:323:12)

Node.js v27.0.0-pre
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-all.js"
=== release test-trace-events-async-hooks ===
Path: trace_events/test-trace-events-async-hooks
Error: --- stderr ---
<anonymous_script>:8
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263577     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263577 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 11223 (line 8 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-async-hooks.js:31:18)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/index.js:512:15)
    at ChildProcess.wrapper (node:events:639:12)
    at ChildProcess.emit (node:events:514:20)
    at ChildProcess._handle.onexit (node:internal/child_process:323:12)

Node.js v27.0.0-pre
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-async-hooks.js"
=== release test-trace-events-api ===
Path: trace_events/test-trace-events-api
Error: --- stderr ---
<anonymous_script>:7
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263586     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263586 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 11034 (line 7 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-api.js:162:20)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/index.js:512:15)
    at ChildProcess.wrapper (node:events:639:12)
    at ChildProcess.emit (node:events:514:20)
    at ChildProcess._handle.onexit (node:internal/child_process:323:12)

Node.js v27.0.0-pre
Command: out/Release/node --expose-gc --no-warnings --expose-internals "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-api.js"
=== release test-trace-events-async-hooks-worker ===
Path: trace_events/test-trace-events-async-hooks-worker
Error: --- stderr ---
<anonymous_script>:69
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263606     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263606 node-MainThreadroot         1 263615 WorkerThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 21245 (line 69 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at Object.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-async-hooks-worker.js:56:16)
    at Module._compile (node:internal/modules/cjs/loader:1956:14)
    at Object..js (node:internal/modules/cjs/loader:2096:10)
    at Module.load (node:internal/modules/cjs/loader:1678:32)
    at Module._load (node:internal/modules/cjs/loader:1470:12)
    at wrapModuleLoad (node:internal/modules/cjs/loader:261:19)
    at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)
    at node:internal/main/run_main_module:33:47

Node.js v27.0.0-pre
--- stdout ---
process exit with signal: null
process stderr:
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-async-hooks-worker.js"
=== release test-trace-events-bootstrap ===
Path: trace_events/test-trace-events-bootstrap
Error: --- stderr ---
<anonymous_script>:12
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263625     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263625 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 11603 (line 12 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-bootstrap.js:43:20)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/index.js:512:15)
    at ChildProcess.wrapper (node:events:639:12)
    at ChildProcess.emit (node:events:514:20)
    at ChildProcess._handle.onexit (node:internal/child_process:323:12)

Node.js v27.0.0-pre
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-bootstrap.js"
=== release test-trace-events-environment ===
Path: trace_events/test-trace-events-environment
Error: --- stderr ---
<anonymous_script>:17
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263650     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263650 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 12752 (line 17 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-environment.js:56:25)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/index.js:512:15)
    at ChildProcess.wrapper (node:events:639:12)
    at ChildProcess.emit (node:events:514:20)
    at ChildProcess._handle.onexit (node:internal/child_process:323:12)

Node.js v27.0.0-pre
Command: out/Release/node --no-warnings "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-environment.js"
=== release test-trace-events-file-pattern ===
Path: trace_events/test-trace-events-file-pattern
Error: --- stderr ---
<anonymous_script>:21
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263667     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263667 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 13202 (line 21 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-file-pattern.js:32:10)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/index.js:512:15)
    at ChildProcess.wrapper (node:events:639:12)
    at ChildProcess.emit (node:events:514:20)
    at ChildProcess._handle.onexit (node:internal/child_process:323:12)

Node.js v27.0.0-pre
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-file-pattern.js"
=== release test-trace-events-fs-sync ===
Path: trace_events/test-trace-events-fs-sync
Error: --- stderr ---
<anonymous_script>:11
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263679     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263679 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 11513 (line 11 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at Object.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-fs-sync.js:146:18)
    at Module._compile (node:internal/modules/cjs/loader:1956:14)
    at Object..js (node:internal/modules/cjs/loader:2096:10)
    at Module.load (node:internal/modules/cjs/loader:1678:32)
    at Module._load (node:internal/modules/cjs/loader:1470:12)
    at wrapModuleLoad (node:internal/modules/cjs/loader:261:19)
    at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)
    at node:internal/main/run_main_module:33:47

Node.js v27.0.0-pre
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-fs-sync.js"
=== release test-trace-events-net-abstract-socket ===
Path: trace_events/test-trace-events-net-abstract-socket
Error: --- stderr ---
<anonymous_script>:10
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263737     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263737 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 11760 (line 10 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-net-abstract-socket.js:35:18)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/index.js:512:15)
    at ChildProcess.wrapper (node:events:639:12)
    at ChildProcess.emit (node:events:514:20)
    at ChildProcess._handle.onexit (node:internal/child_process:323:12)

Node.js v27.0.0-pre
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-net-abstract-socket.js"
=== release test-trace-events-net ===
Path: trace_events/test-trace-events-net
Error: --- stderr ---
<anonymous_script>:10
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263729     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263729 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 11701 (line 10 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-net.js:40:18)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/index.js:512:15)
    at ChildProcess.wrapper (node:events:639:12)
    at ChildProcess.emit (node:events:514:20)
    at ChildProcess._handle.onexit (node:internal/child_process:323:12)

Node.js v27.0.0-pre
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-net.js"
=== release test-trace-events-process-exit ===
Path: trace_events/test-trace-events-process-exit
Error: --- stderr ---
<anonymous_script>:8
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263791     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263791 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 11236 (line 8 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-process-exit.js:26:10)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/index.js:512:15)
    at ChildProcess.wrapper (node:events:639:12)
    at ChildProcess.emit (node:events:514:20)
    at ChildProcess._handle.onexit (node:internal/child_process:323:12)

Node.js v27.0.0-pre
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-process-exit.js"
=== release test-trace-events-promises ===
Path: trace_events/test-trace-events-promises
Error: --- stderr ---
node:internal/process/promises:322
      new UnhandledPromiseRejection(reason);
      ^

UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "1".
    at throwUnhandledRejectionsMode (node:internal/process/promises:322:7)
    at processPromiseRejections (node:internal/process/promises:405:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:106:37) {
  code: 'ERR_UNHANDLED_REJECTION'
}

Node.js v27.0.0-pre
<anonymous_script>:8
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263802     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263802 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 11234 (line 8 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-promises.js:39:20)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/index.js:512:15)
    at ChildProcess.wrapper (node:events:639:12)
    at ChildProcess.emit (node:events:514:20)
    at ChildProcess._handle.onexit (node:internal/child_process:323:12)

Node.js v27.0.0-pre
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-promises.js"
=== release test-trace-events-threadpool ===
Path: trace_events/test-trace-events-threadpool
Error: --- stderr ---
<anonymous_script>:18
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263810     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263810 node-MainThreadroot         1 263821 libuv-workerroot         1 263822 libuv-workerroot         1 263823 libuv-worker",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 12830 (line 18 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at Object.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-threadpool.js:50:16)
    at Module._compile (node:internal/modules/cjs/loader:1956:14)
    at Object..js (node:internal/modules/cjs/loader:2096:10)
    at Module.load (node:internal/modules/cjs/loader:1678:32)
    at Module._load (node:internal/modules/cjs/loader:1470:12)
    at wrapModuleLoad (node:internal/modules/cjs/loader:261:19)
    at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)
    at node:internal/main/run_main_module:33:47

Node.js v27.0.0-pre
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-threadpool.js"
=== release test-trace-events-v8 ===
Path: trace_events/test-trace-events-v8
Error: --- stderr ---
<anonymous_script>:21
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263834     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263834 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 13140 (line 21 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-v8.js:31:18)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/index.js:512:15)
    at ChildProcess.wrapper (node:events:639:12)
    at ChildProcess.emit (node:events:514:20)
    at ChildProcess._handle.onexit (node:internal/child_process:323:12)

Node.js v27.0.0-pre
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-v8.js"
=== release test-trace-events-vm ===
Path: trace_events/test-trace-events-vm
Error: --- stderr ---
<anonymous_script>:8
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263860     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263860 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 11210 (line 8 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-vm.js:40:20)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/index.js:512:15)
    at ChildProcess.wrapper (node:events:639:12)
    at ChildProcess.emit (node:events:514:20)
    at ChildProcess._handle.onexit (node:internal/child_process:323:12)

Node.js v27.0.0-pre
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-vm.js"
=== release test-trace-events-http ===
Path: trace_events/test-trace-events-http
Error: --- stderr ---
<anonymous_script>:8
"androidProcessDump": "PROCESS DUMP\nUSER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM                       \nroot             0     0   00000   000 null 0000000000 S          nullroot             263712     0   00000   000 null 0000000000 S /home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/out/Release/node         nullUSER           PID   TID CMD \nroot         0 0 swapperroot         1 263712 node-MainThread",
                                                                                                                                                                                                                                                                                                                                      ^

SyntaxError: Expected ',' or '}' after property value in JSON at position 11236 (line 8 column 327)
    at JSON.parse (<anonymous>)
    at readTraceEvents (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/trace_events.js:47:15)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-http.js:38:18)
    at ChildProcess.<anonymous> (/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/common/index.js:512:15)
    at ChildProcess.wrapper (node:events:639:12)
    at ChildProcess.emit (node:events:514:20)
    at ChildProcess._handle.onexit (node:internal/child_process:323:12)

Node.js v27.0.0-pre
Command: out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-http.js"

===
=== 16 tests failed
===

Failed tests:
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-all.js"
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-async-hooks.js"
out/Release/node --expose-gc --no-warnings --expose-internals "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-api.js"
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-async-hooks-worker.js"
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-bootstrap.js"
out/Release/node --no-warnings "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-environment.js"
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-file-pattern.js"
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-fs-sync.js"
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-net-abstract-socket.js"
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-net.js"
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-process-exit.js"
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-promises.js"
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-threadpool.js"
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-v8.js"
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-vm.js"
out/Release/node "/home/runner/work/node/node/dir%20with $unusual"chars?'åß∂ƒ©∆¬…`/test/trace_events/test-trace-events-http.js"

I've opened google/perfetto#7590 to track this

@aduh95 aduh95 added author ready PRs with CI started, the required approvals, and no outstanding review comments. request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. labels Sep 23, 2026
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Sep 23, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs with CI started, the required approvals, and no outstanding review comments. build Issues and PRs related to Node.js builds or CI infrastructure. meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. trace_events Issues and PRs related to trace events from V8, Node.js core, and user code.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants