Just a guess, since you mention notarization and the crash is in GetDeoptimizationEntry (deopt entries are generated at runtime): did you declare Allow Execution of JIT-compiled Code Entitlement <https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_cs_allow-jit> ?
If that doesn't help, it'd be great to find out more about the crash. Which part of GetDeoptimizationEntry <https://cs.chromium.org/chromium/src/v8/src/deoptimizer/deoptimizer.cc?l=577&rcl=f1aa36df853b9956b46f3d792b59255c3b6fff46> crashes and how? On Thu, Sep 19, 2019 at 7:03 AM Dmitry Kravchenko <[email protected]> wrote: > Hi! > > I'm developing an application with Qt 5.9.3 on macOS. My application uses > QtWebEngine framework to display Web pages. QtWebEngine in turn uses > Chromium/Blink code for rendering. It all worked successfully until > recently Apple demanded all apps on macOS 10.15 to be notarized. > Notarization involves enabling hardened runtime. After I enabled hardened > runtime, QtWebEngine stopped working: nothing is rendered and in the > background QtWebEngineProcess crashes repeatedly. > > Why I'm asking for help here is because judging by call stack > QtWebEngineProcess crashes inside Chromium code (specifically, Blink -> V8): > > Thread 0 Crashed:: CrRendererMain Dispatch queue: com.apple.main-thread > 0 org.qt-project.Qt.QtWebEngineCore 0x000000010c32fdbe > v8::internal::Deoptimizer::GetDeoptimizationEntry(v8::internal::Isolate*, > int, v8::internal::Deoptimizer::BailoutType, > v8::internal::Deoptimizer::GetEntryMode) + 94 > 1 org.qt-project.Qt.QtWebEngineCore 0x000000010c3703e1 > v8::internal::ExternalReferenceTable::AddDeoptEntries(v8::internal::Isolate*) > + 97 > 2 org.qt-project.Qt.QtWebEngineCore 0x000000010c36bc02 > v8::internal::ExternalReferenceTable::ExternalReferenceTable(v8::internal::Isolate*) > + 210 > 3 org.qt-project.Qt.QtWebEngineCore 0x000000010c36bb0e > v8::internal::ExternalReferenceTable::instance(v8::internal::Isolate*) + 46 > 4 org.qt-project.Qt.QtWebEngineCore 0x000000010c6d72d9 > v8::internal::Deserializer::Deserialize(v8::internal::Isolate*) + 25 > 5 org.qt-project.Qt.QtWebEngineCore 0x000000010c478d46 > v8::internal::Isolate::Init(v8::internal::Deserializer*) + 9878 > 6 org.qt-project.Qt.QtWebEngineCore 0x000000010c6dfb53 > v8::internal::Snapshot::Initialize(v8::internal::Isolate*) + 723 > 7 org.qt-project.Qt.QtWebEngineCore 0x000000010bfbdf09 > v8::Isolate::New(v8::Isolate::CreateParams const&) + 361 > 8 org.qt-project.Qt.QtWebEngineCore 0x000000010bf8750c > gin::IsolateHolder::IsolateHolder(gin::IsolateHolder::AccessMode) + 284 > 9 org.qt-project.Qt.QtWebEngineCore 0x000000010d2e9cbf > blink::V8PerIsolateData::V8PerIsolateData() + 31 > 10 org.qt-project.Qt.QtWebEngineCore 0x000000010d2ea382 > blink::V8PerIsolateData::initialize() + 34 > 11 org.qt-project.Qt.QtWebEngineCore 0x000000010d2e38cb > blink::V8Initializer::initializeMainThread() + 107 > 12 org.qt-project.Qt.QtWebEngineCore 0x000000010d267ac4 > blink::initialize(blink::Platform*) + 20 > 13 org.qt-project.Qt.QtWebEngineCore 0x000000010cedc97e > content::RenderThreadImpl::InitializeWebKit(scoped_refptr<base::SingleThreadTaskRunner>&) > + 174 > 14 org.qt-project.Qt.QtWebEngineCore 0x000000010cedaecc > content::RenderThreadImpl::Init(scoped_refptr<base::SingleThreadTaskRunner>&) > + 300 > 15 org.qt-project.Qt.QtWebEngineCore 0x000000010ceda65a > content::RenderThreadImpl::RenderThreadImpl(std::__1::unique_ptr<base::MessageLoop, > std::__1::default_delete<base::MessageLoop> >, > std::__1::unique_ptr<blink::scheduler::RendererScheduler, > std::__1::default_delete<blink::scheduler::RendererScheduler> >) + 1434 > 16 org.qt-project.Qt.QtWebEngineCore 0x000000010ceda07c > content::RenderThreadImpl::Create(std::__1::unique_ptr<base::MessageLoop, > std::__1::default_delete<base::MessageLoop> >, > std::__1::unique_ptr<blink::scheduler::RendererScheduler, > std::__1::default_delete<blink::scheduler::RendererScheduler> >) + 76 > 17 org.qt-project.Qt.QtWebEngineCore 0x000000010cf0b165 > content::RendererMain(content::MainFunctionParams const&) + 517 > 18 org.qt-project.Qt.QtWebEngineCore 0x000000010aa395b5 > content::ContentMainRunnerImpl::Run() + 437 > 19 org.qt-project.Qt.QtWebEngineCore 0x000000010aa38976 > content::ContentMain(content::ContentMainParams const&) + 54 > 20 org.qt-project.Qt.QtWebEngineCore 0x0000000109ee2e36 > QtWebEngine::processMain(int, char const**) + 70 > 21 org.qt-project.Qt.QtWebEngineProcess 0x0000000109e99f54 0x109e95000 > + 20308 > 22 libdyld.dylib 0x00007fff7e1433d5 start + 1 > > > Can you please help me to find out exactly why Blink / V8 is crashing > here? That would help me to workaround this. > > I already asked on Qt forum, with no reply, and by the way, here's another > developer experiencing similar issue with QtWebEngine: > https://forum.qt.io/topic/102212/qtwebengine-signing-issues . > I tried what he suggests: adding entitlement to QtWebEngineProcess, with > no success. I'm attaching a full crash report from QtWebEngineProcess with > that entitlement enabled. > > Thanks in advance! > > -- > -- > v8-dev mailing list > [email protected] > http://groups.google.com/group/v8-dev > --- > You received this message because you are subscribed to the Google Groups > "v8-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/v8-dev/baa4a934-669f-428d-8f72-85dd235d0dc6%40googlegroups.com > <https://groups.google.com/d/msgid/v8-dev/baa4a934-669f-428d-8f72-85dd235d0dc6%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/CAH3p7oNbbkh0FzN1XvhN%3DJnrFM%3DPiot_KwFhF_-SvgXMd4uaSQ%40mail.gmail.com.
