https://bugs.kde.org/show_bug.cgi?id=372305

--- Comment #33 from Jiri Palecek <jpale...@web.de> ---
Good news everyone!

I've been experiencing similar crashes, and after finding an easy way to
reproduce, I've been able to dissect it further.

My crash is this:

#4  0xb7eeebb8 in <signal handler called> ()
#5  0xb5878691 in KWin::WindowQuadList::makeInterleavedArrays(unsigned int,
KWin::GLVertex2D*, QMatrix4x4 const&) const (this=0xbfe81d84, type=7,
vertices=0xa94b9b60, textureMatrix=...) at
./libkwineffects/kwineffects.cpp:1171
#6  0xad9b362d in KWin::SceneOpenGL2Window::performPaint(int, QRegion,
KWin::WindowPaintData) (this=0xbfe81fc4, mask=-1075306552, region=...,
data=...) at ./plugins/scenes/opengl/scene_opengl.cpp:1431

also caused by vbo mapping pointing to inaccessible memory.

I reproduced it by putting kwin under stress with this (don't laugh):

( for((;;)); do  qdbus org.kde.kopete /kopete/MainWindow_1
org.qtproject.Qt.QWidget.minimumHeight 100; qdbus org.kde.kopete
/kopete/MainWindow_1 org.qtproject.Qt.QWidget.maximumHeight 100; qdbus
org.kde.kopete /kopete/MainWindow_1 org.qtproject.Qt.QWidget.maximumHeight
16000000; for i in $(seq 1 10); do qdbus org.kde.kopete /kopete/MainWindow_1
org.qtproject.Qt.QWidget.minimumHeight $((i*100)); done; done ) &

and then provoke the crash by cycling the computer through suspend-to-ram:

for i in $(seq 1 60); do rtcwake -m mem -s 30; sleep 20; done

In my experience, kwin crashes within the first 10 iterations if vulnerable to
this particular bug.

With this, I found that:

1) KWIN_PERSISTENT_VBO=0 avoids the crash
2) reinitializing GLVertexBuffer::streamingBuffer while handling graphics reset
also avoids the crash.

I hope with this a way to fix this bug can be found.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to