Skip to content

tools: run test-asan on ubuntu-24.04 #48508

tools: run test-asan on ubuntu-24.04

tools: run test-asan on ubuntu-24.04 #48508

Triggered via pull request June 30, 2024 15:03
Status Failure
Total duration 3h 54m 51s
Artifacts

test-asan.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

10 errors
test-asan: test/parallel/test-cli-node-options.js#L1
Command: out/Release/node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=./tools/github_reporter/index.js --test-reporter-destination=stdout /home/runner/work/node/node/test/parallel/test-cli-node-options.js --- CRASHED (Signal: 11) ---
test-asan: test/parallel/test-worker-http2-stream-terminate.js#L1
--- stderr --- undefined:0 RangeError: Maximum call stack size exceeded Node.js v23.0.0-pre Command: out/Release/node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=./tools/github_reporter/index.js --test-reporter-destination=stdout /home/runner/work/node/node/test/parallel/test-worker-http2-stream-terminate.js --- CRASHED (Signal: 11) ---
test-asan: test/parallel/test-worker-memory.js#L1
--- stderr --- undefined:0 RangeError: Maximum call stack size exceeded Node.js v23.0.0-pre --- stdout --- run() called with n=15 (numWorkers=4) run() called with n=15 (numWorkers=4) run() called with n=15 (numWorkers=4) run() called with n=15 (numWorkers=4) run() called with n=14 (numWorkers=4) run() called with n=14 (numWorkers=4) run() called with n=14 (numWorkers=4) run() called with n=14 (numWorkers=4) Command: out/Release/node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=./tools/github_reporter/index.js --test-reporter-destination=stdout /home/runner/work/node/node/test/parallel/test-worker-memory.js --- CRASHED (Signal: 6) ---
test-asan: test/parallel/test-worker-init-failure.js#L69
--- stderr --- node:assert:126 throw new AssertionError(obj); ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: 134 !== 0 at ChildProcess.<anonymous> (/home/runner/work/node/node/test/parallel/test-worker-init-failure.js:69:12) at ChildProcess.<anonymous> (/home/runner/work/node/node/test/common/index.js:487:15) at ChildProcess.emit (node:events:520:28) at ChildProcess._handle.onexit (node:internal/child_process:294:12) { generatedMessage: true, code: 'ERR_ASSERTION', actual: 134, expected: 0, operator: 'strictEqual' } Node.js v23.0.0-pre --- stdout --- child stdout: child stderr: undefined:0 RangeError: Maximum call stack size exceeded Node.js v23.0.0-pre # Node.js[183104]: IsolatePlatformDelegate *node::NodePlatform::ForIsolate(Isolate *) at ../src/node_platform.cc:523 # Assertion failed: (data.first) != nullptr ----- Native stack trace ----- 1: 0x55ac0737946f node::PosixSymbolDebuggingContext::GetStackTrace(void**, int) [/home/runner/work/node/node/out/Release/node] 2: 0x55ac07375c1e node::DumpNativeBacktrace(_IO_FILE*) [/home/runner/work/node/node/out/Release/node] 3: 0x55ac076333ee node::Assert(node::AssertionInfo const&) [/home/runner/work/node/node/out/Release/node] 4: 0x55ac0782bcae node::NodePlatform::ForIsolate(v8::Isolate*) [/home/runner/work/node/node/out/Release/node] 5: 0x55ac0782c17c node::NodePlatform::GetForegroundTaskRunner(v8::Isolate*) [/home/runner/work/node/node/out/Release/node] ================================================================= ==183104==ERROR: AddressSanitizer: heap-use-after-free on address 0x515000c9ec00 at pc 0x55ac071cd3a8 bp 0x7ffca02fa3d0 sp 0x7ffca02f9b90 WRITE of size 8 at 0x515000c9ec00 thread T0 6: 0x55ac07f1b81d v8::Isolate::Initialize(v8::Isolate*, v8::Isolate::CreateParams const&) [/home/runner/work/node/node/out/Release/node] 7: 0x55ac072300f1 node::NewIsolate(v8::Isolate::CreateParams*, uv_loop_s*, node::MultiIsolatePlatform*, node::SnapshotData const*, node::IsolateSettings const&) [/home/runner/work/node/node/out/Release/node] 8: 0x55ac07a4e397 node::worker::WorkerThreadData::WorkerThreadData(node::worker::Worker*) [/home/runner/work/node/node/out/Release/node] 9: 0x55ac07a3f2bc node::worker::Worker::Run() [/home/runner/work/node/node/out/Release/node] 10: 0x55ac07a485a5 [/home/runner/work/node/node/out/Release/node] 11: 0x55ac07a483bf [/home/runner/work/node/node/out/Release/node] 12: 0x55ac071ccf4d [/home/runner/work/node/node/out/Release/node] 13: 0x7fb8e0c9ca94 [/lib/x86_64-linux-gnu/libc.so.6] 14: 0x7fb8e0d29c3c [/lib/x86_64-linux-gnu/libc.so.6] Aborted (core dumped) Command: out/Release/node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=./tools/github_reporter/index.js --test-reporter-destination=stdout /home/runner/work/node/node/test/parallel/test-worker-init-failure.js
test-asan: test/parallel/test-worker-stack-overflow.js#L1
Command: out/Release/node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=./tools/github_reporter/index.js --test-reporter-destination=stdout /home/runner/work/node/node/test/parallel/test-worker-stack-overflow.js --- CRASHED (Signal: 11) ---
test-asan: test/parallel/test-worker-stack-overflow-stack-size.js#L1
Command: out/Release/node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=./tools/github_reporter/index.js --test-reporter-destination=stdout /home/runner/work/node/node/test/parallel/test-worker-stack-overflow-stack-size.js --- CRASHED (Signal: 11) ---
test-asan: test/sequential/test-single-executable-application.js#L54
--- stderr --- [process 202430]: --- stderr --- Found SEA blob 0x5649094c0080, size=2231 Found SEA resource 0x5649094c0080, size=2231 Read<uint32_t>()(4-byte), count=1: { 21223968 }, read 4 bytes Read SEA magic 143da20 Read<uint32_t>()(4-byte), count=1: { 0 }, read 4 bytes Read SEA flags 0 Read<uint64_t>()(8-byte), count=1: { 6 }, read 8 bytes ReadStringView(), length=6: 0x5649094c0090, read 6 bytes, content: sea.js Read SEA code path 0x5649094c0090, size=6 Read<uint64_t>()(8-byte), count=1: { 2201 }, read 8 bytes ReadStringView(), length=2201: 0x5649094c009e, read 2201 bytes, content: const { Module: { createRequire } } = require('module'); const createdRequire = createRequire(__filename); // Although, require('../common') works locally, that couldn't be used here // because we set NODE_TEST_DIR=/Users/iojs/node-tmp on Jenkins CI. const { expectWarning, mustNotCall } = createdRequire(process.env.COMMON_DIRECTORY); // This additionally makes sure that no unexpected warnings are emitted. if (createdRequire('./sea-config.json').disableExperimentalSEAWarning) { process.on('warning', mustNotCall()); } else { expectWarning('ExperimentalWarning', 'Single executable application is an experimental feature and ' + 'might change at any time'); // Any unexpected warning would throw this error: // https://github.com/nodejs/node/blob/c301404105a7256b79a0b8c4522ce47af96dfa17/test/common/index.js#L697-L700. } // Should be possible to require core modules that optionally require the // "node:" scheme. const { deepStrictEqual, strictEqual, throws } = require('assert'); const { dirname } = require('node:path'); // Checks that the source filename is used in the error stack trace. strictEqual(new Error('lol').stack.split('\n')[1], ' at sea.js:25:13'); // Should be possible to require a core module that requires using the "node:" // scheme. { const { test } = require('node:test'); strictEqual(typeof test, 'function'); } // Should not be possible to require a core module without the "node:" scheme if // it requires using the "node:" scheme. throws(() => require('test'), { code: 'ERR_UNKNOWN_BUILTIN_MODULE', }); deepStrictEqual(process.argv, [process.execPath, process.execPath, '-a', '--b=c', 'd']); strictEqual(require.cache, undefined); strictEqual(require.extensions, undefined); strictEqual(require.main, module); strictEqual(require.resolve, undefined); strictEqual(__filename, process.execPath); strictEqual(__dirname, dirname(process.execPath)); strictEqual(module.exports, exports); throws(() => require('./requirable.js'), { code: 'ERR_UNKNOWN_BUILTIN_MODULE', }); const requirable = createdRequire('./requirable.js'); deepStrictEqual(requirable, { hello: 'world', }); console.log('Hello, world! 😊'); Read SEA resource code 0x5649094c009e, size=2201 ================================================================= ==202430==ERROR: AddressSanitizer: alloc-dealloc-mismatch (malloc vs operator delete) on 0x514000001c40 #0 0x5648eb20f706 in operator delete(void*, unsigned long) (/home/runner/work/node/node/test/.tmp.4152/sea+0x1c0f706) (BuildId: cd881da313bcf0ea28c07f53f863a331e65ca5f1) #1 0x5648eb7b26ff in std::__uniq_ptr_impl<std::filesystem::__cxx11::path::_List::_Impl, std::filesystem::__cxx11::path::_List::_Impl_deleter>::reset(std::filesystem::__cxx11::path::_List::_Impl*) (/home/runner/work/node/node/test/.tmp.4152/sea+0x21b26ff) (BuildId: cd881da313bcf0ea28c07f53f863a331e65ca5f1) #2 0x5648eb7b263c in std::__uniq_ptr_impl<std::filesystem::__cxx11::path::_List::_Impl, std::filesystem::__cxx11::path::_List::_Impl_deleter>::operator=(std::__uniq_ptr_impl<std::filesystem::__cxx11::path::_List::_Impl, std::filesystem::__cxx11::path::_List::_Impl_deleter>&&) (/home/runner/work/node/node/test/.tmp.4152/sea+0x21b263c) (BuildId: cd881da313bcf0ea28c07f53f863a331e65ca5f1) #3 0x5648eb7b2600 in std::__uniq_ptr_data<std::filesystem::__cxx11::path::_List::_Impl, std::filesystem::__cxx11::path::_List::_Impl_deleter, true, true>::operator=(std::__uniq_ptr_data<std::filesystem::
test-asan: test/sequential/test-single-executable-application-disable-experimental-sea-warning.js#L55
--- stderr --- [process 202872]: --- stderr --- Found SEA blob 0x55bb1f6c0080, size=2231 Found SEA resource 0x55bb1f6c0080, size=2231 Read<uint32_t>()(4-byte), count=1: { 21223968 }, read 4 bytes Read SEA magic 143da20 Read<uint32_t>()(4-byte), count=1: { 1 }, read 4 bytes Read SEA flags 1 Read<uint64_t>()(8-byte), count=1: { 6 }, read 8 bytes ReadStringView(), length=6: 0x55bb1f6c0090, read 6 bytes, content: sea.js Read SEA code path 0x55bb1f6c0090, size=6 Read<uint64_t>()(8-byte), count=1: { 2201 }, read 8 bytes ReadStringView(), length=2201: 0x55bb1f6c009e, read 2201 bytes, content: const { Module: { createRequire } } = require('module'); const createdRequire = createRequire(__filename); // Although, require('../common') works locally, that couldn't be used here // because we set NODE_TEST_DIR=/Users/iojs/node-tmp on Jenkins CI. const { expectWarning, mustNotCall } = createdRequire(process.env.COMMON_DIRECTORY); // This additionally makes sure that no unexpected warnings are emitted. if (createdRequire('./sea-config.json').disableExperimentalSEAWarning) { process.on('warning', mustNotCall()); } else { expectWarning('ExperimentalWarning', 'Single executable application is an experimental feature and ' + 'might change at any time'); // Any unexpected warning would throw this error: // https://github.com/nodejs/node/blob/c301404105a7256b79a0b8c4522ce47af96dfa17/test/common/index.js#L697-L700. } // Should be possible to require core modules that optionally require the // "node:" scheme. const { deepStrictEqual, strictEqual, throws } = require('assert'); const { dirname } = require('node:path'); // Checks that the source filename is used in the error stack trace. strictEqual(new Error('lol').stack.split('\n')[1], ' at sea.js:25:13'); // Should be possible to require a core module that requires using the "node:" // scheme. { const { test } = require('node:test'); strictEqual(typeof test, 'function'); } // Should not be possible to require a core module without the "node:" scheme if // it requires using the "node:" scheme. throws(() => require('test'), { code: 'ERR_UNKNOWN_BUILTIN_MODULE', }); deepStrictEqual(process.argv, [process.execPath, process.execPath, '-a', '--b=c', 'd']); strictEqual(require.cache, undefined); strictEqual(require.extensions, undefined); strictEqual(require.main, module); strictEqual(require.resolve, undefined); strictEqual(__filename, process.execPath); strictEqual(__dirname, dirname(process.execPath)); strictEqual(module.exports, exports); throws(() => require('./requirable.js'), { code: 'ERR_UNKNOWN_BUILTIN_MODULE', }); const requirable = createdRequire('./requirable.js'); deepStrictEqual(requirable, { hello: 'world', }); console.log('Hello, world! 😊'); Read SEA resource code 0x55bb1f6c009e, size=2201 ================================================================= ==202872==ERROR: AddressSanitizer: alloc-dealloc-mismatch (malloc vs operator delete) on 0x514000001c40 #0 0x55bb0140f706 in operator delete(void*, unsigned long) (/home/runner/work/node/node/test/.tmp.4155/sea+0x1c0f706) (BuildId: cd881da313bcf0ea28c07f53f863a331e65ca5f1) #1 0x55bb019b26ff in std::__uniq_ptr_impl<std::filesystem::__cxx11::path::_List::_Impl, std::filesystem::__cxx11::path::_List::_Impl_deleter>::reset(std::filesystem::__cxx11::path::_List::_Impl*) (/home/runner/work/node/node/test/.tmp.4155/sea+0x21b26ff) (BuildId: cd881da313bcf0ea28c07f53f863a331e65ca5f1) #2 0x55bb019b263c in std::__uniq_ptr_impl<std::filesystem::__cxx11::path::_List::_Impl, std::filesystem::__cxx11::path::_List::_Impl_deleter>::operator=(std::__uniq_ptr_impl<std::filesystem::__cxx11::path::_List::_Impl, std::filesystem::__cxx11::path::_List::_Impl_deleter>&&) (/home/runner/work/node/node/test/.tmp.4155/sea+0x21b263c) (BuildId: cd881da313bcf0ea28c07f53f863a331e65ca5f1) #3 0x55bb019b2600 in std::__uniq_ptr_data<std::filesystem::__cxx11::path::_List::_Impl, std::filesystem::__cxx11::path::_List::_Impl_deleter, true, true>::operator=(std::__uniq_ptr_data<std::filesystem::
test-asan: test/sequential/test-single-executable-application-use-code-cache.js#L61
--- stderr --- [process 203346]: --- stderr --- Found SEA blob 0x55f8f82c0080, size=4951 Found SEA resource 0x55f8f82c0080, size=4951 Read<uint32_t>()(4-byte), count=1: { 21223968 }, read 4 bytes Read SEA magic 143da20 Read<uint32_t>()(4-byte), count=1: { 4 }, read 4 bytes Read SEA flags 4 Read<uint64_t>()(8-byte), count=1: { 6 }, read 8 bytes ReadStringView(), length=6: 0x55f8f82c0090, read 6 bytes, content: sea.js Read SEA code path 0x55f8f82c0090, size=6 Read<uint64_t>()(8-byte), count=1: { 2201 }, read 8 bytes ReadStringView(), length=2201: 0x55f8f82c009e, read 2201 bytes, content: const { Module: { createRequire } } = require('module'); const createdRequire = createRequire(__filename); // Although, require('../common') works locally, that couldn't be used here // because we set NODE_TEST_DIR=/Users/iojs/node-tmp on Jenkins CI. const { expectWarning, mustNotCall } = createdRequire(process.env.COMMON_DIRECTORY); // This additionally makes sure that no unexpected warnings are emitted. if (createdRequire('./sea-config.json').disableExperimentalSEAWarning) { process.on('warning', mustNotCall()); } else { expectWarning('ExperimentalWarning', 'Single executable application is an experimental feature and ' + 'might change at any time'); // Any unexpected warning would throw this error: // https://github.com/nodejs/node/blob/c301404105a7256b79a0b8c4522ce47af96dfa17/test/common/index.js#L697-L700. } // Should be possible to require core modules that optionally require the // "node:" scheme. const { deepStrictEqual, strictEqual, throws } = require('assert'); const { dirname } = require('node:path'); // Checks that the source filename is used in the error stack trace. strictEqual(new Error('lol').stack.split('\n')[1], ' at sea.js:25:13'); // Should be possible to require a core module that requires using the "node:" // scheme. { const { test } = require('node:test'); strictEqual(typeof test, 'function'); } // Should not be possible to require a core module without the "node:" scheme if // it requires using the "node:" scheme. throws(() => require('test'), { code: 'ERR_UNKNOWN_BUILTIN_MODULE', }); deepStrictEqual(process.argv, [process.execPath, process.execPath, '-a', '--b=c', 'd']); strictEqual(require.cache, undefined); strictEqual(require.extensions, undefined); strictEqual(require.main, module); strictEqual(require.resolve, undefined); strictEqual(__filename, process.execPath); strictEqual(__dirname, dirname(process.execPath)); strictEqual(module.exports, exports); throws(() => require('./requirable.js'), { code: 'ERR_UNKNOWN_BUILTIN_MODULE', }); const requirable = createdRequire('./requirable.js'); deepStrictEqual(requirable, { hello: 'world', }); console.log('Hello, world! 😊'); Read SEA resource code 0x55f8f82c009e, size=2201 Read<uint64_t>()(8-byte), count=1: { 2712 }, read 8 bytes ReadStringView(), length=2712: 0x55f8f82c093f, read 2712 bytes Read SEA resource code cache 0x55f8f82c093f, size=2712 ================================================================= ==203346==ERROR: AddressSanitizer: alloc-dealloc-mismatch (malloc vs operator delete) on 0x514000001c40 #0 0x55f8da00f706 in operator delete(void*, unsigned long) (/home/runner/work/node/node/test/.tmp.4159/sea+0x1c0f706) (BuildId: cd881da313bcf0ea28c07f53f863a331e65ca5f1) #1 0x55f8da5b26ff in std::__uniq_ptr_impl<std::filesystem::__cxx11::path::_List::_Impl, std::filesystem::__cxx11::path::_List::_Impl_deleter>::reset(std::filesystem::__cxx11::path::_List::_Impl*) (/home/runner/work/node/node/test/.tmp.4159/sea+0x21b26ff) (BuildId: cd881da313bcf0ea28c07f53f863a331e65ca5f1) #2 0x55f8da5b263c in std::__uniq_ptr_impl<std::filesystem::__cxx11::path::_List::_Impl, std::filesystem::__cxx11::path::_List::_Impl_deleter>::operator=(std::__uniq_ptr_impl<std::filesystem::__cxx11::path::_List::_Impl, std::filesystem::__cxx11::path::_List::_Impl_deleter>&&) (/home/runner/work/node/node/test/.tmp.4159/sea+0x21b263c) (BuildId: cd881da313bcf0ea28c07f53f863a331e65ca5f1) #3 0x55f8da5b2600 in std::_
test-asan: test/sequential/test-worker-fshandles-error-on-termination.js#L1
--- stderr --- undefined:0 RangeError: Maximum call stack size exceeded Node.js v23.0.0-pre ================================================================= ==204750==ERROR: AddressSanitizer: heap-use-after-free on address 0x50d0000006c0 at pc 0x55a46907dbcd bp 0x7f12f17fd510 sp 0x7f12f17fd508 READ of size 8 at 0x50d0000006c0 thread T18 Command: out/Release/node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=./tools/github_reporter/index.js --test-reporter-destination=stdout /home/runner/work/node/node/test/sequential/test-worker-fshandles-error-on-termination.js --- TIMEOUT ---