KAnagram QML WebView crash

Jeremy Whiting jpwhiting at kde.org
Sun Aug 24 04:44:01 UTC 2014


Hmm, could I be hitting the crash on
TSymbolTableLevel::~TSymbolTableLevel() mentioned here:
http://download.opensuse.org/ports/armv7hl/factory/repo/oss/ChangeLog



On Sat, Aug 23, 2014 at 6:45 PM, Jeremy Whiting <jpwhiting at kde.org> wrote:
> Ok, I rebuilt frameworks and such on a fresh debian jessie vm with
> frameworks build from git and kanagram crashes here with this
> backtrace I got from gdb:
>
> Set qml file location
> [New Thread 0xa6e99b40 (LWP 10760)]
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000 in ?? ()
> (gdb) bt
> #0  0x00000000 in ?? ()
> #1  0xb657b980 in TSymbolTableLevel::~TSymbolTableLevel() ()
>     at src/compiler/SymbolTable.cpp:174
> #2  0xb653d0a1 in TCompiler::compile (this=0x9094f88, shaderStrings=0x0,
>     numStrings=<unknown type>, compileOptions=-1218551960)
>     at src/compiler/SymbolTable.h:270
> #3  0xb657ad64 in ShCompile (
>     handle=<error reading variable: Unknown argument list address for
> `handle'.>,
>     shaderStrings=<error reading variable: Unknown argument list
> address for `shaderStrings'.>,
>     numStrings=<error reading variable: Unknown argument list address
> for `numStrings'.>,
>     compileOptions=<error reading variable: Unknown argument list
> address for `compileOptions'.>) at src/compiler/ShaderLang.cpp:200
> #4  0xb587e4c2 in WebCore::ANGLEWebKitBridge::compileShaderSource(char
> const*, WebCore::ANGLEShaderType, WTF::String&, WTF::String&,
> WTF::Vector<WebCore::ANGLEShaderSymbol, 0u, WTF::CrashOnOverflow>&,
> int) () at ../WTF/wtf/HashTable.h:690
> #5  0xb588bc57 in
> WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE(unsigned
> int) () at ../WTF/wtf/HashTable.h:690
> #6  0xb58881d0 in WebCore::GraphicsContext3D::compileShader(unsigned int) ()
>     at ../WTF/wtf/HashTable.h:690
> #7  0xb5895b42 in
> WebCore::TextureMapperShaderProgram::TextureMapperShaderProgra---Type
> <return> to continue, or q <return> to quit---
> m(WTF::PassRefPtr<WebCore::GraphicsContext3D>, WTF::String const&,
> WTF::String const&) () at ../WTF/wtf/HashTable.h:690
> #8  0xb5895fff in
> WebCore::TextureMapperShaderProgram::create(WTF::PassRefPtr<WebCore::GraphicsContext3D>,
> unsigned int) () at ../WTF/wtf/HashTable.h:690
> #9  0xb58938b1 in WebCore::TextureMapperGL::drawTexture(unsigned int,
> int, WebCore::IntSize const&, WebCore::FloatRect const&,
> WebCore::TransformationMatrix const&, float, unsigned int) () at
> ../WTF/wtf/HashTable.h:690
> #10 0xb588f45a in
> WebCore::TextureMapperGL::drawTexture(WebCore::BitmapTexture const&,
> WebCore::FloatRect const&, WebCore::TransformationMatrix const&,
> float, unsigned int) () at ../WTF/wtf/HashTable.h:690
> #11 0xb56e7ab7 in
> WebCore::TextureMapperTile::paint(WebCore::TextureMapper*,
> WebCore::TransformationMatrix const&, float, unsigned int) ()
>     at ../WTF/wtf/Vector.h:1053
> #12 0xb589b8d5 in
> WebCore::CoordinatedBackingStore::paintTilesToTextureMapper(WTF::Vector<WebCore::TextureMapperTile*,
> 0u, WTF::CrashOnOverflow>&, WebCore::TextureMapper*,
> WebCore::TransformationMatrix const&, float, WebCore::FloatRect
> const&) () at ../WTF/wtf/HashTable.h:690
> #13 0xb589c150 in
> WebCore::CoordinatedBackingStore::paintToTextureMapper(WebCore::TextureMapper*,
> WebCore::FloatRect const&, WebCore::TransformationMatrix const&,
> float) [clone .part.62] () at ../WTF/wtf/HashTable.h:690
> #14 0xb56e3994 in
> WebCore::TextureMapperLayer::paintSelf(WebCore::TextureMapperPaintOptions
> const&) () at platform/graphics/texmap/TextureMapper.h:90
> #15 0xb56e6d94 in
> WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::Tex---Type
> <return> to continue, or q <return> to quit---
> tureMapperPaintOptions const&) ()
>     at platform/graphics/texmap/TextureMapper.h:90
> #16 0xb56e6efb in
> WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions
> const&) ()
>     at platform/graphics/texmap/TextureMapper.h:90
> #17 0xb56e6a94 in
> WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions
> const&) () at platform/graphics/texmap/TextureMapper.h:90
> #18 0xb56e6d1a in
> WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions
> const&) [clone .part.99] ()
>     at platform/graphics/texmap/TextureMapper.h:90
> #19 0xb56e6efb in
> WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions
> const&) ()
>     at platform/graphics/texmap/TextureMapper.h:90
> #20 0xb56e6a94 in
> WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions
> const&) () at platform/graphics/texmap/TextureMapper.h:90
> #21 0xb56e6d1a in
> WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions
> const&) [clone .part.99] ()
>     at platform/graphics/texmap/TextureMapper.h:90
> #22 0xb56e6efb in
> WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions
> const&) ()
>     at platform/graphics/texmap/TextureMapper.h:90
> #23 0xb56e6a94 in
> WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions
> const&) () at platform/graphics/texmap/TextureMapper.h:90
> ---Type <return> to continue, or q <return> to quit---
> #24 0xb56e6d1a in
> WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions
> const&) [clone .part.99] ()
>     at platform/graphics/texmap/TextureMapper.h:90
> #25 0xb56e6efb in
> WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions
> const&) ()
>     at platform/graphics/texmap/TextureMapper.h:90
> #26 0xb56e6a94 in
> WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions
> const&) () at platform/graphics/texmap/TextureMapper.h:90
> #27 0xb56e6b83 in WebCore::TextureMapperLayer::paint() ()
>     at platform/graphics/texmap/TextureMapper.h:90
> #28 0xb58a407a in
> WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext(WebCore::TransformationMatrix
> const&, float, WebCore::FloatRect const&, unsigned int) () at
> ../WTF/wtf/HashTable.h:690
> #29 0xb52e438d in
> WebKit::ContentsSGNode::render(QSGRenderNode::RenderState const&) ()
> at /usr/include/i386-linux-gnu/qt5/QtCore/qvector.h:508
> #30 0xb7cb55bf in
> QSGBatchRenderer::Renderer::renderRenderNode(QSGBatchRenderer::Batch*)
> () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
> #31 0xb7cb5b8a in QSGBatchRenderer::Renderer::renderBatches() ()
>    from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
> #32 0xb7cb6249 in QSGBatchRenderer::Renderer::render() ()
>    from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
> #33 0xb7cc2a5b in QSGRenderer::renderScene(QSGBindable const&) ()
>    from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
> ---Type <return> to continue, or q <return> to quit---
> #34 0xb7cc30c7 in QSGRenderer::renderScene() ()
>    from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
> #35 0xb7cd32ec in QSGRenderContext::renderNextFrame(QSGRenderer*, unsigned int)
>     () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
> #36 0xb7d133b7 in QQuickWindowPrivate::renderSceneGraph(QSize const&) ()
>    from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
> #37 0xb7cef4bb in ?? () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
> #38 0xb7cf0628 in ?? () from /usr/lib/i386-linux-gnu/libQt5Quick.so.5
> #39 0xb365d86a in QApplicationPrivate::notify_helper (this=0x808e380, receiver=
>     0x80d4848, e=0xbfffef40) at kernel/qapplication.cpp:3522
> #40 0xb3662e1c in QApplication::notify (this=0xbffff1ec, receiver=0x80d4848,
>     e=0xbfffef40) at kernel/qapplication.cpp:3487
> #41 0xb7946da7 in QCoreApplication::notifyInternal (this=0xbffff1ec,
>     receiver=0x80d4848, event=0xbfffef40) at kernel/qcoreapplication.cpp:935
> #42 0xb799dcb8 in sendEvent (event=0xbfffef40, receiver=<optimized out>)
>     at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:237
> #43 QTimerInfoList::activateTimers (this=0x80ad04c)
>     at kernel/qtimerinfo_unix.cpp:643
> #44 0xb799e149 in timerSourceDispatch (source=0x80ad018)
>     at kernel/qeventdispatcher_glib.cpp:185
> #45 0xb2289f64 in g_main_context_dispatch ()
>    from /lib/i386-linux-gnu/libglib-2.0.so.0
> #46 0xb228a279 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
> ---Type <return> to continue, or q <return> to quit---
> #47 0xb228a346 in g_main_context_iteration ()
>    from /lib/i386-linux-gnu/libglib-2.0.so.0
> #48 0xb799edc4 in QEventDispatcherGlib::processEvents (this=0x80ad238,
>     flags=...) at kernel/qeventdispatcher_glib.cpp:426
> #49 0xaf8fe7e1 in QPAEventDispatcherGlib::processEvents (this=0x80ad238,
>     flags=...) at eventdispatchers/qeventdispatcher_glib.cpp:123
> #50 0xb7944183 in QEventLoop::processEvents (this=0xbffff17c, flags=...)
>     at kernel/qeventloop.cpp:136
> #51 0xb794459a in QEventLoop::exec (this=0xbffff17c, flags=...)
>     at kernel/qeventloop.cpp:212
> #52 0xb794c26a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
> #53 0xb3077f21 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1450
> #54 0xb365be04 in QApplication::exec () at kernel/qapplication.cpp:2767
> #55 0x08066d79 in main (argc=1, argv=0xbffff3d4)
>     at /home/jeremy/devel/kde/frameworks/kde/kdeedu/kanagram/src/main.cpp:60
>
> The only thing I'm doing in the qml is making the WebView visible and
> after about one or two seconds I get this segfault. Anyone with
> QtWebKit experience know what's going on here? do I need to change
> some qml property to make it not crash ?
>
> BR,
> Jeremy
>
> On Fri, Aug 22, 2014 at 4:11 PM, Jeremy Whiting <jpwhiting at kde.org> wrote:
>> Sorry all, seems this is something wrong with my local setup. Though
>> I've no clue what would cause these issues. If anyone has any ideas
>> for me to try I'll try anything to get back to where I can work on
>> fixing real issues rather than strange crashes that are only on my
>> system :) I'll keep digging I guess.
>>
>> thanks,
>> Jeremy
>>
>>
>> On Fri, Aug 22, 2014 at 3:57 PM, Albert Astals Cid <aacid at kde.org> wrote:
>>> El Divendres, 22 d'agost de 2014, a les 15:45:12, Jeremy Whiting va escriure:
>>>> Hello all,
>>>>
>>>> I'm reaching out because I can't seem to find a solution myself.
>>>>
>>>> TLDR If you can get a backtrace from building and running
>>>> scratch/whiting/testqmlapp which uses QtWebKit's QML WebView I'd very
>>>> much appreciate it.
>>>
>>> "works" for me http://i.imgur.com/OVgSImV.png
>>>
>>> Cheers,
>>>   Albert
>>>
>>>
>>>>
>>>>
>>>> KAnagram qt4 version from master (before frameworks branch was merged)
>>>> has a qml WebView to show wikipedia data for the current word as a
>>>> hint (obvious hint, but nevertheless). Now that master branch is kf5
>>>> based I've disabled this feature temporarily because on my machine at
>>>> least every time the WebView becomes visible KAnagram crashes. KCrash
>>>> shows two lines of ?? so isn't helpful. gdb kanagram shows no ui
>>>> strangely enough. At any rate I've simplified kanagram's code to a
>>>> base/small set of sources that also crashes when the WebView is shown
>>>> here, and I'd like to see if anyone knows why or can get me a
>>>> backtrace that could help. Note I've built Qt5 myself twice to try to
>>>> get a backtrace, but for some reason when building qt5 from git
>>>> QtWebKit is built as a QtQuick 1 library (placed into qtbase/imports)
>>>> rather than a QtQuick 2 library (placed into qtbase/qml) (If anyone
>>>> can explain why this is the case I'd like to know that also...) so if
>>>> you've built qt5 yourself you probably also wont be able to run this
>>>> test app. If I can't solve this crash I'll simply disable this feature
>>>> for the 14.12 release and look at it again once Qt 5.4 is released,
>>>> which will have a Blink based WebEngine or something to try it with
>>>> I'm told.
>>>>
>>>> thanks,
>>>> Jeremy
>>>> _______________________________________________
>>>> kde-edu mailing list
>>>> kde-edu at mail.kde.org
>>>> https://mail.kde.org/mailman/listinfo/kde-edu
>>>
>>> _______________________________________________
>>> Kde-frameworks-devel mailing list
>>> Kde-frameworks-devel at kde.org
>>> https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


More information about the Kde-frameworks-devel mailing list