[Qtwebengine] QtWebEngineProcess crashes

Frank Meerkötter frank.meerkoetter at basyskom.com
Tue May 24 22:32:23 CEST 2016


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





More information about the QtWebEngine mailing list