yuq / mesa-lima

Deprecated, new place: https://gitlab.freedesktop.org/lima
https://github.com/yuq/mesa-lima/wiki
165 stars 18 forks source link

Lima crashes when trying to start kwin_wayland #49

Open shadeslayer opened 6 years ago

shadeslayer commented 6 years ago

Tried to start kwin_wayland with lima, managed to crash the driver

#0  0x0000ffff8e1335d8 in lima_update_textures (ctx=ctx@entry=0xaaab07d7ba60) at ../../../../.././src/gallium/drivers/lima/lima_texture.c:192
#1  0x0000ffff8e12dde0 in lima_draw_vbo (pctx=<optimized out>, info=0xffffe9427ec8) at ../../../../.././src/gallium/drivers/lima/lima_draw.c:957
#2  0x0000ffff8e0d6c40 in u_vbuf_draw_vbo (mgr=0xaaab07da7620, info=0xffffe9427ec8) at ../../../.././src/gallium/auxiliary/util/u_vbuf.c:1150
#3  0x0000ffff8decf240 in st_draw_vbo (ctx=<optimized out>, prims=<optimized out>, nr_prims=<optimized out>, ib=0x0, index_bounds_valid=<optimized out>, min_index=<optimized out>, max_index=<optimized out>, tfb_vertcount=<optimized out>, stream=<optimized out>, indirect=<optimized out>) at ../../.././src/mesa/state_tracker/st_draw.c:230
#4  0x0000ffff8de8dd1c in vbo_draw_arrays (ctx=0xffff8eb53010, mode=4, start=0, count=6, numInstances=1, baseInstance=0, drawID=0)
    at ../../.././src/mesa/vbo/vbo_exec_array.c:486
#5  0x0000ffff94ba0efc in KWin::GLVertexBuffer::draw(QRegion const&, unsigned int, int, int, bool) (this=0xaaab07d97f90, region=..., primitiveMode=4, first=0, count=6, hardwareClipping=false) at /home/neon/src/kde/KWin/libkwineffects/kwinglutils.cpp:2201
#6  0x0000ffff94ba0b80 in KWin::GLVertexBuffer::render(QRegion const&, unsigned int, bool) (this=0xaaab07d97f90, region=..., primitiveMode=4, hardwareClipping=false)
    at /home/neon/src/kde/KWin/libkwineffects/kwinglutils.cpp:2153
#7  0x0000ffff94ba0b00 in KWin::GLVertexBuffer::render(unsigned int) (this=0xaaab07d97f90, primitiveMode=4) at /home/neon/src/kde/KWin/libkwineffects/kwinglutils.cpp:2147
#8  0x0000ffff8eb8f004 in KWin::SceneOpenGL2::doPaintBackground(QVector<float> const&) (this=0xaaab07d6a5b0, vertices=...)
    at /home/neon/src/kde/KWin/plugins/scenes/opengl/scene_opengl.cpp:1093
#9  0x0000ffff8eb8c994 in KWin::SceneOpenGL::paintBackground(QRegion) (this=0xaaab07d6a5b0, region=...)
    at /home/neon/src/kde/KWin/plugins/scenes/opengl/scene_opengl.cpp:802
#10 0x0000ffff968ab06c in KWin::Scene::paintSimpleScreen(int, QRegion) (this=0xaaab07d6a5b0, orig_mask=0, region=...) at /home/neon/src/kde/KWin/scene.cpp:365
#11 0x0000ffff8eb8ee10 in KWin::SceneOpenGL2::paintSimpleScreen(int, QRegion) (this=0xaaab07d6a5b0, mask=0, region=...)
    at /home/neon/src/kde/KWin/plugins/scenes/opengl/scene_opengl.cpp:1071
#12 0x0000ffff968aa29c in KWin::Scene::finalPaintScreen(int, QRegion, KWin::ScreenPaintData&) (this=0xaaab07d6a5b0, mask=0, region=..., data=...)
    at /home/neon/src/kde/KWin/scene.cpp:201
#13 0x0000ffff968c4190 in KWin::EffectsHandlerImpl::paintScreen(int, QRegion, KWin::ScreenPaintData&) (this=0xaaab0867a4d0, mask=0, region=..., data=...)
    at /home/neon/src/kde/KWin/effects.cpp:379
#14 0x0000ffff965dda40 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData&) (this=0xaaab086db0c0, mask=0, region=..., data=...)
    at /home/neon/src/kde/KWin/libkwineffects/kwineffects.cpp:583
#15 0x0000ffff968c4144 in KWin::EffectsHandlerImpl::paintScreen(int, QRegion, KWin::ScreenPaintData&) (this=0xaaab0867a4d0, mask=0, region=..., data=...)
    at /home/neon/src/kde/KWin/effects.cpp:376
#16 0x0000ffff968a9f30 in KWin::Scene::paintScreen(int*, QRegion const&, QRegion const&, QRegion*, QRegion*, QMatrix4x4 const&, QRect const&) (this=0xaaab07d6a5b0, mask=0xffffe94285a8, damage=..., repaint=..., updateRegion=0xffffe94285c8, validRegion=0xffffe94285d0, projection=..., outputGeometry=...) at /home/neon/src/kde/KWin/scene.cpp:151
#17 0x0000ffff8eb8bde4 in KWin::SceneOpenGL::paint(QRegion, QList<KWin::Toplevel*>) (this=0xaaab07d6a5b0, damage=..., toplevels=...)
    at /home/neon/src/kde/KWin/plugins/scenes/opengl/scene_opengl.cpp:677
#18 0x0000ffff9689c228 in KWin::Compositor::performCompositing() (this=0xaaab07d615f0) at /home/neon/src/kde/KWin/composite.cpp:745
#19 0x0000ffff9689b99c in KWin::Compositor::timerEvent(QTimerEvent*) (this=0xaaab07d615f0, te=0xffffe9428b30) at /home/neon/src/kde/KWin/composite.cpp:628
#20 0x0000ffff95a43380 in QObject::event(QEvent*) () at /usr/lib/aarch64-linux-gnu/libQt5Core.so.5
#21 0x0000ffff95df7cb0 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/aarch64-linux-gnu/libQt5Widgets.so.5
#22 0x0000ffff95dff960 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/aarch64-linux-gnu/libQt5Widgets.so.5
#23 0x0000ffff95a11f78 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/aarch64-linux-gnu/libQt5Core.so.5
#24 0x0000ffff95a6e784 in QTimerInfoList::activateTimers() () at /usr/lib/aarch64-linux-gnu/libQt5Core.so.5
#25 0x0000ffff95a6c424 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/aarch64-linux-gnu/libQt5Core.so.5
#26 0x0000ffff8fe4a79c in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/aarch64-linux-gnu/qt5/plugins/platforms/KWinQpaPlugin.so
#27 0x0000ffff95a0fca0 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/aarch64-linux-gnu/libQt5Core.so.5
#28 0x0000ffff95a1936c in QCoreApplication::exec() () at /usr/lib/aarch64-linux-gnu/libQt5Core.so.5
#29 0x0000aaaad2bcd66c in main(int, char**) (argc=3, argv=0xffffe9429148) at /home/neon/src/kde/KWin/main_wayland.cpp:828
shadeslayer commented 6 years ago

Within lima_update_textures():

(gdb) print lima_tex->num_textures 
$11 = 0

So perhaps we need a check before?