diff --git a/tools/.vpython3 b/tools/.vpython3 new file mode 100644 index 0000000000..38ceb4d202 --- /dev/null +++ b/tools/.vpython3 @@ -0,0 +1,91 @@ +# This is a vpython "spec" file. +# +# It describes patterns for python wheel dependencies of the python scripts in +# the chromium repo, particularly for dependencies that have compiled components +# (since pure-python dependencies can be easily vendored into third_party). +# +# When vpython is invoked, it finds this file and builds a python VirtualEnv, +# containing all of the dependencies described in this file, fetching them from +# CIPD (the "Chrome Infrastructure Package Deployer" service). Unlike `pip`, +# this never requires the end-user machine to have a working python extension +# compilation environment. All of these packages are built using: +# https://chromium.googlesource.com/infra/infra/+/main/infra/tools/dockerbuild/ +# +# All python scripts in the repo share this same spec, to avoid dependency +# fragmentation. +# +# If you have depot_tools installed in your $PATH, you can invoke python scripts +# in this repo by running them as you normally would run them, except +# substituting `vpython` instead of `python` on the command line, e.g.: +# vpython path/to/script.py some --arguments +# +# Read more about `vpython` and how to modify this file here: +# https://chromium.googlesource.com/infra/infra/+/main/doc/users/vpython.md + +python_version: "3.8" + +# The default set of platforms vpython checks does not yet include mac-arm64. +# Setting `verify_pep425_tag` to the list of platforms we explicitly must support +# allows us to ensure that vpython specs stay mac-arm64-friendly +verify_pep425_tag: [ + {python: "cp38", abi: "cp38", platform: "manylinux1_x86_64"}, + {python: "cp38", abi: "cp38", platform: "linux_arm64"}, + + {python: "cp38", abi: "cp38", platform: "macosx_10_10_intel"}, + {python: "cp38", abi: "cp38", platform: "macosx_11_0_arm64"}, + + {python: "cp38", abi: "cp38", platform: "win32"}, + {python: "cp38", abi: "cp38", platform: "win_amd64"} +] + +# TODO(https://crbug.com/898348): Add in necessary wheels as Python3 versions +# become available. +wheel: < + name: "infra/python/wheels/six-py2_py3" + version: "version:1.15.0" +> + +wheel: < + name: "infra/python/wheels/coverage/${vpython_platform}" + version: "version:5.5.chromium.3" +> + +wheel: < + name: "infra/python/wheels/pbr-py2_py3" + version: "version:3.0.0" +> + +wheel: < + name: "infra/python/wheels/funcsigs-py2_py3" + version: "version:1.0.2" +> + +wheel: < + name: "infra/python/wheels/mock-py2_py3" + version: "version:2.0.0" +> + +wheel: < + name: "infra/python/wheels/numpy/${vpython_platform}" + version: "version:1.2x.supported.1" +> + +wheel: < + name: "infra/python/wheels/protobuf-py3" + version: "version:3.19.3" +> + +wheel: < + name: "infra/python/wheels/requests-py2_py3" + version: "version:2.13.0" +> + +wheel: < + name: "infra/python/wheels/pyyaml/${vpython_platform}" + version: "version:5.4.1.chromium.1" +> + +wheel: < + name: "infra/python/wheels/clusterfuzz-py2_py3" + version: "version:2.5.6-5c85ed3d46137b17da04c59bcd805ee5" +> diff --git a/tools/testrunner/testdata/expected_test_results1.json b/tools/testrunner/testdata/expected_test_results1.json index 446291c2d1..e0641739bc 100644 --- a/tools/testrunner/testdata/expected_test_results1.json +++ b/tools/testrunner/testdata/expected_test_results1.json @@ -3,8 +3,8 @@ "results": [ { "command": "/usr/bin/python out/build/d8_mocked.py --test strawberries --random-seed=123 --nohard-abort --testing-d8-test-runner", - "crash_state": "Dummy State", - "crash_type": "Dummy Type", + "crash_state": "", + "crash_type": "", "duration": 1, "error_details": "+Mock diff", "exit_code": 1, @@ -31,8 +31,8 @@ }, { "command": "/usr/bin/python out/build/d8_mocked.py --test strawberries --random-seed=123 --nohard-abort --testing-d8-test-runner", - "crash_state": "Dummy State", - "crash_type": "Dummy Type", + "crash_state": "", + "crash_type": "", "duration": 1, "error_details": "+Mock diff", "exit_code": 1, @@ -59,8 +59,8 @@ }, { "command": "/usr/bin/python out/build/d8_mocked.py --test strawberries --random-seed=123 --nohard-abort --testing-d8-test-runner", - "crash_state": "Dummy State", - "crash_type": "Dummy Type", + "crash_state": "", + "crash_type": "", "duration": 1, "error_details": "+Mock diff", "exit_code": 1, diff --git a/tools/testrunner/testdata/expected_test_results2.json b/tools/testrunner/testdata/expected_test_results2.json index 9708d80a40..a023d825ab 100644 --- a/tools/testrunner/testdata/expected_test_results2.json +++ b/tools/testrunner/testdata/expected_test_results2.json @@ -3,8 +3,8 @@ "results": [ { "command": "/usr/bin/python out/build/d8_mocked.py bananaflakes --random-seed=123 --nohard-abort --testing-d8-test-runner", - "crash_state": "Dummy State", - "crash_type": "Dummy Type", + "crash_state": "", + "crash_type": "", "duration": 1, "error_details": null, "exit_code": 1, @@ -30,8 +30,8 @@ }, { "command": "/usr/bin/python out/build/d8_mocked.py bananaflakes --random-seed=123 --nohard-abort --testing-d8-test-runner", - "crash_state": "Dummy State", - "crash_type": "Dummy Type", + "crash_state": "", + "crash_type": "", "duration": 1, "error_details": null, "exit_code": 0, diff --git a/tools/testrunner/testproc/indicators.py b/tools/testrunner/testproc/indicators.py index 2a63d67cdb..2f84119441 100644 --- a/tools/testrunner/testproc/indicators.py +++ b/tools/testrunner/testproc/indicators.py @@ -11,6 +11,7 @@ import time from . import base from . import util +from .stack_utils import stack_analyzer_util def print_failure_header(test, is_flaky=False): @@ -344,26 +345,6 @@ class MonochromeProgressIndicator(CompactProgressIndicator): print(("\r" + (" " * last_length) + "\r"), end='') -class CrashInfo: - """Parsed crash information.""" - - def __init__(self): - self.crash_stacktrace = '' - self.crash_type = 'Dummy Type' - self.crash_state = 'Dummy State' - - -class StackParser: - """Stack parser.""" - - def parse(self, stacktrace: str) -> CrashInfo: - """Parse a stacktrace.""" - state = CrashInfo() - state.crash_stacktrace = stacktrace - - return state - - class JsonTestProgressIndicator(ProgressIndicator): def __init__(self, context, options, test_count): @@ -380,6 +361,7 @@ class JsonTestProgressIndicator(ProgressIndicator): self.results = [] self.duration_sum = 0 self.test_count = 0 + self.stack_parser = stack_analyzer_util.create_stack_parser() def on_test_result(self, test, result): self.process_results(test, result.as_list) @@ -405,12 +387,7 @@ class JsonTestProgressIndicator(ProgressIndicator): "error_details": result.error_details, }) - stack_parser = StackParser() - stderr_analysis = stack_parser.parse(output.stderr) - record.update({ - "crash_state": stderr_analysis.crash_state, - "crash_type": stderr_analysis.crash_type, - }) + record.update(self.stack_parser.analyze_crash(output.stderr)) self.results.append(record) diff --git a/tools/testrunner/testproc/stack_utils/__init__.py b/tools/testrunner/testproc/stack_utils/__init__.py new file mode 100644 index 0000000000..fd7718a4a6 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2022 the V8 project authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. diff --git a/tools/testrunner/testproc/stack_utils/clusterfuzz_fakes.py b/tools/testrunner/testproc/stack_utils/clusterfuzz_fakes.py new file mode 100644 index 0000000000..d475c7b724 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/clusterfuzz_fakes.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 +# Copyright 2022 the V8 project authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# This file exists to be able to mock some of the imports in ClusterFuzz. Since +# we only need a specific functionality in ClusterFuzz (Stack Analysis) we do +# not need most of the imports that it uses, so we fake them here in order to +# not crash when we run. + + +def empty_fn(*args, **kwargs): + raise 'empty function was used' + + +kernel_utils, \ +storage, \ +fetch_artifact, \ +settings, \ +symbols_downloader, \ += [empty_fn] * 5 + + +class ProjectConfig: + + def get(self): + """Return empty config properties when ClusterFuzz tries to find a project + config. + """ + return None diff --git a/tools/testrunner/testproc/stack_utils/stack_analyzer_util.py b/tools/testrunner/testproc/stack_utils/stack_analyzer_util.py new file mode 100644 index 0000000000..4e3eb47bad --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/stack_analyzer_util.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python3 +# Copyright 2022 the V8 project authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import logging +import os +import sys + + +def fake_clusterfuzz_imports(modules): + for module in modules: + sys.modules[module] = __import__('clusterfuzz_fakes') + + +def pre_clusterfuzz_import(): + local_path = os.path.dirname(os.path.abspath(__file__)) + sys.path.append(local_path) + + fake_clusterfuzz_imports([ + 'clusterfuzz._internal.platforms.android', + 'clusterfuzz._internal.google_cloud_utils', + 'clusterfuzz._internal.config.local_config', + ]) + + +class CustomStackParser: + + def __init__(self): + pre_clusterfuzz_import() + + from clusterfuzz.stacktraces import StackParser + from clusterfuzz.stacktraces import llvm_test_one_input_override + from clusterfuzz.stacktraces import constants + + self.stack_parser = StackParser() + self.constants = constants + self.llvm_test_one_input_override = llvm_test_one_input_override + + def analyze_crash(self, stderr): + try: + stderr_analysis = self.stack_parser.parse(stderr) + return { + "crash_state": stderr_analysis.crash_state.strip(), + "crash_type": stderr_analysis.crash_type.strip(), + } + except Exception as e: + logging.info(e) + return { + "crash_state": "Unknown", + "crash_type": "Unknown", + } + + +class EmptyStackParser: + + def analyze_crash(self, stderr): + return {} + + +def create_stack_parser(): + try: + return CustomStackParser() + except ImportError as e: + logging.info(e) + return EmptyStackParser() diff --git a/tools/testrunner/testproc/stack_utils/stack_analyzer_util_test.py b/tools/testrunner/testproc/stack_utils/stack_analyzer_util_test.py new file mode 100644 index 0000000000..f419f297cf --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/stack_analyzer_util_test.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python3 +# Copyright 2022 the V8 project authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import json +import os +import sys +import unittest + +TOOLS_PATH = os.path.dirname( + os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +sys.path.append(TOOLS_PATH) + +TEST_DATA_ROOT = os.path.join(TOOLS_PATH, 'testproc', 'stack_utils', 'testdata') + +from testproc.stack_utils.stack_analyzer_util import create_stack_parser + + +class TestScript(unittest.TestCase): + # TODO(almuthanna): find out why these test cases are not analyzed and add + # logic to make them pass. + skipped_tests = [ + 'type_assertion_1.txt', + 'type_assertion_2.txt', + 'static_assertion_2.txt', + 'static_assertion_1.txt', + ] + + def logs_test(self): + stack_parser = create_stack_parser() + for file in [f for f in os.listdir(TEST_DATA_ROOT) if f.endswith('.txt')]: + if file in self.skipped_tests: + continue + filepath = os.path.join(TEST_DATA_ROOT, file) + exp_filepath = os.path.join(TEST_DATA_ROOT, + file.replace('.txt', '.expected.json')) + with self.subTest(test_name=file[:-4]): + with open(filepath) as f: + result = stack_parser.analyze_crash(f.read()) + with open(exp_filepath, 'r') as exp_f: + expectation = json.load(exp_f) + self.assertDictEqual(result, expectation) + + def test_all(self): + self.logs_test() + + +if __name__ == '__main__': + unittest.main() diff --git a/tools/testrunner/testproc/stack_utils/testdata/code_kind.expected.json b/tools/testrunner/testproc/stack_utils/testdata/code_kind.expected.json new file mode 100644 index 0000000000..e0fdf04d84 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/code_kind.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "CHECK failure", + "crash_state": "kind() == CodeKind::BASELINE" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/code_kind.txt b/tools/testrunner/testproc/stack_utils/testdata/code_kind.txt new file mode 100644 index 0000000000..d7affc63e8 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/code_kind.txt @@ -0,0 +1,20 @@ +Warning: disabling flag --regexp_tier_up due to conflicting flags + + +# +# Fatal error in , line 0 +# Check failed: kind() == CodeKind::BASELINE. +# +# +# +#FailureMessage Object: 0x7fff55c98300 +==== C stack trace =============================== + + /b/s/w/ir/out/build/d8(+0xec56a3) [0x55fbef6236a3] + /b/s/w/ir/out/build/d8(+0xec4f4b) [0x55fbef622f4b] + /b/s/w/ir/out/build/d8(+0xebb4d5) [0x55fbef6194d5] + /b/s/w/ir/out/build/d8(+0x42cd8c) [0x55fbeeb8ad8c] + /b/s/w/ir/out/build/d8(+0x42bd45) [0x55fbeeb89d45] + [0x2c4d0000c1ca] +Received signal 6 +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/data_race_1.expected.json b/tools/testrunner/testproc/stack_utils/testdata/data_race_1.expected.json new file mode 100644 index 0000000000..dc4e945728 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/data_race_1.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "Data race\nWRITE 8", + "crash_state": "NULL" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/data_race_1.txt b/tools/testrunner/testproc/stack_utils/testdata/data_race_1.txt new file mode 100644 index 0000000000..e1e21610e0 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/data_race_1.txt @@ -0,0 +1,91 @@ +================== +WARNING: ThreadSanitizer: data race (pid=24781) + Write of size 8 at 0x7e9b00080008 by main thread (mutexes: write M0): + #0 operator|= src/base/flags.h:47:11 (d8+0xa03eff) (BuildId: 2d1896fcafe8220c) + #1 operator|= src/base/flags.h:66:46 (d8+0xa03eff) + #2 SetFlag src/heap/basic-memory-chunk.h:198:48 (d8+0xa03eff) + #3 MarkWasUsedForAllocation src/heap/memory-chunk.h:223:37 (d8+0xa03eff) + #4 v8::internal::PagedSpaceBase::SetLinearAllocationArea(unsigned long, unsigned long) src/heap/paged-spaces.cc:435:13 (d8+0xa03eff) + #5 v8::internal::PagedSpaceBase::TryAllocationFromFreeListMain(unsigned long, v8::internal::AllocationOrigin) src/heap/paged-spaces.cc:653:3 (d8+0xa04b8e) (BuildId: 2d1896fcafe8220c) + #6 v8::internal::PagedSpaceBase::RawRefillLabMain(int, v8::internal::AllocationOrigin) src/heap/paged-spaces.cc:991:7 (d8+0xa066b4) (BuildId: 2d1896fcafe8220c) + #7 v8::internal::PagedSpaceBase::RefillLabMain(int, v8::internal::AllocationOrigin) src/heap/paged-spaces.cc:960:10 (d8+0xa065f7) (BuildId: 2d1896fcafe8220c) + #8 EnsureAllocation src/heap/paged-spaces-inl.h:89:10 (d8+0x9f33a8) (BuildId: 2d1896fcafe8220c) + #9 EnsureAllocation src/heap/new-spaces-inl.h:109:24 (d8+0x9f33a8) + #10 v8::internal::PagedNewSpace::EnsureAllocation(int, v8::internal::AllocationAlignment, v8::internal::AllocationOrigin, int*) src/heap/new-spaces.h:800:25 (d8+0x9f33a8) + #11 AllocateRawUnaligned src/heap/spaces-inl.h:277:8 (d8+0x8b41ea) (BuildId: 2d1896fcafe8220c) + #12 AllocateRawSlow src/heap/spaces-inl.h:331:13 (d8+0x8b41ea) + #13 AllocateRaw src/heap/spaces-inl.h:269:31 (d8+0x8b41ea) + #14 AllocateRaw<(v8::internal::AllocationType)0> src/heap/heap-allocator-inl.h:107:28 (d8+0x8b41ea) + #15 AllocateRawWith<(v8::internal::HeapAllocator::AllocationRetryMode)1> src/heap/heap-allocator-inl.h:230:14 (d8+0x8b41ea) + #16 v8::internal::Factory::AllocateRawWithAllocationSite(v8::internal::Handle, v8::internal::AllocationType, v8::internal::Handle) src/heap/factory.cc:356:36 (d8+0x8b41ea) + #17 v8::internal::Factory::NewJSObjectFromMap(v8::internal::Handle, v8::internal::AllocationType, v8::internal::Handle) src/heap/factory.cc:2728:7 (d8+0x8ba650) (BuildId: 2d1896fcafe8220c) + #18 __RT_impl_Runtime_NewArray src/runtime/runtime-array.cc:116:58 (d8+0xfa02b1) (BuildId: 2d1896fcafe8220c) + #19 v8::internal::Runtime_NewArray(int, unsigned long*, v8::internal::Isolate*) src/runtime/runtime-array.cc:44:1 (d8+0xfa02b1) + #20 Builtins_AsyncFromSyncIteratorPrototypeThrow setup-isolate-deserialize.cc (d8+0x1c3cd77) + #21 v8::internal::Execution::CallScript(v8::internal::Isolate*, v8::internal::Handle, v8::internal::Handle, v8::internal::Handle) src/execution/execution.cc:538:10 (d8+0x8187b5) (BuildId: 2d1896fcafe8220c) + #22 v8::Script::Run(v8::Local, v8::Local) src/api/api.cc:2151:7 (d8+0x5b210e) (BuildId: 2d1896fcafe8220c) + #23 v8::Script::Run(v8::Local) src/api/api.cc:2078:10 (d8+0x5b1840) (BuildId: 2d1896fcafe8220c) + #24 v8::Shell::ExecuteString(v8::Isolate*, v8::Local, v8::Local, v8::Shell::PrintResult, v8::Shell::ReportExceptions, v8::Shell::ProcessMessageQueue) src/d8/d8.cc:879:28 (d8+0x5703cb) (BuildId: 2d1896fcafe8220c) + #25 v8::SourceGroup::Execute(v8::Isolate*) src/d8/d8.cc:4379:10 (d8+0x588620) (BuildId: 2d1896fcafe8220c) + #26 v8::Shell::RunMain(v8::Isolate*, bool) src/d8/d8.cc:5107:39 (d8+0x58c487) (BuildId: 2d1896fcafe8220c) + #27 v8::Shell::Main(int, char**) src/d8/d8.cc:5886:18 (d8+0x58efe0) (BuildId: 2d1896fcafe8220c) + #28 main src/d8/d8.cc:5976:43 (d8+0x58f4ee) (BuildId: 2d1896fcafe8220c) + + Previous read of size 8 at 0x7e9b00080008 by thread T6: + #0 GetFlags src/heap/basic-memory-chunk.h:211:45 (d8+0x88ee2f) (BuildId: 2d1896fcafe8220c) + #1 ShouldSkipEvacuationSlotRecording src/heap/basic-memory-chunk.h:240:29 (d8+0x88ee2f) + #2 RecordSlot src/heap/mark-compact-inl.h:68:21 (d8+0x88ee2f) + #3 void v8::internal::ConcurrentMarkingVisitor::RecordSlot(v8::internal::HeapObject, v8::internal::CompressedHeapObjectSlot, v8::internal::HeapObject) src/heap/concurrent-marking.cc:481:5 (d8+0x88ee2f) + #4 void v8::internal::MarkingVisitorBase::ProcessStrongHeapObject(v8::internal::HeapObject, v8::internal::CompressedHeapObjectSlot, v8::internal::HeapObject) src/heap/marking-visitor-inl.h:49:23 (d8+0x88ed97) (BuildId: 2d1896fcafe8220c) + #5 VisitPointersImpl src/heap/marking-visitor-inl.h:90:7 (d8+0x894a3a) (BuildId: 2d1896fcafe8220c) + #6 VisitPointers src/heap/marking-visitor.h:197:5 (d8+0x894a3a) + #7 IteratePointers src/objects/objects-body-descriptors-inl.h:127:6 (d8+0x894a3a) + #8 IterateBody src/objects/objects-body-descriptors-inl.h:358:5 (d8+0x894a3a) + #9 int v8::internal::ConcurrentMarkingVisitorUtility::VisitJSObjectSubclass(v8::internal::ConcurrentMarkingVisitor*, v8::internal::Map, v8::internal::JSFunction) src/heap/concurrent-marking.cc:102:5 (d8+0x894a3a) + #10 VisitJSObjectSubclass src/heap/concurrent-marking.cc:489:12 (d8+0x884a6f) (BuildId: 2d1896fcafe8220c) + #11 VisitJSFunction src/heap/marking-visitor-inl.h:178:34 (d8+0x884a6f) + #12 Visit src/heap/objects-visiting-inl.h:65:5 (d8+0x884a6f) + #13 v8::internal::ConcurrentMarking::RunMajor(v8::JobDelegate*, v8::base::EnumSet, unsigned int, bool) src/heap/concurrent-marking.cc:758:41 (d8+0x884a6f) + #14 v8::internal::ConcurrentMarking::JobTaskMajor::Run(v8::JobDelegate*) src/heap/concurrent-marking.cc:606:28 (d8+0x898719) (BuildId: 2d1896fcafe8220c) + #15 v8::DelayedTasksPlatform::DelayedJob::Run(v8::JobDelegate*) src/d8/d8-platforms.cc:304:18 (d8+0x565b28) (BuildId: 2d1896fcafe8220c) + #16 v8::platform::DefaultJobWorker::Run() src/libplatform/default-job.h:147:18 (d8+0x1e5184b) (BuildId: 2d1896fcafe8220c) + #17 v8::platform::DefaultWorkerThreadsTaskRunner::WorkerThread::Run() src/libplatform/default-worker-threads-task-runner.cc:73:11 (d8+0x1e586b0) (BuildId: 2d1896fcafe8220c) + #18 NotifyStartedAndRun src/base/platform/platform.h:596:5 (d8+0x1e4bc22) (BuildId: 2d1896fcafe8220c) + #19 v8::base::ThreadEntry(void*) src/base/platform/platform-posix.cc:1112:11 (d8+0x1e4bc22) + + Mutex M0 (0x7b5400000710) created at: + #0 pthread_mutex_init /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1316:3 (d8+0x4df75f) (BuildId: 2d1896fcafe8220c) + #1 InitializeNativeHandle src/base/platform/mutex.cc:99:12 (d8+0x1e4408b) (BuildId: 2d1896fcafe8220c) + #2 v8::base::Mutex::Mutex() src/base/platform/mutex.cc:152:3 (d8+0x1e4408b) + #3 v8::internal::PagedSpaceBase::PagedSpaceBase(v8::internal::Heap*, v8::internal::AllocationSpace, v8::internal::Executability, v8::internal::FreeList*, v8::internal::AllocationCounter&, v8::internal::LinearAllocationArea&, v8::internal::LinearAreaOriginalData&, v8::internal::CompactionSpaceKind) src/heap/paged-spaces.cc:120:17 (d8+0xa023d8) (BuildId: 2d1896fcafe8220c) + #4 PagedSpaceForNewSpace src/heap/new-spaces.cc:923:7 (d8+0x9f1f66) (BuildId: 2d1896fcafe8220c) + #5 v8::internal::PagedNewSpace::PagedNewSpace(v8::internal::Heap*, unsigned long, unsigned long, v8::internal::LinearAllocationArea&) src/heap/new-spaces.cc:1042:7 (d8+0x9f1f66) + #6 make_unique buildtools/third_party/libc++/trunk/include/__memory/unique_ptr.h:670:30 (d8+0x90c4a9) (BuildId: 2d1896fcafe8220c) + #7 v8::internal::Heap::SetUpSpaces(v8::internal::LinearAllocationArea&, v8::internal::LinearAllocationArea&) src/heap/heap.cc:5559:27 (d8+0x90c4a9) + #8 v8::internal::Isolate::Init(v8::internal::SnapshotData*, v8::internal::SnapshotData*, v8::internal::SnapshotData*, bool) src/execution/isolate.cc:4264:9 (d8+0x843e08) (BuildId: 2d1896fcafe8220c) + #9 v8::internal::Isolate::InitWithSnapshot(v8::internal::SnapshotData*, v8::internal::SnapshotData*, v8::internal::SnapshotData*, bool) src/execution/isolate.cc:4036:10 (d8+0x8455f9) (BuildId: 2d1896fcafe8220c) + #10 v8::internal::Snapshot::Initialize(v8::internal::Isolate*) src/snapshot/snapshot.cc:182:27 (d8+0x10bc8e1) (BuildId: 2d1896fcafe8220c) + #11 v8::Isolate::Initialize(v8::Isolate*, v8::Isolate::CreateParams const&) src/api/api.cc:8836:8 (d8+0x5dd97f) (BuildId: 2d1896fcafe8220c) + #12 v8::Isolate::New(v8::Isolate::CreateParams const&) src/api/api.cc:8872:3 (d8+0x5ddc45) (BuildId: 2d1896fcafe8220c) + #13 v8::Shell::Main(int, char**) src/d8/d8.cc:5788:22 (d8+0x58e70c) (BuildId: 2d1896fcafe8220c) + #14 main src/d8/d8.cc:5976:43 (d8+0x58f4ee) (BuildId: 2d1896fcafe8220c) + + Thread T6 'V8 DefaultWorke' (tid=24798, running) created by main thread at: + #0 pthread_create /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1022:3 (d8+0x4ddffb) (BuildId: 2d1896fcafe8220c) + #1 v8::base::Thread::Start() src/base/platform/platform-posix.cc:1144:14 (d8+0x1e4bb36) (BuildId: 2d1896fcafe8220c) + #2 WorkerThread src/libplatform/default-worker-threads-task-runner.cc:66:3 (d8+0x1e580ac) (BuildId: 2d1896fcafe8220c) + #3 make_unique buildtools/third_party/libc++/trunk/include/__memory/unique_ptr.h:670:30 (d8+0x1e580ac) + #4 v8::platform::DefaultWorkerThreadsTaskRunner::DefaultWorkerThreadsTaskRunner(unsigned int, double (*)()) src/libplatform/default-worker-threads-task-runner.cc:16:28 (d8+0x1e580ac) + #5 __shared_ptr_emplace buildtools/third_party/libc++/trunk/include/__memory/shared_ptr.h:297:37 (d8+0x1e4e1b0) (BuildId: 2d1896fcafe8220c) + #6 allocate_shared, const int &, double (*)(), void> buildtools/third_party/libc++/trunk/include/__memory/shared_ptr.h:956:55 (d8+0x1e4e1b0) + #7 make_shared buildtools/third_party/libc++/trunk/include/__memory/shared_ptr.h:965:12 (d8+0x1e4e1b0) + #8 EnsureBackgroundTaskRunnerInitialized src/libplatform/default-platform.cc:132:7 (d8+0x1e4e1b0) + #9 v8::platform::DefaultPlatform::DefaultPlatform(int, v8::platform::IdleTaskSupport, std::Cr::unique_ptr>) src/libplatform/default-platform.cc:108:5 (d8+0x1e4e1b0) + #10 make_unique > > buildtools/third_party/libc++/trunk/include/__memory/unique_ptr.h:670:30 (d8+0x1e4d839) (BuildId: 2d1896fcafe8220c) + #11 v8::platform::NewDefaultPlatform(int, v8::platform::IdleTaskSupport, v8::platform::InProcessStackDumping, std::Cr::unique_ptr>) src/libplatform/default-platform.cc:53:19 (d8+0x1e4d839) + #12 v8::Shell::Main(int, char**) src/d8/d8.cc:5691:16 (d8+0x58e251) (BuildId: 2d1896fcafe8220c) + #13 main src/d8/d8.cc:5976:43 (d8+0x58f4ee) (BuildId: 2d1896fcafe8220c) + +SUMMARY: ThreadSanitizer: data race src/base/flags.h:47:11 in operator|= +================== +ThreadSanitizer: reported 1 warnings diff --git a/tools/testrunner/testproc/stack_utils/testdata/data_race_2.expected.json b/tools/testrunner/testproc/stack_utils/testdata/data_race_2.expected.json new file mode 100644 index 0000000000..dc4e945728 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/data_race_2.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "Data race\nWRITE 8", + "crash_state": "NULL" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/data_race_2.txt b/tools/testrunner/testproc/stack_utils/testdata/data_race_2.txt new file mode 100644 index 0000000000..c6993d2cdd --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/data_race_2.txt @@ -0,0 +1,118 @@ +================== +WARNING: ThreadSanitizer: data race (pid=10132) + Write of size 8 at 0x7e8d00440248 by thread T7 (mutexes: write M0): + #0 memset sanitizer_common/sanitizer_common_interceptors.inc:799:3 (d8+0x49d4ad) (BuildId: c849b9596314cb5d) + #1 ClearCellRangeRelaxed src/heap/marking.h:205:16 (d8+0x94d685) (BuildId: c849b9596314cb5d) + #2 Clear src/heap/marking.h:228:3 (d8+0x94d685) + #3 ClearMarkBitsAndHandleLivenessStatistics src/heap/sweeper.cc:303:33 (d8+0x94d685) + #4 v8::internal::Sweeper::RawSweep(v8::internal::Page*, v8::internal::Sweeper::FreeListRebuildingMode, v8::internal::FreeSpaceTreatmentMode, v8::internal::Sweeper::FreeSpaceMayContainInvalidatedSlots, v8::base::LockGuard const&) src/heap/sweeper.cc:412:3 (d8+0x94d685) + #5 v8::internal::Sweeper::ParallelSweepPage(v8::internal::Page*, v8::internal::AllocationSpace, v8::internal::Sweeper::FreeSpaceMayContainInvalidatedSlots) src/heap/sweeper.cc:494:17 (d8+0x94d9e6) (BuildId: c849b9596314cb5d) + #6 ConcurrentSweepSpace src/heap/sweeper.cc:437:5 (d8+0x95056a) (BuildId: c849b9596314cb5d) + #7 v8::internal::Sweeper::SweeperJob::RunImpl(v8::JobDelegate*) src/heap/sweeper.cc:117:22 (d8+0x95056a) + #8 v8::internal::Sweeper::SweeperJob::Run(v8::JobDelegate*) src/heap/sweeper.cc (d8+0x950295) (BuildId: c849b9596314cb5d) + #9 v8::DelayedTasksPlatform::DelayedJob::Run(v8::JobDelegate*) src/d8/d8-platforms.cc:297:18 (d8+0x51a6a8) (BuildId: c849b9596314cb5d) + #10 v8::platform::DefaultJobWorker::Run() src/libplatform/default-job.h:147:18 (d8+0x1a7bec8) (BuildId: c849b9596314cb5d) + #11 v8::platform::DefaultWorkerThreadsTaskRunner::WorkerThread::Run() src/libplatform/default-worker-threads-task-runner.cc:73:11 (d8+0x1a836f0) (BuildId: c849b9596314cb5d) + #12 NotifyStartedAndRun src/base/platform/platform.h:560:5 (d8+0x1a77162) (BuildId: c849b9596314cb5d) + #13 v8::base::ThreadEntry(void*) src/base/platform/platform-posix.cc:1051:11 (d8+0x1a77162) + + Previous atomic read of size 4 at 0x7e8d00440248 by thread T3: + #0 __cxx_atomic_load buildtools/third_party/libc++/trunk/include/atomic:1000:12 (d8+0x7e5423) (BuildId: c849b9596314cb5d) + #1 load buildtools/third_party/libc++/trunk/include/atomic:1611:17 (d8+0x7e5423) + #2 atomic_load_explicit buildtools/third_party/libc++/trunk/include/atomic:1967:17 (d8+0x7e5423) + #3 Acquire_Load src/base/atomicops.h:240:10 (d8+0x7e5423) + #4 Acquire_Load src/base/atomic-utils.h:73:9 (d8+0x7e5423) + #5 Get src/heap/marking.h:78:11 (d8+0x7e5423) + #6 IsBlackOrGrey src/heap/marking.h:398:21 (d8+0x7e5423) + #7 IsBlackOrGrey src/heap/marking-visitor.h:81:12 (d8+0x7e5423) + #8 void v8::internal::MarkingVisitorBase::ProcessWeakHeapObject(v8::internal::HeapObject, v8::internal::CompressedHeapObjectSlot, v8::internal::HeapObject) src/heap/marking-visitor-inl.h:58:44 (d8+0x7e5423) + #9 VisitPointersImpl src/heap/marking-visitor-inl.h:90:7 (d8+0x7df885) (BuildId: c849b9596314cb5d) + #10 VisitPointers src/heap/marking-visitor.h:199:5 (d8+0x7df885) + #11 IterateMaybeWeakPointers src/objects/objects-body-descriptors-inl.h:139:6 (d8+0x7df885) + #12 IterateBody src/objects/objects-body-descriptors.h:176:5 (d8+0x7df885) + #13 VisitFeedbackVector src/heap/objects-visiting-inl.h:118:1 (d8+0x7df885) + #14 Visit src/heap/objects-visiting-inl.h:65:5 (d8+0x7df885) + #15 v8::internal::ConcurrentMarking::Run(v8::JobDelegate*, v8::base::EnumSet, unsigned int, bool) src/heap/concurrent-marking.cc:531:41 (d8+0x7df885) + #16 v8::internal::ConcurrentMarking::JobTask::Run(v8::JobDelegate*) src/heap/concurrent-marking.cc:420:28 (d8+0x7eb659) (BuildId: c849b9596314cb5d) + #17 v8::DelayedTasksPlatform::DelayedJob::Run(v8::JobDelegate*) src/d8/d8-platforms.cc:297:18 (d8+0x51a6a8) (BuildId: c849b9596314cb5d) + #18 v8::platform::DefaultJobWorker::Run() src/libplatform/default-job.h:147:18 (d8+0x1a7bec8) (BuildId: c849b9596314cb5d) + #19 v8::platform::DefaultWorkerThreadsTaskRunner::WorkerThread::Run() src/libplatform/default-worker-threads-task-runner.cc:73:11 (d8+0x1a836f0) (BuildId: c849b9596314cb5d) + #20 NotifyStartedAndRun src/base/platform/platform.h:560:5 (d8+0x1a77162) (BuildId: c849b9596314cb5d) + #21 v8::base::ThreadEntry(void*) src/base/platform/platform-posix.cc:1051:11 (d8+0x1a77162) + + As if synchronized via sleep: + #0 usleep /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:358:3 (d8+0x490b4a) (BuildId: c849b9596314cb5d) + #1 v8::base::OS::Sleep(v8::base::TimeDelta) src/base/platform/platform-posix.cc:615:3 (d8+0x1a76295) (BuildId: c849b9596314cb5d) + #2 v8::DelayedTasksPlatform::DelayedJob::Run(v8::JobDelegate*) src/d8/d8-platforms.cc:296:7 (d8+0x51a687) (BuildId: c849b9596314cb5d) + #3 v8::platform::DefaultJobWorker::Run() src/libplatform/default-job.h:147:18 (d8+0x1a7bec8) (BuildId: c849b9596314cb5d) + #4 v8::platform::DefaultWorkerThreadsTaskRunner::WorkerThread::Run() src/libplatform/default-worker-threads-task-runner.cc:73:11 (d8+0x1a836f0) (BuildId: c849b9596314cb5d) + #5 NotifyStartedAndRun src/base/platform/platform.h:560:5 (d8+0x1a77162) (BuildId: c849b9596314cb5d) + #6 v8::base::ThreadEntry(void*) src/base/platform/platform-posix.cc:1051:11 (d8+0x1a77162) + + Mutex M0 (0x7b0c000091e0) created at: + #0 pthread_mutex_init /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1316:3 (d8+0x494d4f) (BuildId: c849b9596314cb5d) + #1 InitializeNativeHandle src/base/platform/mutex.cc:95:12 (d8+0x1a71ecb) (BuildId: c849b9596314cb5d) + #2 v8::base::Mutex::Mutex() src/base/platform/mutex.cc:148:3 (d8+0x1a71ecb) + #3 v8::internal::MemoryChunk::Initialize(v8::internal::BasicMemoryChunk*, v8::internal::Heap*, v8::internal::Executability) src/heap/memory-chunk.cc:149:23 (d8+0x8fa1dd) (BuildId: c849b9596314cb5d) + #4 AllocateChunk src/heap/memory-allocator.cc:409:7 (d8+0x8f9094) (BuildId: c849b9596314cb5d) + #5 v8::internal::MemoryAllocator::AllocatePage(v8::internal::MemoryAllocator::AllocationMode, unsigned long, v8::internal::Space*, v8::internal::Executability) src/heap/memory-allocator.cc:562:13 (d8+0x8f9094) + #6 AllocatePage src/heap/paged-spaces.cc:322:38 (d8+0x9130dd) (BuildId: c849b9596314cb5d) + #7 v8::internal::PagedSpace::ExpandBackground(unsigned long) src/heap/paged-spaces.cc:338:16 (d8+0x9130dd) + #8 v8::internal::PagedSpace::RawRefillLabBackground(v8::internal::LocalHeap*, unsigned long, unsigned long, v8::internal::AllocationAlignment, v8::internal::AllocationOrigin) src/heap/paged-spaces.cc:631:14 (d8+0x914467) (BuildId: c849b9596314cb5d) + #9 v8::internal::ConcurrentAllocator::EnsureLab(v8::internal::AllocationOrigin) src/heap/concurrent-allocator.cc:135:25 (d8+0x7dc06c) (BuildId: c849b9596314cb5d) + #10 v8::internal::ConcurrentAllocator::AllocateInLabSlow(int, v8::internal::AllocationAlignment, v8::internal::AllocationOrigin) src/heap/concurrent-allocator.cc:124:8 (d8+0x7dbf7b) (BuildId: c849b9596314cb5d) + #11 AllocateInLab src/heap/concurrent-allocator-inl.h:41:16 (d8+0x82d0b1) (BuildId: c849b9596314cb5d) + #12 AllocateRaw src/heap/concurrent-allocator-inl.h:34:10 (d8+0x82d0b1) + #13 AllocateRaw src/heap/heap-allocator-inl.h:122:47 (d8+0x82d0b1) + #14 AllocateRaw src/heap/heap-allocator-inl.h:184:14 (d8+0x82d0b1) + #15 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) src/heap/heap-allocator.cc:75:29 (d8+0x82d0b1) + #16 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) src/heap/heap-allocator.cc:100:7 (d8+0x82e234) (BuildId: c849b9596314cb5d) + #17 AllocateRawWith src/heap/heap-allocator-inl.h:237:16 (d8+0x808920) (BuildId: c849b9596314cb5d) + #18 v8::internal::Factory::NewMap(v8::internal::InstanceType, int, v8::internal::ElementsKind, int, v8::internal::AllocationType) src/heap/factory.cc:1848:36 (d8+0x808920) + #19 v8::internal::Builtin_Impl_SharedStructTypeConstructor(v8::internal::BuiltinArguments, v8::internal::Isolate*) src/builtins/builtins-struct.cc:84:39 (d8+0x65fa26) (BuildId: c849b9596314cb5d) + #20 v8::internal::Builtin_SharedStructTypeConstructor(int, unsigned long*, v8::internal::Isolate*) src/builtins/builtins-struct.cc:20:1 (d8+0x65f061) (BuildId: c849b9596314cb5d) + #21 (0x560ebfe66ef8) + #22 v8::internal::Execution::CallScript(v8::internal::Isolate*, v8::internal::Handle, v8::internal::Handle, v8::internal::Handle) src/execution/execution.cc:531:10 (d8+0x77252c) (BuildId: c849b9596314cb5d) + #23 v8::Script::Run(v8::Local, v8::Local) src/api/api.cc:2105:7 (d8+0x561590) (BuildId: c849b9596314cb5d) + #24 v8::Script::Run(v8::Local) src/api/api.cc:2048:10 (d8+0x560d20) (BuildId: c849b9596314cb5d) + #25 v8::Shell::ExecuteString(v8::Isolate*, v8::Local, v8::Local, v8::Shell::PrintResult, v8::Shell::ReportExceptions, v8::Shell::ProcessMessageQueue) src/d8/d8.cc:773:28 (d8+0x5211d0) (BuildId: c849b9596314cb5d) + #26 v8::SourceGroup::Execute(v8::Isolate*) src/d8/d8.cc:3990:10 (d8+0x53659a) (BuildId: c849b9596314cb5d) + #27 v8::Shell::RunMain(v8::Isolate*, bool) src/d8/d8.cc:4656:39 (d8+0x53a188) (BuildId: c849b9596314cb5d) + #28 v8::Shell::Main(int, char**) src/d8/d8.cc:5473:18 (d8+0x53cd5b) (BuildId: c849b9596314cb5d) + #29 main src/d8/d8.cc:5553:43 (d8+0x53cf4e) (BuildId: c849b9596314cb5d) + + Thread T7 'V8 DefaultWorke' (tid=10149, running) created by main thread at: + #0 pthread_create /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1022:3 (d8+0x49356d) (BuildId: c849b9596314cb5d) + #1 v8::base::Thread::Start() src/base/platform/platform-posix.cc:1083:14 (d8+0x1a77076) (BuildId: c849b9596314cb5d) + #2 WorkerThread src/libplatform/default-worker-threads-task-runner.cc:66:3 (d8+0x1a830f2) (BuildId: c849b9596314cb5d) + #3 make_unique buildtools/third_party/libc++/trunk/include/__memory/unique_ptr.h:725:32 (d8+0x1a830f2) + #4 v8::platform::DefaultWorkerThreadsTaskRunner::DefaultWorkerThreadsTaskRunner(unsigned int, double (*)()) src/libplatform/default-worker-threads-task-runner.cc:16:28 (d8+0x1a830f2) + #5 __shared_ptr_emplace buildtools/third_party/libc++/trunk/include/__memory/shared_ptr.h:293:37 (d8+0x1a7890d) (BuildId: c849b9596314cb5d) + #6 allocate_shared, const int &, double (*)(), void> buildtools/third_party/libc++/trunk/include/__memory/shared_ptr.h:1101:55 (d8+0x1a7890d) + #7 make_shared buildtools/third_party/libc++/trunk/include/__memory/shared_ptr.h:1110:12 (d8+0x1a7890d) + #8 EnsureBackgroundTaskRunnerInitialized src/libplatform/default-platform.cc:133:7 (d8+0x1a7890d) + #9 v8::platform::DefaultPlatform::DefaultPlatform(int, v8::platform::IdleTaskSupport, std::__1::unique_ptr >) src/libplatform/default-platform.cc:109:5 (d8+0x1a7890d) + #10 make_unique > > buildtools/third_party/libc++/trunk/include/__memory/unique_ptr.h:725:32 (d8+0x1a78029) (BuildId: c849b9596314cb5d) + #11 v8::platform::NewDefaultPlatform(int, v8::platform::IdleTaskSupport, v8::platform::InProcessStackDumping, std::__1::unique_ptr >) src/libplatform/default-platform.cc:54:19 (d8+0x1a78029) + #12 v8::Shell::Main(int, char**) src/d8/d8.cc:5270:16 (d8+0x53b887) (BuildId: c849b9596314cb5d) + #13 main src/d8/d8.cc:5553:43 (d8+0x53cf4e) (BuildId: c849b9596314cb5d) + + Thread T3 'V8 DefaultWorke' (tid=10144, running) created by main thread at: + #0 pthread_create /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1022:3 (d8+0x49356d) (BuildId: c849b9596314cb5d) + #1 v8::base::Thread::Start() src/base/platform/platform-posix.cc:1083:14 (d8+0x1a77076) (BuildId: c849b9596314cb5d) + #2 WorkerThread src/libplatform/default-worker-threads-task-runner.cc:66:3 (d8+0x1a830f2) (BuildId: c849b9596314cb5d) + #3 make_unique buildtools/third_party/libc++/trunk/include/__memory/unique_ptr.h:725:32 (d8+0x1a830f2) + #4 v8::platform::DefaultWorkerThreadsTaskRunner::DefaultWorkerThreadsTaskRunner(unsigned int, double (*)()) src/libplatform/default-worker-threads-task-runner.cc:16:28 (d8+0x1a830f2) + #5 __shared_ptr_emplace buildtools/third_party/libc++/trunk/include/__memory/shared_ptr.h:293:37 (d8+0x1a7890d) (BuildId: c849b9596314cb5d) + #6 allocate_shared, const int &, double (*)(), void> buildtools/third_party/libc++/trunk/include/__memory/shared_ptr.h:1101:55 (d8+0x1a7890d) + #7 make_shared buildtools/third_party/libc++/trunk/include/__memory/shared_ptr.h:1110:12 (d8+0x1a7890d) + #8 EnsureBackgroundTaskRunnerInitialized src/libplatform/default-platform.cc:133:7 (d8+0x1a7890d) + #9 v8::platform::DefaultPlatform::DefaultPlatform(int, v8::platform::IdleTaskSupport, std::__1::unique_ptr >) src/libplatform/default-platform.cc:109:5 (d8+0x1a7890d) + #10 make_unique > > buildtools/third_party/libc++/trunk/include/__memory/unique_ptr.h:725:32 (d8+0x1a78029) (BuildId: c849b9596314cb5d) + #11 v8::platform::NewDefaultPlatform(int, v8::platform::IdleTaskSupport, v8::platform::InProcessStackDumping, std::__1::unique_ptr >) src/libplatform/default-platform.cc:54:19 (d8+0x1a78029) + #12 v8::Shell::Main(int, char**) src/d8/d8.cc:5270:16 (d8+0x53b887) (BuildId: c849b9596314cb5d) + #13 main src/d8/d8.cc:5553:43 (d8+0x53cf4e) (BuildId: c849b9596314cb5d) + +SUMMARY: ThreadSanitizer: data race src/heap/marking.h:205:16 in ClearCellRangeRelaxed +================== +ThreadSanitizer: reported 1 warnings diff --git a/tools/testrunner/testproc/stack_utils/testdata/data_race_clusterfuzz.expected.json b/tools/testrunner/testproc/stack_utils/testdata/data_race_clusterfuzz.expected.json new file mode 100644 index 0000000000..b3b0203830 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/data_race_clusterfuzz.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "Data race\nREAD 8", + "crash_state": "v8::internal::compiler::JSObjectRef::GetOwnConstantElementFromHeap\nv8::internal::compiler::JSObjectRef::GetOwnConstantElement\nv8::internal::compiler::JSNativeContextSpecialization::ReduceElementLoadFromHeap" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/data_race_clusterfuzz.txt b/tools/testrunner/testproc/stack_utils/testdata/data_race_clusterfuzz.txt new file mode 100644 index 0000000000..b72ef85bbd --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/data_race_clusterfuzz.txt @@ -0,0 +1,50 @@ +WARNING: ThreadSanitizer: data race (pid=3187405) + Read of size 8 at 0x7ea200056b80 by thread T1: + #0 0x55ad577064dc in v8::internal::compiler::JSObjectRef::GetOwnConstantElementFromHeap(v8::internal::FixedArrayBase, v8::internal::ElementsKind, unsigned int) const src/base/memory.h:34:3 + #1 0x55ad577062aa in v8::internal::compiler::JSObjectRef::GetOwnConstantElement(v8::internal::compiler::FixedArrayBaseRef const&, unsigned int, v8::internal::compiler::CompilationDependencies*) const src/compiler/heap-refs.cc:1815:42 + #2 0x55ad577c4ff7 in v8::internal::compiler::JSNativeContextSpecialization::ReduceElementLoadFromHeapConstant(v8::internal::compiler::Node*, v8::internal::compiler::Node*, v8::internal::compiler::AccessMode, v8::internal::KeyedAccessLoadMode) src/compiler/js-native-context-specialization.cc:2325:32 + #3 0x55ad577c2c8f in v8::internal::compiler::JSNativeContextSpecialization::ReduceElementAccess(v8::internal::compiler::Node*, v8::internal::compiler::Node*, v8::internal::compiler::Node*, v8::internal::compiler::ElementAccessFeedback const&) src/compiler/js-native-context-specialization.cc:2094:27 + #4 0x55ad577c19f7 in v8::internal::compiler::JSNativeContextSpecialization::ReducePropertyAccess(v8::internal::compiler::Node*, v8::internal::compiler::Node*, v8::base::Optional, v8::internal::compiler::Node*, v8::internal::compiler::FeedbackSource const&, v8::internal::compiler::AccessMode) src/compiler/js-native-context-specialization.cc:2413:14 + #5 0x55ad577b6099 in v8::internal::compiler::JSNativeContextSpecialization::ReduceJSLoadProperty(v8::internal::compiler::Node*) src/compiler/js-native-context-specialization.cc:2564:10 + #6 0x55ad577afc8f in v8::internal::compiler::JSNativeContextSpecialization::Reduce(v8::internal::compiler::Node*) src/compiler/js-native-context-specialization.cc:108:14 + #7 0x55ad576d605a in v8::internal::compiler::GraphReducer::Reduce(v8::internal::compiler::Node*) src/compiler/graph-reducer.cc:34:25 + #8 0x55ad576d59f4 in v8::internal::compiler::GraphReducer::ReduceTop() src/compiler/graph-reducer.cc:178:25 + #9 0x55ad576d5209 in v8::internal::compiler::GraphReducer::ReduceNode(v8::internal::compiler::Node*) src/compiler/graph-reducer.cc:75:7 + #10 0x55ad576d5f35 in v8::internal::compiler::GraphReducer::ReduceGraph() src/compiler/graph-reducer.cc:97:36 + #11 0x55ad57887506 in v8::internal::compiler::InliningPhase::Run(v8::internal::compiler::PipelineData*, v8::internal::Zone*) src/compiler/pipeline.cc:1422:19 + #12 0x55ad578763c9 in auto v8::internal::compiler::PipelineImpl::Run() src/compiler/pipeline.cc:1319:16 + #13 0x55ad57872135 in v8::internal::compiler::PipelineImpl::CreateGraph() src/compiler/pipeline.cc:2847:3 + #14 0x55ad57871f32 in v8::internal::compiler::PipelineCompilationJob::ExecuteJobImpl(v8::internal::RuntimeCallStats*, v8::internal::LocalIsolate*) src/compiler/pipeline.cc:1247:18 + #15 0x55ad565a9830 in v8::internal::OptimizedCompilationJob::ExecuteJob(v8::internal::RuntimeCallStats*, v8::internal::LocalIsolate*) src/codegen/compiler.cc:494:22 + #16 0x55ad565ef91e in v8::internal::OptimizingCompileDispatcher::CompileNext(v8::internal::TurbofanCompilationJob*, v8::internal::LocalIsolate*) src/compiler-dispatcher/optimizing-compile-dispatcher.cc:105:12 + #17 0x55ad565f2555 in v8::internal::OptimizingCompileDispatcher::CompileTask::RunInternal() src/compiler-dispatcher/optimizing-compile-dispatcher.cc:67:20 + #18 0x55ad5640b898 in non-virtual thunk to v8::internal::CancelableTask::Run() src/tasks/cancelable-task.h:155:7 + #19 0x55ad57cc46b1 in v8::platform::DefaultWorkerThreadsTaskRunner::WorkerThread::Run() src/libplatform/default-worker-threads-task-runner.cc:73:11 + #20 0x55ad57cb7c23 in v8::base::ThreadEntry(void*) src/base/platform/platform.h:596:5 + Previous write of size 8 at 0x7ea200056b80 by main thread: + #0 0x55ad56a49f14 in v8::internal::(anonymous namespace)::DictionaryElementsAccessor::SetLengthImpl(v8::internal::Isolate*, v8::internal::Handle, unsigned int, v8::internal::Handle) src/base/memory.h:41:3 + #1 0x55ad56a675ea in v8::internal::(anonymous namespace)::ElementsAccessorBase >::SetLength(v8::internal::Handle, unsigned int) src/objects/elements.cc:758:12 + #2 0x55ad56c5f9c0 in v8::internal::JSArray::SetLength(v8::internal::Handle, unsigned int) src/objects/objects.cc:5237:40 + #3 0x55ad564a6616 in v8::internal::Accessors::ArrayLengthSetter(v8::Local, v8::Local, v8::PropertyCallbackInfo const&) src/builtins/accessors.cc:202:7 + #4 0x55ad568e961b in v8::internal::PropertyCallbackArguments::CallAccessorSetter(v8::internal::Handle, v8::internal::Handle, v8::internal::Handle) src/api/api-arguments-inl.h:332:3 + #5 0x55ad568e39df in v8::internal::Runtime_StoreCallbackProperty(int, unsigned long*, v8::internal::Isolate*) src/ic/ic.cc:3245:13 + #6 0x55acdfe69bb8 in Builtins_AsyncFromSyncIteratorPrototypeThrow (/mnt/scratch0/clusterfuzz/bot/builds/v8-tsan_linux-release_8681dd6e7b8d9ebe281ad96b26057d51e550c14e/revisions/d8-tsan-linux-release-v8-component-83502/d8+0x1c30bb7) + #7 0x55ad5668cf86 in v8::internal::Execution::CallScript(v8::internal::Isolate*, v8::internal::Handle, v8::internal::Handle, v8::internal::Handle) src/execution/execution.cc:538:10 + #8 0x55ad5642808f in v8::Script::Run(v8::Local, v8::Local) src/api/api.cc:2231:7 + #9 0x55ad564277c1 in v8::Script::Run(v8::Local) src/api/api.cc:2158:10 + #10 0x55ad563e63cc in v8::Shell::ExecuteString(v8::Isolate*, v8::Local, v8::Local, v8::Shell::PrintResult, v8::Shell::ReportExceptions, v8::Shell::ProcessMessageQueue) src/d8/d8.cc:879:28 + #11 0x55ad563fe621 in v8::SourceGroup::Execute(v8::Isolate*) src/d8/d8.cc:4379:10 + #12 0x55ad56402488 in v8::Shell::RunMain(v8::Isolate*, bool) src/d8/d8.cc:5107:39 + #13 0x55ad56404fe1 in v8::Shell::Main(int, char**) src/d8/d8.cc:5886:18 + #14 0x55ad564054ef in main src/d8/d8.cc:5976:43 + Thread T1 'V8 DefaultWorke' (tid=3187415, running) created by main thread at: + #0 0x55ad56353ffc in pthread_create third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1022:3 + #1 0x55ad57cb7b37 in v8::base::Thread::Start() src/base/platform/platform-posix.cc:1144:14 + #2 0x55ad57cc40ad in v8::platform::DefaultWorkerThreadsTaskRunner::DefaultWorkerThreadsTaskRunner(unsigned int, double (*)()) src/libplatform/default-worker-threads-task-runner.cc:66:3 + #3 0x55ad57cba1b1 in v8::platform::DefaultPlatform::DefaultPlatform(int, v8::platform::IdleTaskSupport, std::Cr::unique_ptr >) buildtools/third_party/libc++/trunk/include/__memory/shared_ptr.h:297:37 + #4 0x55ad57cb983a in v8::platform::NewDefaultPlatform(int, v8::platform::IdleTaskSupport, v8::platform::InProcessStackDumping, std::Cr::unique_ptr >) buildtools/third_party/libc++/trunk/include/__memory/unique_ptr.h:670:30 + #5 0x55ad56404252 in v8::Shell::Main(int, char**) src/d8/d8.cc:5691:16 + #6 0x55ad564054ef in main src/d8/d8.cc:5976:43 +SUMMARY: ThreadSanitizer: data race src/base/memory.h:34:3 in v8::internal::compiler::JSObjectRef::GetOwnConstantElementFromHeap(v8::internal::FixedArrayBase, v8::internal::ElementsKind, unsigned int) const +================== +ThreadSanitizer: reported 1 warnings \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/deserialization.expected.json b/tools/testrunner/testproc/stack_utils/testdata/deserialization.expected.json new file mode 100644 index 0000000000..861f3ca23d --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/deserialization.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "", + "crash_state": "" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/deserialization.txt b/tools/testrunner/testproc/stack_utils/testdata/deserialization.txt new file mode 100644 index 0000000000..767adce4c3 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/deserialization.txt @@ -0,0 +1,43 @@ + +<--- Last few GCs ---> + + +<--- JS stacktrace ---> + + +# +# Fatal javascript OOM in GC during deserialization +# + +Received signal 6 + +==== C stack trace =============================== + + [0x559eb24c1167] + [0x7f27da846980] + [0x7f27d9ecbfb7] + [0x7f27d9ecd921] + [0x559eb24bec92] + [0x559eb192b71f] + [0x559eb192b685] + [0x559eb1abd785] + [0x559eb1abc125] + [0x559eb1ac6bfb] + [0x559eb1ac6c91] + [0x559eb1e5f0c8] + [0x559eb1e604a0] + [0x559eb1e5f99e] + [0x559eb1ac53c8] + [0x559eb1e6dbf8] + [0x559eb1a5eb21] + [0x559eb1a5ef79] + [0x559eb1e6b9a9] + [0x559eb194c069] + [0x559eb194c23d] + [0x559eb1919e3a] + [0x559eb1919da8] + [0x559eb24bf710] + [0x7f27da83b6db] + [0x7f27d9fae71f] +[end of stack trace] +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/fata_js_oom.expected.json b/tools/testrunner/testproc/stack_utils/testdata/fata_js_oom.expected.json new file mode 100644 index 0000000000..861f3ca23d --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/fata_js_oom.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "", + "crash_state": "" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/fata_js_oom.txt b/tools/testrunner/testproc/stack_utils/testdata/fata_js_oom.txt new file mode 100644 index 0000000000..e2e57c1b8e --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/fata_js_oom.txt @@ -0,0 +1,48 @@ + +<--- Last few GCs ---> + + +<--- JS stacktrace ---> + + +# +# Fatal javascript OOM in GC during deserialization +# + +Received signal 6 + +==== C stack trace =============================== + + [0x7f31c97776b7] + [0x7f31c631b980] + [0x7f31c5bb8e87] + [0x7f31c5bba7f1] + [0x7f31c9775332] + [0x7f31c7c8daf5] + [0x7f31c7c8d97d] + [0x7f31c81a33a5] + [0x7f31c81a15ed] + [0x7f31c81914df] + [0x7f31c81915c1] + [0x7f31c8134c33] + [0x7f31c8adbc18] + [0x7f31c8ad7af1] + [0x7f31c8ada0d5] + [0x7f31c8ad7fdd] + [0x7f31c8adb0be] + [0x7f31c8ad9c46] + [0x7f31c81b4499] + [0x7f31c81adcc9] + [0x7f31c8b16d0e] + [0x7f31c809ed03] + [0x7f31c809fcb1] + [0x7f31c8b114b7] + [0x7f31c7d02526] + [0x7f31c7d02b2d] + [0x565117ee00ed] + [0x565117ee0008] + [0x7f31c9776470] + [0x7f31c63106db] + [0x7f31c5c9b61f] +[end of stack trace] +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/has_optimized_code.expected.json b/tools/testrunner/testproc/stack_utils/testdata/has_optimized_code.expected.json new file mode 100644 index 0000000000..6faae98ca7 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/has_optimized_code.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "DCHECK failure", + "crash_state": "!has_optimized_code() || optimized_code().marked_for_deoptimization() || (CodeKi" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/has_optimized_code.txt b/tools/testrunner/testproc/stack_utils/testdata/has_optimized_code.txt new file mode 100644 index 0000000000..9727783e07 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/has_optimized_code.txt @@ -0,0 +1,30 @@ + + +# +# Fatal error in ../../src/objects/feedback-vector.cc, line 396 +# Debug check failed: !has_optimized_code() || optimized_code().marked_for_deoptimization() || (CodeKindCanTierUp(optimized_code().kind()) && optimized_code().kind() < code.kind()) || v8_flags.stress_concurrent_inlining_attach_code. +# +# +# +#FailureMessage Object: 0x7fffe8420b90Received signal 6 + +==== C stack trace =============================== + + [0x7fdffc28c263] + [0x7fdffc28c1b1] + [0x7fdff8747980] + [0x7fdff7fe4e87] + [0x7fdff7fe67f1] + [0x7fdffc289de2] + [0x7fdffc26bbe0] + [0x7fdffc26b675] + [0x7fdffae468b2] + [0x7fdffa6c2f1b] + [0x7fdffa6c3517] + [0x7fdffb4f49b5] + [0x7fdffa8bc015] + [0x7fdffb2fa1e4] + [0x7fdffb2f9cd7] + [0x7fdf7f9c83ff] +[end of stack trace] +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/heap_limit.expected.json b/tools/testrunner/testproc/stack_utils/testdata/heap_limit.expected.json new file mode 100644 index 0000000000..861f3ca23d --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/heap_limit.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "", + "crash_state": "" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/heap_limit.txt b/tools/testrunner/testproc/stack_utils/testdata/heap_limit.txt new file mode 100644 index 0000000000..f1ab82a2e1 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/heap_limit.txt @@ -0,0 +1,33 @@ + +<--- Last few GCs ---> +nd[29661:0x563245f31e60] 3744 ms: Mark-sweep 94.8 (110.0) -> 92.7 (109.5) MB, 376.4 / 0.0 ms (+ 17.3 ms in 1 steps since start of marking, biggest step 17.3 ms, walltime since start of marking 460 ms) (average mu = 0.267, current mu = 0.191) background[29661:0x563245f31e60] 4198 ms: Mark-sweep 96.8 (113.0) -> 95.2 (111.7) MB, 377.4 / 0.0 ms (+ 0.0 ms in 0 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 431 ms) (average mu = 0.221, current mu = 0.169) background a + +<--- JS stacktrace ---> + + +# +# Fatal javascript OOM in Reached heap limit +# + +Received signal 6 + +==== C stack trace =============================== + + [0x7ff0cca95ee7] + [0x7ff0c9876980] + [0x7ff0c9111fb7] + [0x7ff0c9113921] + [0x7ff0cca93c52] + [0x7ff0cb13fc25] + [0x7ff0cb13faad] + [0x7ff0cb5e77d5] + [0x7ff0cb5e5a93] + [0x7ff0cb5ea284] + [0x7ff0cb58ad35] + [0x7ff0cb5f9306] + [0x7ff0cb5f9595] + [0x7ff0cb58920a] + [0x7ff0cbdead26] + [0x7ff0cab572bf] +[end of stack trace] +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/is_main_thread_barrier.expected.json b/tools/testrunner/testproc/stack_utils/testdata/is_main_thread_barrier.expected.json new file mode 100644 index 0000000000..5bc889cc2b --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/is_main_thread_barrier.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "DCHECK failure", + "crash_state": "is_main_thread_barrier_ in marking-barrier.cc" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/is_main_thread_barrier.txt b/tools/testrunner/testproc/stack_utils/testdata/is_main_thread_barrier.txt new file mode 100644 index 0000000000..08de978e46 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/is_main_thread_barrier.txt @@ -0,0 +1,30 @@ + + +# +# Fatal error in ../../src/heap/marking-barrier.cc, line 77 +# Debug check failed: is_main_thread_barrier_. +# +# +# +#FailureMessage Object: 0x7fbcb88255c0Received signal 6 + +==== C stack trace =============================== + + [0x7fbcc0a3a7f7] + [0x7fbcbd9c1980] + [0x7fbcbd25efb7] + [0x7fbcbd260921] + [0x7fbcc0a38932] + [0x7fbcc0a1dfa0] + [0x7fbcc0a1da15] + [0x7fbcbf65b64a] + [0x7fbcbfeb60df] + [0x7fbcbfec3389] + [0x7fbcbfec324c] + [0x7fbcbfea5c34] + [0x7fbcbfea7f18] + [0x7fbcc0a395a0] + [0x7fbcbd9b66db] + [0x7fbcbd34171f] +[end of stack trace] +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/is_main_thread_barrier_2.expected.json b/tools/testrunner/testproc/stack_utils/testdata/is_main_thread_barrier_2.expected.json new file mode 100644 index 0000000000..5bc889cc2b --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/is_main_thread_barrier_2.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "DCHECK failure", + "crash_state": "is_main_thread_barrier_ in marking-barrier.cc" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/is_main_thread_barrier_2.txt b/tools/testrunner/testproc/stack_utils/testdata/is_main_thread_barrier_2.txt new file mode 100644 index 0000000000..29012581e3 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/is_main_thread_barrier_2.txt @@ -0,0 +1,26 @@ + + +# +# Fatal error in ../../src/heap/marking-barrier.cc, line 77 +# Debug check failed: is_main_thread_barrier_. +# +# +# +#FailureMessage Object: 0x7fa0116815c0 +==== C stack trace =============================== + + /b/s/w/ir/out/build/libv8_libbase.so(v8::base::debug::StackTrace::StackTrace()+0x13) [0x7fa01988e8c3] + /b/s/w/ir/out/build/libv8_libplatform.so(+0x1bfed) [0x7fa01983efed] + /b/s/w/ir/out/build/libv8_libbase.so(V8_Fatal(char const*, int, char const*, ...)+0x153) [0x7fa019871fb3] + /b/s/w/ir/out/build/libv8_libbase.so(+0x24a35) [0x7fa019871a35] + /b/s/w/ir/out/build/libv8.so(v8::internal::MarkingBarrier::Write(v8::internal::DescriptorArray, int)+0xca) [0x7fa0184b52fa] + /b/s/w/ir/out/build/libv8.so(v8::internal::Deserializer::WeakenDescriptorArrays()+0x8f) [0x7fa018d1170f] + /b/s/w/ir/out/build/libv8.so(v8::internal::OffThreadObjectDeserializer::Deserialize(std::__Cr::vector, std::__Cr::allocator > >*)+0xc9) [0x7fa018d1e9b9] + /b/s/w/ir/out/build/libv8.so(v8::internal::OffThreadObjectDeserializer::DeserializeSharedFunctionInfo(v8::internal::LocalIsolate*, v8::internal::SerializedCodeData const*, std::__Cr::vector, std::__Cr::allocator > >*)+0x1ac) [0x7fa018d1e87c] + /b/s/w/ir/out/build/libv8.so(v8::internal::CodeSerializer::StartDeserializeOffThread(v8::internal::LocalIsolate*, v8::internal::AlignedCachedData*)+0x144) [0x7fa018d01264] + /b/s/w/ir/out/build/libv8.so(+0x2079548) [0x7fa018d03548] + /b/s/w/ir/out/build/libv8_libbase.so(+0x405c0) [0x7fa01988d5c0] + /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7fa0168116db] + /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7fa01619c71f] +Received signal 6 +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/js_func_ref.expected.json b/tools/testrunner/testproc/stack_utils/testdata/js_func_ref.expected.json new file mode 100644 index 0000000000..5d29bfb52d --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/js_func_ref.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "CHECK failure", + "crash_state": "JSFunctionRef construction failed" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/js_func_ref.txt b/tools/testrunner/testproc/stack_utils/testdata/js_func_ref.txt new file mode 100644 index 0000000000..3983b0638e --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/js_func_ref.txt @@ -0,0 +1,55 @@ + + +# +# Fatal error in , line 0 +# Check failed: JSFunctionRef construction failed. +# +# +# +#FailureMessage Object: 0x7fe2840bb790Received signal 6 + +==== C stack trace =============================== + + [0x560fb0a62e08] + [0x560fb1e5dbdc] + [0x560fb0a4be9c] + [0x560fb0a83a8c] + [0x7fe288cdf980] + [0x7fe28815cfb7] + [0x7fe28815e921] + [0x560fb0a4ae48] + [0x560fb1e5a0d7] + [0x560fb1e4dd5f] + [0x560fb19082b3] + [0x560fb19c1975] + [0x560fb1917895] + [0x560fb190b1b4] + [0x560fb1935a48] + [0x560fb1aab7de] + [0x560fb1aac3d2] + [0x560fb19f6cb0] + [0x560fb19ed1eb] + [0x560fb19e96f5] + [0x560fb19ed32e] + [0x560fb19e4111] + [0x560fb19def82] + [0x560fb18f6cee] + [0x560fb18f6348] + [0x560fb18f5b69] + [0x560fb18f6be5] + [0x560fb1aa51ed] + [0x560fb1a96dea] + [0x560fb1a9259d] + [0x560fb1a92825] + [0x560fb0bfc5d0] + [0x560fb0c3812e] + [0x560fb0c3b775] + [0x560fb0ae4046] + [0x560fb0abdbd2] + [0x560fb1e67121] + [0x560fb1e5afb3] + [0x560fb0a4526d] + [0x7fe288cd46db] + [0x7fe28823f71f] +[end of stack trace] +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/marking_state.expected.json b/tools/testrunner/testproc/stack_utils/testdata/marking_state.expected.json new file mode 100644 index 0000000000..cff36dc732 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/marking_state.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "CHECK failure", + "crash_state": "marking_state_->IsBlack(heap_object) in mark-compact.cc" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/marking_state.txt b/tools/testrunner/testproc/stack_utils/testdata/marking_state.txt new file mode 100644 index 0000000000..5acc40bfb3 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/marking_state.txt @@ -0,0 +1,37 @@ + + +# +# Fatal error in ../../src/heap/mark-compact.cc, line 285 +# Check failed: marking_state_->IsBlack(heap_object). +# +# +# +#FailureMessage Object: 0x7ffce64f0700 +==== C stack trace =============================== + + /b/s/w/ir/out/build/libv8_libbase.so(v8::base::debug::StackTrace::StackTrace()+0x13) [0x7f644a73e4b3] + /b/s/w/ir/out/build/libv8_libplatform.so(+0x1bc5d) [0x7f644a6e2c5d] + /b/s/w/ir/out/build/libv8_libbase.so(V8_Fatal(char const*, int, char const*, ...)+0x153) [0x7f644a71e653] + /b/s/w/ir/out/build/libv8.so(+0x1b80d25) [0x7f6449080d25] + /b/s/w/ir/out/build/libv8.so(v8::internal::CommonFrame::IterateExpressions(v8::internal::RootVisitor*) const+0x144) [0x7f6448eed414] + /b/s/w/ir/out/build/libv8.so(v8::internal::JavaScriptFrame::Iterate(v8::internal::RootVisitor*) const+0x16) [0x7f6448efa386] + /b/s/w/ir/out/build/libv8.so(v8::internal::Isolate::Iterate(v8::internal::RootVisitor*, v8::internal::ThreadLocalTop*)+0x249) [0x7f6448f072c9] + /b/s/w/ir/out/build/libv8.so(v8::internal::Heap::IterateRoots(v8::internal::RootVisitor*, v8::base::EnumSet)+0x175) [0x7f6449021935] + /b/s/w/ir/out/build/libv8.so(v8::internal::Heap::IterateRootsIncludingClients(v8::internal::RootVisitor*, v8::base::EnumSet)+0x42) [0x7f6449028362] + /b/s/w/ir/out/build/libv8.so(+0x1b64e35) [0x7f6449064e35] + /b/s/w/ir/out/build/libv8.so(v8::internal::MarkCompactCollector::VerifyMarking()+0xaf) [0x7f6449061dbf] + /b/s/w/ir/out/build/libv8.so(v8::internal::MarkCompactCollector::CollectGarbage()+0x27) [0x7f644905f487] + /b/s/w/ir/out/build/libv8.so(v8::internal::Heap::MarkCompact()+0x2a1) [0x7f644901abb1] + /b/s/w/ir/out/build/libv8.so(v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*, v8::GCCallbackFlags)+0x5b9) [0x7f6449017949] + /b/s/w/ir/out/build/libv8.so(v8::internal::Heap::PerformSharedGarbageCollection(v8::internal::Isolate*, v8::internal::GarbageCollectionReason)+0x1a2) [0x7f644901c552] + /b/s/w/ir/out/build/libv8.so(v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment)+0x49) [0x7f64490064e9] + /b/s/w/ir/out/build/libv8.so(v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment)+0x21) [0x7f6449006621] + /b/s/w/ir/out/build/libv8.so(v8::internal::HeapObject v8::internal::HeapAllocator::AllocateRawWith<(v8::internal::HeapAllocator::AllocationRetryMode)1>(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment)+0x73) [0x7f6448fb3fe3] + /b/s/w/ir/out/build/libv8.so(v8::internal::FactoryBase::AllocateRawArray(int, v8::internal::AllocationType)+0x1d) [0x7f6448f9d3bd] + /b/s/w/ir/out/build/libv8.so(v8::internal::FactoryBase::NewFixedArrayWithFiller(v8::internal::Handle, int, v8::internal::Handle, v8::internal::AllocationType)+0x40) [0x7f6448f9c720] + /b/s/w/ir/out/build/libv8.so(v8::internal::FactoryBase::NewFixedArray(int, v8::internal::AllocationType)+0x75) [0x7f6448f9c665] + /b/s/w/ir/out/build/libv8.so(+0x178c16f) [0x7f6448c8c16f] + /b/s/w/ir/out/build/libv8.so(v8::internal::Builtin_SharedArrayConstructor(int, unsigned long*, v8::internal::Isolate*)+0xa4) [0x7f6448c8bbe4] + [0x7f63df9cf67f] +Received signal 6 +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/maybe_is_cleared.expected.json b/tools/testrunner/testproc/stack_utils/testdata/maybe_is_cleared.expected.json new file mode 100644 index 0000000000..267cf60619 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/maybe_is_cleared.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "CHECK failure", + "crash_state": "!maybe.IsCleared() in code-inl.h" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/maybe_is_cleared.txt b/tools/testrunner/testproc/stack_utils/testdata/maybe_is_cleared.txt new file mode 100644 index 0000000000..550b5f4fee --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/maybe_is_cleared.txt @@ -0,0 +1,21 @@ + + +# +# Fatal error in ../../src/objects/code-inl.h, line 1210 +# Check failed: !maybe.IsCleared(). +# +# +# +#FailureMessage Object: 0x7ffc7bce3850 +==== C stack trace =============================== + + /b/s/w/ir/out/build/libv8_libbase.so(v8::base::debug::StackTrace::StackTrace()+0x13) [0x7f943d292143] + /b/s/w/ir/out/build/libv8_libplatform.so(+0x1c1bd) [0x7f943d2421bd] + /b/s/w/ir/out/build/libv8_libbase.so(V8_Fatal(char const*, int, char const*, ...)+0x153) [0x7f943d2758b3] + /b/s/w/ir/out/build/libv8.so(v8::internal::DeoptimizationLiteralArray::get(int) const+0xcd) [0x7f943bbea88d] + /b/s/w/ir/out/build/libv8.so(v8::internal::TranslatedState::CreateNextTranslatedValue(int, v8::internal::TranslationArrayIterator*, v8::internal::DeoptimizationLiteralArray, unsigned long, v8::internal::RegisterValues*, _IO_FILE*)+0x7b7) [0x7f943bbee387] + /b/s/w/ir/out/build/libv8.so(v8::internal::TranslatedState::Init(v8::internal::Isolate*, unsigned long, unsigned long, v8::internal::TranslationArrayIterator*, v8::internal::DeoptimizationLiteralArray, v8::internal::RegisterValues*, _IO_FILE*, int, int)+0x41f) [0x7f943bbefe5f] + /b/s/w/ir/out/build/libv8.so(v8::internal::Deoptimizer::DoComputeOutputFrames()+0x8ab) [0x7f943bbde04b] + [0xd3007600544] +Received signal 6 +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/missing_deoptimization.expected.json b/tools/testrunner/testproc/stack_utils/testdata/missing_deoptimization.expected.json new file mode 100644 index 0000000000..1fa11c9a13 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/missing_deoptimization.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "Fatal error", + "crash_state": "Missing deoptimization information for OptimizedFrame::Summarize" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/missing_deoptimization.txt b/tools/testrunner/testproc/stack_utils/testdata/missing_deoptimization.txt new file mode 100644 index 0000000000..d4b766ffc7 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/missing_deoptimization.txt @@ -0,0 +1,24 @@ + + +# +# Fatal error in , line 0 +# Missing deoptimization information for OptimizedFrame::Summarize. +# +# +# +#FailureMessage Object: 0x7ffc291ecd70 +==== C stack trace =============================== + + /b/s/w/ir/out/build/d8(__interceptor_backtrace+0xca) [0x559a3689f74a] + /b/s/w/ir/out/build/d8(+0x1d3da40) [0x559a380f9a40] + /b/s/w/ir/out/build/d8(+0x1d3cd54) [0x559a380f8d54] + /b/s/w/ir/out/build/d8(+0x1d2af46) [0x559a380e6f46] + /b/s/w/ir/out/build/d8(+0x803da6) [0x559a36bbfda6] + /b/s/w/ir/out/build/d8(+0x7fc16d) [0x559a36bb816d] + /b/s/w/ir/out/build/d8(+0x8180f8) [0x559a36bd40f8] + /b/s/w/ir/out/build/d8(+0x816ad4) [0x559a36bd2ad4] + /b/s/w/ir/out/build/d8(+0x8163a4) [0x559a36bd23a4] + /b/s/w/ir/out/build/d8(+0xf772fc) [0x559a373332fc] + [0x5599bfe6fe78] +Received signal 6 +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/seg_map_err.expected.json b/tools/testrunner/testproc/stack_utils/testdata/seg_map_err.expected.json new file mode 100644 index 0000000000..b7d8cae391 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/seg_map_err.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "Null-dereference", + "crash_state": "NULL" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/seg_map_err.txt b/tools/testrunner/testproc/stack_utils/testdata/seg_map_err.txt new file mode 100644 index 0000000000..31f2ecf636 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/seg_map_err.txt @@ -0,0 +1,13 @@ +Received signal 11 SEGV_MAPERR 000000000030 + +==== C stack trace =============================== + + [0x55b2023882a7] + [0x7f044e972980] + [0x7f044e969fd0] + [0x55b201949b84] + [0x55b20194b6da] + [0x55b201cf7206] + [0x0ad7000b4778] +[end of stack trace] +Segmentation fault (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/segmentation_error.expected.json b/tools/testrunner/testproc/stack_utils/testdata/segmentation_error.expected.json new file mode 100644 index 0000000000..1db5d5d168 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/segmentation_error.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "UNKNOWN", + "crash_state": "NULL" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/segmentation_error.txt b/tools/testrunner/testproc/stack_utils/testdata/segmentation_error.txt new file mode 100644 index 0000000000..74cb7e5076 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/segmentation_error.txt @@ -0,0 +1,9 @@ +Received signal 11 SEGV_ACCERR 2e2d00002258 + +==== C stack trace =============================== + + [0x5562678976c6] + [0x7f36e5f68980] + [0x5561e008adaf] +[end of stack trace] +Segmentation fault (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/segmentation_fault.expected.json b/tools/testrunner/testproc/stack_utils/testdata/segmentation_fault.expected.json new file mode 100644 index 0000000000..b7d8cae391 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/segmentation_fault.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "Null-dereference", + "crash_state": "NULL" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/segmentation_fault.txt b/tools/testrunner/testproc/stack_utils/testdata/segmentation_fault.txt new file mode 100644 index 0000000000..0e3624729b --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/segmentation_fault.txt @@ -0,0 +1,15 @@ +Received signal 11 SEGV_MAPERR 000000000000 + +==== C stack trace =============================== + + [0x562f1fdf8d47] + [0x7f32df0c6980] + [0x562f1f293057] + [0x562f1f292f0e] + [0x562f1fdf9fd7] + [0x562f1fdfc139] + [0x562f1fdf72f0] + [0x7f32df0bb6db] + [0x7f32de82e71f] +[end of stack trace] +Segmentation fault (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/stack_frame.expected.json b/tools/testrunner/testproc/stack_utils/testdata/stack_frame.expected.json new file mode 100644 index 0000000000..5bc889cc2b --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/stack_frame.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "DCHECK failure", + "crash_state": "is_main_thread_barrier_ in marking-barrier.cc" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/stack_frame.txt b/tools/testrunner/testproc/stack_utils/testdata/stack_frame.txt new file mode 100644 index 0000000000..1824808160 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/stack_frame.txt @@ -0,0 +1,60 @@ + + +# +# Fatal error in ../../src/execution/frames.cc, line 1430 +# Debug check failed: !StackFrame::IsTypeMarker(marker). +# +# +# +#FailureMessage Object: 0x7fff924da4a0Received signal 6 + +==== C stack trace =============================== + + [0x7fb3c0ab1503] + [0x7fb3c0ab1451] + [0x7fb3bd06a980] + [0x7fb3bc907e87] + [0x7fb3bc9097f1] + [0x7fb3c0aaf082] + [0x7fb3c0a90ed0] + [0x7fb3c0a90965] + [0x7fb3bf128909] + [0x7fb3bf1408c9] + [0x7fb3bf27ec15] + [0x7fb3bf27776b] + [0x7fb3bf274c53] + [0x7fb3bf271e03] + [0x7fb3bf262ae1] + [0x7fb3bf262b71] + [0x7fb3bf20b953] + [0x7fb3bf1d3a22] + [0x7fb3c01f46ca] + +# +# Fatal error in ../../src/heap/marking-barrier.cc, line 77 +# Debug check failed: is_main_thread_barrier_. +# +# +# +#FailureMessage Object: 0x7fbcb88255c0Received signal 6 + +==== C stack trace =============================== + + [0x7fbcc0a3a7f7] + [0x7fbcbd9c1980] + [0x7fbcbd25efb7] + [0x7fbcbd260921] + [0x7fbcc0a38932] + [0x7fbcc0a1dfa0] + [0x7fbcc0a1da15] + [0x7fbcbf65b64a] + [0x7fbcbfeb60df] + [0x7fbcbfec3389] + [0x7fbcbfec324c] + [0x7fbcbfea5c34] + [0x7fbcbfea7f18] + [0x7fbcc0a395a0] + [0x7fbcbd9b66db] + [0x7fbcbd34171f] +[end of stack trace] +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/static_assertion_1.expected.json b/tools/testrunner/testproc/stack_utils/testdata/static_assertion_1.expected.json new file mode 100644 index 0000000000..2757592999 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/static_assertion_1.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "Static Assertion", + "crash_state": "Expected Turbofan static assert to hold, but got non-true input" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/static_assertion_1.txt b/tools/testrunner/testproc/stack_utils/testdata/static_assertion_1.txt new file mode 100644 index 0000000000..a8b7760eb7 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/static_assertion_1.txt @@ -0,0 +1,37 @@ + + +# +# Fatal error in ../../src/compiler/backend/instruction-selector.cc, line 3202 +# Expected Turbofan static assert to hold, but got non-true input: + %TurbofanStaticAssert +# +# +# +#FailureMessage Object: 0x7ffc34427560Received signal 6 + +==== C stack trace =============================== + + [0x7efe1f546b93] + [0x7efe1f546ae2] + [0x7efe1b907980] + [0x7efe1b1a4e87] + [0x7efe1b1a67f1] + [0x7efe1f544712] + [0x7efe1f5263d2] + [0x7efe1ed5b249] + [0x7efe1ed58a58] + [0x7efe1ed4e6fa] + [0x7efe1ed4d4d6] + [0x7efe1f0ba876] + [0x7efe1f07023b] + [0x7efe1f06837b] + [0x7efe1f062006] + [0x7efe1f061580] + [0x7efe1d8c2710] + [0x7efe1d8d5502] + [0x7efe1d8d8a55] + [0x7efe1e509ec6] + [0x7efe1e509879] + [0x7efd9f9da37f] +[end of stack trace] +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/static_assertion_2.expected.json b/tools/testrunner/testproc/stack_utils/testdata/static_assertion_2.expected.json new file mode 100644 index 0000000000..2757592999 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/static_assertion_2.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "Static Assertion", + "crash_state": "Expected Turbofan static assert to hold, but got non-true input" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/static_assertion_2.txt b/tools/testrunner/testproc/stack_utils/testdata/static_assertion_2.txt new file mode 100644 index 0000000000..7fc1f21a1a --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/static_assertion_2.txt @@ -0,0 +1,37 @@ +unsupported node type: StaticAssert[%TurbofanStaticAssert] +132: StaticAssert[%TurbofanStaticAssert](113, 319) + 113: Word32Equal(130, 128) + 319: DeoptimizeUnless[WrongCallTarget, FeedbackSource(INVALID)](86, 253, 303, 129) + + +# +# Fatal error in , line 0 +# unimplemented code +# +# +# +#FailureMessage Object: 0x7fff6c485990Received signal 6 + +==== C stack trace =============================== + + [0x55b035fcd8da] + [0x55b03798aebb] + [0x55b035fb3607] + [0x55b035fb3b24] + [0x7fb750346980] + [0x7fb74f5a9e87] + [0x7fb74f5ab7f1] + [0x55b035fb2283] + [0x55b037985d87] + [0x55b0379767ab] + [0x55b03765bdf7] + [0x55b03764ee25] + [0x55b0374fdbcb] + [0x55b0374f7d42] + [0x55b0374f6c77] + [0x55b0362183f8] + [0x55b03621b230] + [0x55b036a886a8] + [0x55b03776c678] +[end of stack trace] +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/storage_is_populated.expected.json b/tools/testrunner/testproc/stack_utils/testdata/storage_is_populated.expected.json new file mode 100644 index 0000000000..35f5d3d799 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/storage_is_populated.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "CHECK failure", + "crash_state": "storage_.is_populated_" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/storage_is_populated.txt b/tools/testrunner/testproc/stack_utils/testdata/storage_is_populated.txt new file mode 100644 index 0000000000..b47006d570 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/storage_is_populated.txt @@ -0,0 +1,35 @@ + + +# +# Fatal error in , line 0 +# Check failed: storage_.is_populated_. +# +# +# +#FailureMessage Object: 0x7f9d3a7b77b0 +==== C stack trace =============================== + + /b/s/w/ir/out/build/d8(+0xec0b43) [0x55e9d253cb43] + /b/s/w/ir/out/build/d8(+0xec03eb) [0x55e9d253c3eb] + /b/s/w/ir/out/build/d8(+0xeb68e5) [0x55e9d25328e5] + /b/s/w/ir/out/build/d8(+0xb429ac) [0x55e9d21be9ac] + /b/s/w/ir/out/build/d8(+0xb528b2) [0x55e9d21ce8b2] + /b/s/w/ir/out/build/d8(+0xc228ec) [0x55e9d229e8ec] + /b/s/w/ir/out/build/d8(+0xc1cc2c) [0x55e9d2298c2c] + /b/s/w/ir/out/build/d8(+0xc1cb40) [0x55e9d2298b40] + /b/s/w/ir/out/build/d8(+0xb9dfcf) [0x55e9d2219fcf] + /b/s/w/ir/out/build/d8(+0xb9db13) [0x55e9d2219b13] + /b/s/w/ir/out/build/d8(+0xb9d718) [0x55e9d2219718] + /b/s/w/ir/out/build/d8(+0xc9e908) [0x55e9d231a908] + /b/s/w/ir/out/build/d8(+0xc93912) [0x55e9d230f912] + /b/s/w/ir/out/build/d8(+0xc908f1) [0x55e9d230c8f1] + /b/s/w/ir/out/build/d8(+0xc90a8e) [0x55e9d230ca8e] + /b/s/w/ir/out/build/d8(+0x420adb) [0x55e9d1a9cadb] + /b/s/w/ir/out/build/d8(+0x442558) [0x55e9d1abe558] + /b/s/w/ir/out/build/d8(+0x443082) [0x55e9d1abf082] + /b/s/w/ir/out/build/d8(+0xec3e29) [0x55e9d253fe29] + /b/s/w/ir/out/build/d8(+0xebf060) [0x55e9d253b060] + /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7f9d3bb276db] + /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7f9d3b29a71f] +Received signal 6 +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/topmost_optimized_code.expected.json b/tools/testrunner/testproc/stack_utils/testdata/topmost_optimized_code.expected.json new file mode 100644 index 0000000000..e450139659 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/topmost_optimized_code.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "DCHECK failure", + "crash_state": "topmost_optimized_code.is_null() || safe_if_deopt_triggered || is_builtin_code i" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/topmost_optimized_code.txt b/tools/testrunner/testproc/stack_utils/testdata/topmost_optimized_code.txt new file mode 100644 index 0000000000..0dcbcbe04f --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/topmost_optimized_code.txt @@ -0,0 +1,24 @@ + + +# +# Fatal error in ../../src/deoptimizer/deoptimizer.cc, line 336 +# Debug check failed: topmost_optimized_code.is_null() || safe_if_deopt_triggered || is_builtin_code. +# +# +# +#FailureMessage Object: 0x7ffd90181f90 +==== C stack trace =============================== + + /b/s/w/ir/out/build/libv8_libbase.so(v8::base::debug::StackTrace::StackTrace()+0x13) [0x7f1c0ac48243] + /b/s/w/ir/out/build/libv8_libplatform.so(+0x1865d) [0x7f1c0abf065d] + /b/s/w/ir/out/build/libv8_libbase.so(V8_Fatal(char const*, int, char const*, ...)+0x153) [0x7f1c0ac27bb3] + /b/s/w/ir/out/build/libv8_libbase.so(+0x2a655) [0x7f1c0ac27655] + /b/s/w/ir/out/build/libv8.so(v8::internal::Deoptimizer::DeoptimizeMarkedCodeForContext(v8::internal::NativeContext)+0x2e2) [0x7f1c0918d762] + /b/s/w/ir/out/build/libv8.so(v8::internal::Deoptimizer::DeoptimizeMarkedCode(v8::internal::Isolate*)+0x1d5) [0x7f1c0918f1c5] + /b/s/w/ir/out/build/libv8.so(v8::internal::Heap::DeoptMarkedAllocationSites()+0x5b) [0x7f1c0939e2eb] + /b/s/w/ir/out/build/libv8.so(v8::internal::StackGuard::HandleInterrupts()+0x90c) [0x7f1c0929c4dc] + /b/s/w/ir/out/build/libv8.so(+0x25908c4) [0x7f1c09cd58c4] + /b/s/w/ir/out/build/libv8.so(v8::internal::Runtime_StackGuard(int, unsigned long*, v8::internal::Isolate*)+0xb7) [0x7f1c09cd53b7] + [0x7f1b9f9cc3ff] +Received signal 6 +Aborted (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/type_assertion_1.expected.json b/tools/testrunner/testproc/stack_utils/testdata/type_assertion_1.expected.json new file mode 100644 index 0000000000..128813e84c --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/type_assertion_1.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "Type Assertion", + "crash_state": "Trace/breakpoint trap (core dumped)" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/type_assertion_1.txt b/tools/testrunner/testproc/stack_utils/testdata/type_assertion_1.txt new file mode 100644 index 0000000000..42be39ff66 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/type_assertion_1.txt @@ -0,0 +1 @@ +Trace/breakpoint trap (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/type_assertion_2.expected.json b/tools/testrunner/testproc/stack_utils/testdata/type_assertion_2.expected.json new file mode 100644 index 0000000000..128813e84c --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/type_assertion_2.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "Type Assertion", + "crash_state": "Trace/breakpoint trap (core dumped)" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/type_assertion_2.txt b/tools/testrunner/testproc/stack_utils/testdata/type_assertion_2.txt new file mode 100644 index 0000000000..ded5a0c24a --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/type_assertion_2.txt @@ -0,0 +1,5 @@ +Type assertion failed! (value/expectedType/nodeId) +0x5510000ffcf5 +0x551000058dfd +5156 +Trace/breakpoint trap (core dumped) diff --git a/tools/testrunner/testproc/stack_utils/testdata/unreachable_code.expected.json b/tools/testrunner/testproc/stack_utils/testdata/unreachable_code.expected.json new file mode 100644 index 0000000000..bead12540a --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/unreachable_code.expected.json @@ -0,0 +1,4 @@ +{ + "crash_type": "Unreachable code", + "crash_state": "NULL" +} \ No newline at end of file diff --git a/tools/testrunner/testproc/stack_utils/testdata/unreachable_code.txt b/tools/testrunner/testproc/stack_utils/testdata/unreachable_code.txt new file mode 100644 index 0000000000..75691ec252 --- /dev/null +++ b/tools/testrunner/testproc/stack_utils/testdata/unreachable_code.txt @@ -0,0 +1,28 @@ + + +# +# Fatal error in , line 0 +# unimplemented code +# +# +# +#FailureMessage Object: 0x7ff272c984b0 +==== C stack trace =============================== + + /b/s/w/ir/out/build/d8(+0x11db253) [0x55cf35eeb253] + /b/s/w/ir/out/build/d8(+0x11daa7b) [0x55cf35eeaa7b] + /b/s/w/ir/out/build/d8(+0x11ced35) [0x55cf35eded35] + /b/s/w/ir/out/build/d8(+0xffd0ee) [0x55cf35d0d0ee] + /b/s/w/ir/out/build/d8(+0xff82d7) [0x55cf35d082d7] + /b/s/w/ir/out/build/d8(+0xf4362a) [0x55cf35c5362a] + /b/s/w/ir/out/build/d8(+0xf3f1ab) [0x55cf35c4f1ab] + /b/s/w/ir/out/build/d8(+0xf3e850) [0x55cf35c4e850] + /b/s/w/ir/out/build/d8(+0x4d80ab) [0x55cf351e80ab] + /b/s/w/ir/out/build/d8(+0x50a448) [0x55cf3521a448] + /b/s/w/ir/out/build/d8(+0x50aef9) [0x55cf3521aef9] + /b/s/w/ir/out/build/d8(+0x11de7e9) [0x55cf35eee7e9] + /b/s/w/ir/out/build/d8(+0x11d8c30) [0x55cf35ee8c30] + /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7ff2750456db] + /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7ff2747b861f] +Received signal 6 +Aborted (core dumped) diff --git a/tools/testrunner/utils/test_utils.py b/tools/testrunner/utils/test_utils.py index d95813296c..320d3d2c7e 100644 --- a/tools/testrunner/utils/test_utils.py +++ b/tools/testrunner/utils/test_utils.py @@ -84,7 +84,7 @@ def clean_json_output(json_path, basedir): if not json_path: return None if not os.path.exists(json_path): - return None + return '--file-does-not-exists--' with open(json_path) as f: json_output = json.load(f) diff --git a/tools/v8_presubmit.py b/tools/v8_presubmit.py index c0584dafe0..ada7e17413 100755 --- a/tools/v8_presubmit.py +++ b/tools/v8_presubmit.py @@ -790,8 +790,7 @@ def PyTests(workspace): result = True for script in FindTests(workspace): print('Running ' + script) - result &= subprocess.call( - [sys.executable, script], stdout=subprocess.PIPE) == 0 + result &= subprocess.call(['vpython3', script], stdout=subprocess.PIPE) == 0 return result