==================
WARNING: ThreadSanitizer: data race (pid=7233)
  Write of size 8 at 0x7ba400001260 by main thread:
    #0 js::ProtectedData<js::CheckMainThread<(js::AllowedHelperThread)0>, unsigned long>::operator++() /srv/repos/mozilla-central/js/src/threading/ProtectedData.h:95:31 (js+0x116d9d3)
    #1 js::gc::GCRuntime::incMajorGcNumber() /srv/repos/mozilla-central/js/src/gc/GCRuntime.h:411 (js+0x116d9d3)
    #2 js::gc::GCRuntime::gcCycle(bool, js::SliceBudget&, JS::gcreason::Reason) /srv/repos/mozilla-central/js/src/gc/GC.cpp:7443 (js+0x116d9d3)
    #3 js::gc::GCRuntime::collect(bool, js::SliceBudget, JS::gcreason::Reason) /srv/repos/mozilla-central/js/src/gc/GC.cpp:7626:25 (js+0x116f262)
    #4 js::gc::GCRuntime::runDebugGC() /srv/repos/mozilla-central/js/src/gc/GC.cpp (js+0x1144fc0)
    #5 js::gc::GCRuntime::gcIfNeededAtAllocation(JSContext*) /srv/repos/mozilla-central/js/src/gc/Allocator.cpp:312:9 (js+0x1144b7d)
    #6 bool js::gc::GCRuntime::checkAllocatorState<(js::AllowGC)1>(JSContext*, js::gc::AllocKind) /srv/repos/mozilla-central/js/src/gc/Allocator.cpp:273:14 (js+0x1198856)
    #7 JSString* js::AllocateString<JSString, (js::AllowGC)1>(JSContext*, js::gc::InitialHeap) /srv/repos/mozilla-central/js/src/gc/Allocator.cpp:179 (js+0x1198856)
    #8 JSThinInlineString* js::Allocate<JSThinInlineString, (js::AllowGC)1>(JSContext*, js::gc::InitialHeap) /srv/repos/mozilla-central/js/src/gc/Allocator.h:47:34 (js+0xea965d)
    #9 JSThinInlineString* JSThinInlineString::new_<(js::AllowGC)1>(JSContext*) /srv/repos/mozilla-central/js/src/vm/StringType-inl.h:279 (js+0xea965d)
    #10 JSInlineString* js::AllocateInlineString<(js::AllowGC)1, unsigned char>(JSContext*, unsigned long, unsigned char**) /srv/repos/mozilla-central/js/src/vm/StringType-inl.h:34 (js+0xea965d)
    #11 JSInlineString* js::NewInlineString<(js::AllowGC)1, unsigned char>(JSContext*, mozilla::Range<unsigned char const>) /srv/repos/mozilla-central/js/src/vm/StringType-inl.h:60 (js+0xea965d)
    #12 JSFlatString* js::NewStringCopyNDontDeflate<(js::AllowGC)1, unsigned char>(JSContext*, unsigned char const*, unsigned long) /srv/repos/mozilla-central/js/src/vm/StringType.cpp:1605 (js+0xea965d)
    #13 JSFlatString* js::NewStringCopyN<(js::AllowGC)1, unsigned char>(JSContext*, unsigned char const*, unsigned long) /srv/repos/mozilla-central/js/src/vm/StringType.cpp:1655:12 (js+0xeaa919)
    #14 JSFlatString* js::NewStringCopyN<(js::AllowGC)1>(JSContext*, char const*, unsigned long) /srv/repos/mozilla-central/js/src/vm/StringType.h:1473:12 (js+0xc17f7d)
    #15 JSFlatString* js::NewStringCopyZ<(js::AllowGC)1>(JSContext*, char const*) /srv/repos/mozilla-central/js/src/vm/StringType.h:1493 (js+0xc17f7d)
    #16 JS_NewStringCopyZ(JSContext*, char const*) /srv/repos/mozilla-central/js/src/jsapi.cpp:5826 (js+0xc17f7d)
    #17 js::ErrorToException(JSContext*, JSErrorReport*, JSErrorFormatString const* (*)(void*, unsigned int), void*) /srv/repos/mozilla-central/js/src/jsexn.cpp:678 (js+0xc17f7d)
    #18 ReportError(JSContext*, JSErrorReport*, JSErrorFormatString const* (*)(void*, unsigned int), void*) /srv/repos/mozilla-central/js/src/vm/JSContext.cpp:249:5 (js+0xd816ec)
    #19 js::ReportErrorNumberVA(JSContext*, unsigned int, JSErrorFormatString const* (*)(void*, unsigned int), void*, unsigned int, js::ErrorArgumentsType, __va_list_tag*) /srv/repos/mozilla-central/js/src/vm/JSContext.cpp:836 (js+0xd816ec)
    #20 JS_ReportErrorFlagsAndNumberLatin1(JSContext*, unsigned int, JSErrorFormatString const* (*)(void*, unsigned int), void*, unsigned int, ...) /srv/repos/mozilla-central/js/src/jsapi.cpp:6620:10 (js+0xc0d975)
    #21 js::ReportValueErrorFlags(JSContext*, unsigned int, unsigned int, int, JS::Handle<JS::Value>, JS::Handle<JSString*>, char const*, char const*) /srv/repos/mozilla-central/js/src/vm/JSContext.cpp:961:10 (js+0xd81e35)
    #22 js::ReportIsNotFunction(JSContext*, JS::Handle<JS::Value>, int, js::MaybeConstruct) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:321:5 (js+0x66e8ef)
    #23 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:445 (js+0x66e8ef)
    #24 InternalCall(JSContext*, js::AnyInvokeArgs const&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:520:12 (js+0x66f3c9)
    #25 js::CallFromStack(JSContext*, JS::CallArgs const&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:526:12 (js+0x665658)
    #26 Interpret(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:3093 (js+0x665658)
    #27 js::RunScript(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:421:12 (js+0x6576f5)
    #28 js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value const&, js::AbstractFramePtr, JS::Value*) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:704:15 (js+0x6703a7)
    #29 js::Execute(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value*) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:736:12 (js+0x6705b4)
    #30 ExecuteScript(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::Value*) /srv/repos/mozilla-central/js/src/jsapi.cpp:4752:12 (js+0xc046a9)
    #31 ExecuteScript(JSContext*, JS::AutoVector<JSObject*>&, JS::Handle<JSScript*>, JS::Value*) /srv/repos/mozilla-central/js/src/jsapi.cpp:4771:12 (js+0xc04b13)
    #32 JS_ExecuteScript(JSContext*, JS::AutoVector<JSObject*>&, JS::Handle<JSScript*>, JS::MutableHandle<JS::Value>) /srv/repos/mozilla-central/js/src/jsapi.cpp:4792:12 (js+0xc048d0)
    #33 Evaluate(JSContext*, unsigned int, JS::Value*) /srv/repos/mozilla-central/js/src/shell/js.cpp:2016:14 (js+0x4f3c71)
    #34 js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) /srv/repos/mozilla-central/js/src/vm/JSContext-inl.h:280:15 (js+0x66ec4a)
    #35 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:471 (js+0x66ec4a)
    #36 InternalCall(JSContext*, js::AnyInvokeArgs const&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:520:12 (js+0x66f3c9)
    #37 js::CallFromStack(JSContext*, JS::CallArgs const&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:526:12 (js+0x665658)
    #38 Interpret(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:3093 (js+0x665658)
    #39 js::RunScript(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:421:12 (js+0x6576f5)
    #40 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:493:15 (js+0x66ef86)
    #41 InternalCall(JSContext*, js::AnyInvokeArgs const&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:520:12 (js+0x66f3c9)
    #42 js::CallFromStack(JSContext*, JS::CallArgs const&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:526:12 (js+0x66f2e0)
    #43 js::jit::DoCallFallback(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>) /srv/repos/mozilla-central/js/src/jit/BaselineIC.cpp:2372:14 (js+0x7524ae)
    #44 <null> <null> (0x7fb689344e31)
    #45 Interpret(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:2044:28 (js+0x659034)
    #46 js::RunScript(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:421:12 (js+0x6576f5)
    #47 js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value const&, js::AbstractFramePtr, JS::Value*) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:704:15 (js+0x6703a7)
    #48 js::Execute(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value*) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:736:12 (js+0x6705b4)
    #49 ExecuteScript(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::Value*) /srv/repos/mozilla-central/js/src/jsapi.cpp:4752:12 (js+0xc046a9)
    #50 JS_ExecuteScript(JSContext*, JS::Handle<JSScript*>) /srv/repos/mozilla-central/js/src/jsapi.cpp:4785:12 (js+0xc0486c)
    #51 RunFile(JSContext*, char const*, _IO_FILE*, bool) /srv/repos/mozilla-central/js/src/shell/js.cpp:837:14 (js+0x507bfe)
    #52 Process(JSContext*, char const*, bool, FileKind) /srv/repos/mozilla-central/js/src/shell/js.cpp:1307 (js+0x507bfe)
    #53 ProcessArgs(JSContext*, js::cli::OptionParser*) /srv/repos/mozilla-central/js/src/shell/js.cpp:8475:14 (js+0x4eafda)
    #54 Shell(JSContext*, js::cli::OptionParser*, char**) /srv/repos/mozilla-central/js/src/shell/js.cpp:8866 (js+0x4eafda)
    #55 main /srv/repos/mozilla-central/js/src/shell/js.cpp:9339 (js+0x4eafda)

  Previous read of size 8 at 0x7ba400001260 by thread T10 (mutexes: write M35):
    #0 js::gc::GCRuntime::majorGCCount() const /srv/repos/mozilla-central/js/src/gc/GCRuntime.h:410:44 (js+0xd5f5e5)
    #1 js::SourceCompressionTask::shouldStart() const /srv/repos/mozilla-central/js/src/vm/HelperThreads.h:825 (js+0xd5f5e5)
    #2 js::GlobalHelperThreadState::scheduleCompressionTasks(js::AutoLockHelperThreadState const&) /srv/repos/mozilla-central/js/src/vm/HelperThreads.cpp:1472 (js+0xd5f5e5)
    #3 js::GlobalHelperThreadState::startHandlingCompressionTasks(js::AutoLockHelperThreadState const&) /srv/repos/mozilla-central/js/src/vm/HelperThreads.cpp:1460 (js+0xd5f5e5)
    #4 js::gc::GCRuntime::beginMarkPhase(JS::gcreason::Reason, js::gc::AutoTraceSession&) /srv/repos/mozilla-central/js/src/gc/GC.cpp:4431:29 (js+0x115ed43)
    #5 js::gc::GCRuntime::incrementalCollectSlice(js::SliceBudget&, JS::gcreason::Reason, js::gc::AutoTraceSession&) /srv/repos/mozilla-central/js/src/gc/GC.cpp:7096:14 (js+0x116c05d)
    #6 js::gc::GCRuntime::gcCycle(bool, js::SliceBudget&, JS::gcreason::Reason) /srv/repos/mozilla-central/js/src/gc/GC.cpp:7483:5 (js+0x116da9f)
    #7 js::gc::GCRuntime::collect(bool, js::SliceBudget, JS::gcreason::Reason) /srv/repos/mozilla-central/js/src/gc/GC.cpp:7626:25 (js+0x116f262)
    #8 js::gc::GCRuntime::runDebugGC() /srv/repos/mozilla-central/js/src/gc/GC.cpp (js+0x1144fc0)
    #9 js::gc::GCRuntime::gcIfNeededAtAllocation(JSContext*) /srv/repos/mozilla-central/js/src/gc/Allocator.cpp:312:9 (js+0x1144b7d)
    #10 bool js::gc::GCRuntime::checkAllocatorState<(js::AllowGC)1>(JSContext*, js::gc::AllocKind) /srv/repos/mozilla-central/js/src/gc/Allocator.cpp:273:14 (js+0x119a489)
    #11 js::AccessorShape* js::Allocate<js::AccessorShape, (js::AllowGC)1>(JSContext*) /srv/repos/mozilla-central/js/src/gc/Allocator.cpp:222 (js+0x119a489)
    #12 js::Shape::new_(JSContext*, JS::Handle<js::StackShape>, unsigned int) /srv/repos/mozilla-central/js/src/vm/Shape-inl.h:111:22 (js+0xe6eeb7)
    #13 js::PropertyTree::inlinedGetChild(JSContext*, js::Shape*, JS::Handle<js::StackShape>) /srv/repos/mozilla-central/js/src/vm/Shape.cpp:1736:20 (js+0xe44255)
    #14 js::PropertyTree::getChild(JSContext*, js::Shape*, JS::Handle<js::StackShape>) /srv/repos/mozilla-central/js/src/vm/Shape.cpp:1749 (js+0xe44255)
    #15 js::Shape::replaceLastProperty(JSContext*, js::StackBaseShape&, js::TaggedProto, JS::Handle<js::Shape*>) /srv/repos/mozilla-central/js/src/vm/Shape.cpp:284:39 (js+0xe43527)
    #16 js::Shape::setObjectFlags(JSContext*, js::BaseShape::Flag, js::TaggedProto, js::Shape*) /srv/repos/mozilla-central/js/src/vm/Shape.cpp:1387:12 (js+0xe50009)
    #17 JSObject::setFlags(JSContext*, JS::Handle<JSObject*>, js::BaseShape::Flag, JSObject::GenerateShape) /srv/repos/mozilla-central/js/src/vm/Shape.cpp:1346 (js+0xe50009)
    #18 JSObject::setNewGroupUnknown(JSContext*, js::Class const*, JS::Handle<JSObject*>) /srv/repos/mozilla-central/js/src/vm/ObjectGroup.cpp:346:12 (js+0xdf077b)
    #19 CreateArrayPrototype(JSContext*, JSProtoKey) /srv/repos/mozilla-central/js/src/builtin/Array.cpp:3705:10 (js+0x5728df)
    #20 js::GlobalObject::resolveConstructor(JSContext*, JS::Handle<js::GlobalObject*>, JSProtoKey) /srv/repos/mozilla-central/js/src/vm/GlobalObject.cpp:202:17 (js+0xd52fef)
    #21 js::GlobalObject::ensureConstructor(JSContext*, JS::Handle<js::GlobalObject*>, JSProtoKey) /srv/repos/mozilla-central/js/src/vm/GlobalObject.h:155:16 (js+0xdf69ee)
    #22 js::GlobalObject::getOrCreatePrototype(JSContext*, JSProtoKey) /srv/repos/mozilla-central/js/src/vm/GlobalObject.h:169 (js+0xdf69ee)
    #23 js::ObjectGroup::allocationSiteGroup(JSContext*, JSScript*, unsigned char*, JSProtoKey, JS::Handle<JSObject*>) /srv/repos/mozilla-central/js/src/vm/ObjectGroup.cpp:1440 (js+0xdf69ee)
    #24 js::NewArrayOperation(JSContext*, JS::Handle<JSScript*>, unsigned char*, unsigned int, js::NewObjectKind) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:5061:17 (js+0x67a7b8)
    #25 Interpret(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:3753:21 (js+0x66a31c)
    #26 js::RunScript(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:421:12 (js+0x6576f5)
    #27 js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value const&, js::AbstractFramePtr, JS::Value*) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:704:15 (js+0x6703a7)
    #28 js::Execute(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value*) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:736:12 (js+0x6705b4)
    #29 ExecuteScript(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::Value*) /srv/repos/mozilla-central/js/src/jsapi.cpp:4752:12 (js+0xc046a9)
    #30 ExecuteScript(JSContext*, JS::AutoVector<JSObject*>&, JS::Handle<JSScript*>, JS::Value*) /srv/repos/mozilla-central/js/src/jsapi.cpp:4771:12 (js+0xc04b13)
    #31 JS_ExecuteScript(JSContext*, JS::AutoVector<JSObject*>&, JS::Handle<JSScript*>, JS::MutableHandle<JS::Value>) /srv/repos/mozilla-central/js/src/jsapi.cpp:4792:12 (js+0xc048d0)
    #32 Evaluate(JSContext*, unsigned int, JS::Value*) /srv/repos/mozilla-central/js/src/shell/js.cpp:2016:14 (js+0x4f3c71)
    #33 js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) /srv/repos/mozilla-central/js/src/vm/JSContext-inl.h:280:15 (js+0x66ec4a)
    #34 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:471 (js+0x66ec4a)
    #35 InternalCall(JSContext*, js::AnyInvokeArgs const&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:520:12 (js+0x66f3c9)
    #36 js::CallFromStack(JSContext*, JS::CallArgs const&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:526:12 (js+0x665658)
    #37 Interpret(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:3093 (js+0x665658)
    #38 js::RunScript(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:421:12 (js+0x6576f5)
    #39 js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value const&, js::AbstractFramePtr, JS::Value*) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:704:15 (js+0x6703a7)
    #40 js::Execute(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value*) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:736:12 (js+0x6705b4)
    #41 ExecuteScript(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::Value*) /srv/repos/mozilla-central/js/src/jsapi.cpp:4752:12 (js+0xc046a9)
    #42 JS_ExecuteScript(JSContext*, JS::Handle<JSScript*>, JS::MutableHandle<JS::Value>) /srv/repos/mozilla-central/js/src/jsapi.cpp:4778:12 (js+0xc0461e)
    #43 WorkerMain(void*) /srv/repos/mozilla-central/js/src/shell/js.cpp:3623:9 (js+0x502477)
    #44 void js::detail::ThreadTrampoline<void (&)(void*), WorkerInput*&>::callMain<0ul>(std::integer_sequence<unsigned long, 0ul>) /srv/repos/mozilla-central/js/src/threading/Thread.h:242:5 (js+0x50cffd)
    #45 js::detail::ThreadTrampoline<void (&)(void*), WorkerInput*&>::Start(void*) /srv/repos/mozilla-central/js/src/threading/Thread.h:235 (js+0x50cffd)

  Location is heap block of size 19224 at 0x7ba400000000 allocated by main thread:
    #0 malloc <null> (js+0x465e0c)
    #1 SystemMalloc::malloc(unsigned long) /srv/repos/mozilla-central/memory/build/malloc_decls.h:37:1 (js+0x512769)
    #2 DummyArenaAllocator<SystemMalloc>::moz_arena_malloc(unsigned long, unsigned long) /srv/repos/mozilla-central/memory/build/malloc_decls.h:37 (js+0x512769)
    #3 moz_arena_malloc /srv/repos/mozilla-central/memory/build/malloc_decls.h:115 (js+0x512769)
    #4 js_malloc(unsigned long) /srv/repos/mozilla-central/js/src/opt64tsan/dist/include/js/Utility.h:388:12 (js+0xd803a4)
    #5 JSRuntime* js_new<JSRuntime, JSRuntime*&>(JSRuntime*&&&) /srv/repos/mozilla-central/js/src/opt64tsan/dist/include/js/Utility.h:504 (js+0xd803a4)
    #6 js::NewContext(unsigned int, unsigned int, JSRuntime*) /srv/repos/mozilla-central/js/src/vm/JSContext.cpp:139 (js+0xd803a4)
    #7 JS_NewContext(unsigned int, unsigned int, JSRuntime*) /srv/repos/mozilla-central/js/src/jsapi.cpp:472:12 (js+0xbe8476)
    #8 main /srv/repos/mozilla-central/js/src/shell/js.cpp:9259:21 (js+0x4e7bf2)

  Mutex M35 (0x7b54000001b8) created at:
    #0 pthread_mutex_init <null> (js+0x448d2a)
    #1 mozilla::detail::MutexImpl::MutexImpl() /srv/repos/mozilla-central/mozglue/misc/Mutex_posix.cpp:95:3 (js+0x5133b9)
    #2 js::Mutex::Mutex(js::MutexId const&) /srv/repos/mozilla-central/js/src/threading/Mutex.h:37:12 (js+0xd57f66)
    #3 js::GlobalHelperThreadState::GlobalHelperThreadState() /srv/repos/mozilla-central/js/src/vm/HelperThreads.cpp:999 (js+0xd57f66)
    #4 js::GlobalHelperThreadState* js_new<js::GlobalHelperThreadState>() /srv/repos/mozilla-central/js/src/opt64tsan/dist/include/js/Utility.h:504 (js+0xd57f66)
    #5 js::CreateHelperThreadsState() /srv/repos/mozilla-central/js/src/vm/HelperThreads.cpp:52 (js+0xd57f66)
    #6 JS::detail::InitWithFailureDiagnostic(bool) /srv/repos/mozilla-central/js/src/vm/Initialization.cpp:132:5 (js+0xd644f3)
    #7 JS_Init() /srv/repos/mozilla-central/js/src/opt64tsan/dist/include/js/Initialization.h:95:13 (js+0x4e1503)
    #8 main /srv/repos/mozilla-central/js/src/shell/js.cpp:8995 (js+0x4e1503)

  Thread T10 (tid=9289, running) created by main thread at:
    #0 pthread_create <null> (js+0x448946)
    #1 js::Thread::create(void* (*)(void*), void*) /srv/repos/mozilla-central/js/src/threading/posix/Thread.cpp:115:7 (js+0xc687d5)
    #2 bool js::Thread::init<void (&)(void*), WorkerInput*&>(void (&&&)(void*), WorkerInput*&&&) /srv/repos/mozilla-central/js/src/threading/Thread.h:124:12 (js+0x50cf75)
    #3 EvalInWorker(JSContext*, unsigned int, JS::Value*) /srv/repos/mozilla-central/js/src/shell/js.cpp:3697:33 (js+0x4f6e0b)
    #4 js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) /srv/repos/mozilla-central/js/src/vm/JSContext-inl.h:280:15 (js+0x66ec4a)
    #5 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:471 (js+0x66ec4a)
    #6 InternalCall(JSContext*, js::AnyInvokeArgs const&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:520:12 (js+0x66f3c9)
    #7 js::CallFromStack(JSContext*, JS::CallArgs const&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:526:12 (js+0x665658)
    #8 Interpret(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:3093 (js+0x665658)
    #9 js::RunScript(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:421:12 (js+0x6576f5)
    #10 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:493:15 (js+0x66ef86)
    #11 InternalCall(JSContext*, js::AnyInvokeArgs const&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:520:12 (js+0x66f3c9)
    #12 js::CallFromStack(JSContext*, JS::CallArgs const&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:526:12 (js+0x66f2e0)
    #13 js::jit::DoCallFallback(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>) /srv/repos/mozilla-central/js/src/jit/BaselineIC.cpp:2372:14 (js+0x7524ae)
    #14 <null> <null> (0x7fb689344e31)
    #15 Interpret(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:2044:28 (js+0x659034)
    #16 js::RunScript(JSContext*, js::RunState&) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:421:12 (js+0x6576f5)
    #17 js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value const&, js::AbstractFramePtr, JS::Value*) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:704:15 (js+0x6703a7)
    #18 js::Execute(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value*) /srv/repos/mozilla-central/js/src/vm/Interpreter.cpp:736:12 (js+0x6705b4)
    #19 ExecuteScript(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::Value*) /srv/repos/mozilla-central/js/src/jsapi.cpp:4752:12 (js+0xc046a9)
    #20 JS_ExecuteScript(JSContext*, JS::Handle<JSScript*>) /srv/repos/mozilla-central/js/src/jsapi.cpp:4785:12 (js+0xc0486c)
    #21 RunFile(JSContext*, char const*, _IO_FILE*, bool) /srv/repos/mozilla-central/js/src/shell/js.cpp:837:14 (js+0x507bfe)
    #22 Process(JSContext*, char const*, bool, FileKind) /srv/repos/mozilla-central/js/src/shell/js.cpp:1307 (js+0x507bfe)
    #23 ProcessArgs(JSContext*, js::cli::OptionParser*) /srv/repos/mozilla-central/js/src/shell/js.cpp:8475:14 (js+0x4eafda)
    #24 Shell(JSContext*, js::cli::OptionParser*, char**) /srv/repos/mozilla-central/js/src/shell/js.cpp:8866 (js+0x4eafda)
    #25 main /srv/repos/mozilla-central/js/src/shell/js.cpp:9339 (js+0x4eafda)

SUMMARY: ThreadSanitizer: data race /srv/repos/mozilla-central/js/src/threading/ProtectedData.h:95:31 in js::ProtectedData<js::CheckMainThread<(js::AllowedHelperThread)0>, unsigned long>::operator++()
==================
