[Qtwebengine] QtWebEngineProcess crashes

Jocelyn Turcotte jturcotte at woboq.com
Tue May 24 23:57:16 CEST 2016


Hi,

Did you make sure that you have proper fonts available on your image?
That bug report doesn’t have much detail, but that would be where it’s tracked: https://bugreports.qt.io/browse/QTBUG-51772

I’m not sure why it would work in QtQuick and not in QtWebEngine though. Maybe QtQuick succeeds falling back to helvetica while Chromium would expects all needed families to be on the system it’s shipped on, or something like that.

Cheers,
Jocelyn

> On 24 May 2016, at 22:32, Frank Meerkötter <frank.meerkoetter at basyskom.com> wrote:
> 
> Hi,
> 
> I am testing (or rather trying to test) the QtWebEngine by running the simplebrowser
> and/or the demobrowser example.
> 
> My target is an Embedded Linux running on a Wandboard (imx.6).
> The image was generated using Yocto, the FSL-Community-BSP and meta-qt5.
> All of this in version 2.1 (korgoth). I am using the eglfs stack.
> 
> The UI of the demo browser comes up fine. I can use the various menus, but as soon as
> the browser is loading a web page, the render process will crash.
> 
> root at wandboard:/tmp# /usr/share/qt5/examples/webenginewidgets/demobrowser/demobrowser --platform eglfs
> QEglFSVivIntegration will set environment variable FB_MULTI_BUFFER=2 to enable double buffering and vsync.
> If this is not desired, you can override this via: export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1
> Unable to query physical screen size, defaulting to 100 dpi.
> To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
> 
> Render process exited with code 139 (crashed)
> Render process exited with code 139 (crashed)
> Render process exited with code 139 (crashed)
> Render process exited with code 139 (crashed)
> Render process exited with code 139 (crashed)
> Render process exited with code 139 (crashed)
> 
> This is independent from the page I attempt to load. It always crashes (before showing any output).
> 
> I've analysed some of the backtraces. There are at least two types I encounter.
> 
> Core was generated by `/usr/lib/qt5/libexec/QtWebEngineProcess --type=renderer --disable-accelerate'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  0x75e2bfb8 in blink::CanvasRenderingContext2D::getFontBaseline(blink::FontMetrics const&) const () from /usr/lib/libQt5WebEngineCore.so.5
> [Current thread is 1 (Thread 0x76fd0000 (LWP 629))]
> (gdb) bt
> #0  0x75e2bfb8 in blink::CanvasRenderingContext2D::getFontBaseline(blink::FontMetrics const&) const () from /usr/lib/libQt5WebEngineCore.so.5
> #1  0x75e305a4 in blink::CanvasRenderingContext2D::drawTextInternal(WTF::String const&, float, float, blink::CanvasRenderingContext2DState::PaintType, float*) () from /usr/lib/libQt5WebEngineCore.so.5
> #2  0x75f301be in blink::CanvasRenderingContext2DV8Internal::fillTextMethodCallback(v8::FunctionCallbackInfo<v8::Value> const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #3  0x7521f83e in v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&)) () from /usr/lib/libQt5WebEngineCore.so.5
> #4  0x7504e8c2 in v8::internal::MaybeHandle<v8::internal::Object> v8::internal::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::(anonymous namespace)::BuiltinArguments<(v8::internal::BuiltinExtraArgument5
> #5  0x7504eaf2 in v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) () from /usr/lib/libQt5WebEngineCore.so.5
> #6  0x2420a094 in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
> 
> 
> The second one.
> 
> Core was generated by `/usr/lib/qt5/libexec/QtWebEngineProcess --type=renderer --disable-accelerate'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  0x763c0ada in blink::CSSToLengthConversionData::FontSizes::ex() const () from /usr/lib/libQt5WebEngineCore.so.5
> [Current thread is 1 (Thread 0x76fc0000 (LWP 1220))]
> (gdb) bt
> #0  0x763c0ada in blink::CSSToLengthConversionData::FontSizes::ex() const () from /usr/lib/libQt5WebEngineCore.so.5
> #1  0x763b6dee in blink::CSSPrimitiveValue::computeLengthDouble(blink::CSSToLengthConversionData const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #2  0x763b7204 in blink::CSSPrimitiveValue::convertToLength(blink::CSSToLengthConversionData const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #3  0x76423830 in blink::StyleBuilderConverter::convertLengthOrAuto(blink::StyleResolverState const&, blink::CSSValue*) () from /usr/lib/libQt5WebEngineCore.so.5
> #4  0x76424936 in blink::StyleBuilderConverter::convertQuirkyLength(blink::StyleResolverState&, blink::CSSValue*) () from /usr/lib/libQt5WebEngineCore.so.5
> #5  0x7674c516 in blink::StyleBuilderFunctions::applyValueCSSPropertyMarginRight(blink::StyleResolverState&, blink::CSSValue*) () from /usr/lib/libQt5WebEngineCore.so.5
> #6  0x764271f8 in blink::StyleBuilder::applyProperty(blink::CSSPropertyID, blink::StyleResolverState&, blink::CSSValue*) () from /usr/lib/libQt5WebEngineCore.so.5
> #7  0x7643094a in void blink::StyleResolver::applyProperties<(blink::CSSPropertyPriority)1>(blink::StyleResolverState&, blink::StylePropertySet const*, bool, bool, blink::PropertyWhitelistType) ()
>   from /usr/lib/libQt5WebEngineCore.so.5
> #8  0x764311e0 in void blink::StyleResolver::applyMatchedProperties<(blink::CSSPropertyPriority)1>(blink::StyleResolverState&, blink::MatchResult const&, bool, unsigned int, unsigned int, bool) ()
>   from /usr/lib/libQt5WebEngineCore.so.5
> #9  0x76431404 in blink::StyleResolver::applyMatchedProperties(blink::StyleResolverState&, blink::MatchResult const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #10 0x76435554 in blink::StyleResolver::styleForElement(blink::Element*, blink::ComputedStyle const*, blink::StyleSharingBehavior, blink::RuleMatchingBehavior) () from /usr/lib/libQt5WebEngineCore.so.5
> #11 0x761d8f10 in blink::Element::originalStyleForLayoutObject() () from /usr/lib/libQt5WebEngineCore.so.5
> #12 0x761ddb10 in blink::Element::styleForLayoutObject() () from /usr/lib/libQt5WebEngineCore.so.5
> #13 0x761ea4c4 in blink::LayoutTreeBuilderForElement::style() const () from /usr/lib/libQt5WebEngineCore.so.5
> #14 0x761eade0 in blink::LayoutTreeBuilderForElement::shouldCreateLayoutObject() const () from /usr/lib/libQt5WebEngineCore.so.5
> #15 0x761dc3a0 in blink::Element::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #16 0x761b7eba in blink::ContainerNode::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #17 0x761dc418 in blink::Element::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #18 0x76761e42 in blink::HTMLLIElement::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #19 0x761b7eba in blink::ContainerNode::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #20 0x761dc418 in blink::Element::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #21 0x761b7eba in blink::ContainerNode::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #22 0x761dc418 in blink::Element::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #23 0x761b7eba in blink::ContainerNode::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #24 0x761dc418 in blink::Element::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #25 0x761b7eba in blink::ContainerNode::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #26 0x761dc418 in blink::Element::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #27 0x761b7eba in blink::ContainerNode::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #28 0x761dc418 in blink::Element::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #29 0x761b7eba in blink::ContainerNode::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #30 0x761dc418 in blink::Element::attach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #31 0x761f3068 in blink::Node::reattach(blink::Node::AttachContext const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #32 0x761ddda6 in blink::Element::recalcOwnStyle(blink::StyleRecalcChange) () from /usr/lib/libQt5WebEngineCore.so.5
> #33 0x761dde52 in blink::Element::recalcStyle(blink::StyleRecalcChange, blink::Text*) () from /usr/lib/libQt5WebEngineCore.so.5
> #34 0x761b419c in blink::ContainerNode::recalcChildStyle(blink::StyleRecalcChange) () from /usr/lib/libQt5WebEngineCore.so.5
> #35 0x761ddebc in blink::Element::recalcStyle(blink::StyleRecalcChange, blink::Text*) () from /usr/lib/libQt5WebEngineCore.so.5
> #36 0x761c6a0c in blink::Document::updateStyle(blink::StyleRecalcChange) () from /usr/lib/libQt5WebEngineCore.so.5
> #37 0x761d0640 in blink::Document::updateLayoutTree(blink::StyleRecalcChange) () from /usr/lib/libQt5WebEngineCore.so.5
> #38 0x7644658a in blink::FrameSelection::focusedOrActiveStateChanged() () from /usr/lib/libQt5WebEngineCore.so.5
> #39 0x75d539a6 in content::RenderViewImpl::OnMessageReceived(IPC::Message const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #40 0x75a96434 in content::MessageRouter::RouteMessage(IPC::Message const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #41 0x75499372 in content::ChildThreadImpl::OnMessageReceived(IPC::Message const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #42 0x75cd6ff0 in IPC::ChannelProxy::Context::OnDispatchMessage(IPC::Message const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #43 0x75dffa0c in base::debug::TaskAnnotator::RunTask(char const*, char const*, base::PendingTask const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #44 0x767d214a in scheduler::TaskQueueManager::ProcessTaskFromWorkQueue(unsigned int, bool, base::PendingTask*) () from /usr/lib/libQt5WebEngineCore.so.5
> #45 0x767d3f1a in scheduler::TaskQueueManager::DoWork(bool) () from /usr/lib/libQt5WebEngineCore.so.5
> #46 0x75dffa0c in base::debug::TaskAnnotator::RunTask(char const*, char const*, base::PendingTask const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #47 0x75dcddfc in base::MessageLoop::RunTask(base::PendingTask const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #48 0x75dce26a in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #49 0x75dce53c in base::MessageLoop::DoWork() () from /usr/lib/libQt5WebEngineCore.so.5
> #50 0x75dcf850 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) () from /usr/lib/libQt5WebEngineCore.so.5
> #51 0x75dd9fb8 in base::RunLoop::Run() () from /usr/lib/libQt5WebEngineCore.so.5
> #52 0x75dcd7c4 in base::MessageLoop::Run() () from /usr/lib/libQt5WebEngineCore.so.5
> ---Type <return> to continue, or q <return> to quit---
> #53 0x75d5f7ac in content::RendererMain(content::MainFunctionParams const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #54 0x759a45bc in content::RunZygote(content::MainFunctionParams const&, content::ContentMainDelegate*) () from /usr/lib/libQt5WebEngineCore.so.5
> #55 0x759a4808 in content::ContentMainRunnerImpl::Run() () from /usr/lib/libQt5WebEngineCore.so.5
> #56 0x759a3a8e in content::ContentMain(content::ContentMainParams const&) () from /usr/lib/libQt5WebEngineCore.so.5
> #57 0x74ff648e in QtWebEngine::processMain(int, char const**) () from /usr/lib/libQt5WebEngineCore.so.5
> #58 0x00008568 in main (argc=34152, argv=0x7e9c5d54) at /usr/src/debug/qtwebengine/5.6.0+gitAUTOINC+643aa579fc_8252b18aa3-r0/git/src/process/main.cpp:163
> 
> 
> The interesting bit is that both crashes seem to have something to do
> with font handling.
> 
> Any ideas what could be wrong?
> 
> Kind Regards,
> Frank
> 
> -- 
> Frank Meerkötter
> Development Lead
> 
> basysKom GmbH
> Robert-Bosch-Str. 7 | 64293 Darmstadt | Germany
> Tel   : +49 6151 870 589 161  | Fax: +49 6151 - 870 589 162
> frank.meerkoetter at basyskom.com | www.basyskom.com
> 
> Handelsregister: Darmstadt HRB 9352
> Geschäftsführung: Eva Brucherseifer, Heike Ziegler
> 
> 
> _______________________________________________
> QtWebEngine mailing list
> QtWebEngine at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qtwebengine




More information about the QtWebEngine mailing list