Bug 321537 - Kwin crashes when using wine applications
Summary: Kwin crashes when using wine applications
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 4.10.80
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL: https://git.reviewboard.kde.org/r/111...
Keywords:
: 321740 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-06-23 17:19 UTC by auxsvr
Modified: 2013-06-29 07:21 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.11
thomas.luebking: ReviewRequest+


Attachments
output of qdbus org.kde.kwin /KWin supportInformation (4.41 KB, text/plain)
2013-06-23 20:10 UTC, auxsvr
Details

Note You need to log in before you can comment on or make changes to this bug.
Description auxsvr 2013-06-23 17:19:13 UTC
Application: kwin (4.10.80)
KDE Platform Version: 4.10.80
Qt Version: 4.8.4
Operating System: Linux 3.7.10-1.16-desktop i686
Distribution: "openSUSE 12.3 (i586)"

-- Information about the crash:
- What I was doing when the application crashed:
It always crashes either when the application starts or when it exits.
- Unusual behavior I noticed:
Kwin crashes and the plasma desktop appears momentarily.
- Custom settings of the application:
I have configured kwin to automatically stop compositing on starting wine applications, and it crashes regardless of the setting.

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin), signal: Segmentation fault
Using host libthread_db library "/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0xb0fa8980 (LWP 31990))]

Thread 2 (Thread 0xac902b40 (LWP 32008)):
#0  0xb5cbe792 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0xb747a85c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#2  0xb6e9b24d in ?? () from /usr/lib/libQtScript.so.4
#3  0xb6e9b27f in ?? () from /usr/lib/libQtScript.so.4
#4  0xb5cbab5e in start_thread () from /lib/libpthread.so.0
#5  0xb746d16e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb0fa8980 (LWP 31990)):
[KCrash Handler]
#6  KWin::Scene::paintSimpleScreen (this=this@entry=0xa3a4200, orig_mask=orig_mask@entry=0, region=...) at /usr/src/debug/kde-workspace-4.10.80/kwin/scene.cpp:897
#7  0xb75cabe3 in KWin::Scene::finalPaintScreen (this=0xa3a4200, mask=0, region=..., data=...) at /usr/src/debug/kde-workspace-4.10.80/kwin/scene.cpp:184
#8  0xb75f5ea3 in KWin::EffectsHandlerImpl::paintScreen (this=0xa65e788, mask=0, region=..., data=...) at /usr/src/debug/kde-workspace-4.10.80/kwin/effects.cpp:372
#9  0xb75cd662 in KWin::Scene::paintScreen (this=0xa3a4200, mask=0xbfa0ebbc, region=0xbfa0ec18) at /usr/src/debug/kde-workspace-4.10.80/kwin/scene.cpp:141
#10 0xb75e8125 in KWin::SceneOpenGL::paint (this=this@entry=0xa3a4200, damage=..., toplevels=...) at /usr/src/debug/kde-workspace-4.10.80/kwin/scene_opengl.cpp:360
#11 0xb75e843a in KWin::SceneOpenGL1::paint (this=0xa3a4200, damage=..., windows=...) at /usr/src/debug/kde-workspace-4.10.80/kwin/scene_opengl.cpp:824
#12 0xb75c4680 in KWin::Compositor::performCompositing (this=this@entry=0x9f66808) at /usr/src/debug/kde-workspace-4.10.80/kwin/composite.cpp:617
#13 0xb75c5346 in KWin::Compositor::slotCompositingOptionsInitialized (this=this@entry=0x9f66808) at /usr/src/debug/kde-workspace-4.10.80/kwin/composite.cpp:273
#14 0xb75c5c45 in setup (this=0x9f66808) at /usr/src/debug/kde-workspace-4.10.80/kwin/composite.cpp:160
#15 KWin::Compositor::setup (this=0x9f66808) at /usr/src/debug/kde-workspace-4.10.80/kwin/composite.cpp:132
#16 0xb7543c91 in qt_static_metacall (_a=0xa5bb6e0, _id=6, _o=0x9f66808, _c=<optimized out>) at /usr/src/debug/kde-workspace-4.10.80/build/kwin/moc_composite.cpp:184
#17 KWin::Compositor::qt_static_metacall (_o=0x9f66808, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0xa5bb6e0) at /usr/src/debug/kde-workspace-4.10.80/build/kwin/moc_composite.cpp:172
#18 0xb5e6164a in QMetaCallEvent::placeMetaCall (this=0xa857830, object=0x9f66808) at kernel/qobject.cpp:524
#19 0xb5e65bab in QObject::event (this=0x9f66808, e=0xa857830) at kernel/qobject.cpp:1203
#20 0xb531ebac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#21 0xb53235cc in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#22 0xb6acebe1 in KApplication::notify (this=0xbfa0f778, receiver=0x9f66808, event=0xa857830) at /usr/src/debug/kdelibs-4.10.80/kdeui/kernel/kapplication.cpp:311
#23 0xb756fadf in notify (e=0xa857830, o=0x9f66808, this=0xbfa0f778) at /usr/src/debug/kde-workspace-4.10.80/kwin/main.cpp:423
#24 KWin::Application::notify (this=0xbfa0f778, o=0x9f66808, e=0xa857830) at /usr/src/debug/kde-workspace-4.10.80/kwin/main.cpp:419
#25 0xb5e4f8ce in QCoreApplication::notifyInternal (this=0xbfa0f778, receiver=0x9f66808, event=0xa857830) at kernel/qcoreapplication.cpp:946
#26 0xb5e53621 in sendEvent (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.h:231
#27 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x9dcc130) at kernel/qcoreapplication.cpp:1570
#28 0xb5e5389c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1463
#29 0xb53d132d in ?? () from /usr/lib/libQtGui.so.4
#30 0xb5e4e39c in QEventLoop::processEvents (this=this@entry=0xbfa0f5f8, flags=...) at kernel/qeventloop.cpp:149
#31 0xb5e4e691 in QEventLoop::exec (this=0xbfa0f5f8, flags=...) at kernel/qeventloop.cpp:204
#32 0xb5e5394a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#33 0xb531ca24 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#34 0xb7572571 in kdemain (argc=3, argv=0xbfa0f864) at /usr/src/debug/kde-workspace-4.10.80/kwin/main.cpp:591
#35 0x080485bb in main (argc=3, argv=0xbfa0f864) at /usr/src/debug/kde-workspace-4.10.80/build/kwin/kwin_dummy.cpp:3

Possible duplicates by query: bug 321352, bug 320829, bug 320786, bug 320589, bug 320354.

Reported using DrKonqi
Comment 1 Thomas Lübking 2013-06-23 17:39:14 UTC
#6  KWin::Scene::paintSimpleScreen (this=this@entry=0xa3a4200, orig_mask=orig_mask@entry=0, region=...) at /usr/src/debug/kde-workspace-4.10.80/kwin/scene.cpp:897

That's the end of the source file. Likely memory corruption.
Could be #320589 but that patch is in 4.10.80

> I have configured kwin to automatically stop compositing on starting wine applications, and it crashes regardless of the setting.
It crashes right after the compositor is initialized, ie. this trace would be from after exiting the wine application.

- What does the trace look like when it crashes for suspending compositing (when starting the wine application)
- is the "wine application" a game and does it use opengl?
- does it also happen with (other?) opengl applications and autosuspension (like glxgears?)
- does it happen with one or several wine applications (where multiple mods of the same game do not count as several applications ;-)
- does it happen with xrender compositing?

- please post the output of "qdbus org.kde.kwin /KWin supportInformation"

Also please post backtraces that differ from this one, esp. when the stack is deeper than paintSimpleScreen or the position is around lines 200-300.
Comment 2 auxsvr 2013-06-23 20:10:13 UTC
Created attachment 80739 [details]
output of qdbus org.kde.kwin /KWin supportInformation

I could not reproduce the crash in bug #320589.
Only once did kwin crash during wine launch, perhaps it was because of a transient window that appears when wine is updated.
The wine application is winecfg, it doesn't use opengl as far as I know.
It does happen with emacs, if I enable blocking of compositing. I must have made a mistake previously, if I disable compositing blocking in wine, then the crash stops.
It crashes regardless of using xrender or opengl.
Every backtrace I've seen is identical to this one.
Comment 3 Thomas Lübking 2013-06-23 20:59:41 UTC
Can you try enabling the "Fade" effect and see whether the crash remains reproducible?
Comment 4 Thomas Lübking 2013-06-23 21:02:13 UTC
Scratch that. I can now reproduce it.
Comment 5 Thomas Lübking 2013-06-26 10:42:08 UTC
Git commit 565357b3c55d108858fc94ee11c3b14f4f68d937 by Thomas Lübking.
Committed on 23/06/2013 at 22:13.
Pushed by luebking into branch 'master'.

update composite blocking from deleted, not client

fixing bug by deferring the deletion and removal of the
deleted to the next event cycle had the side effect that
this now happens in the event cycle of the compositor
restart, which was deferred to avoid precisely that...

so the test is now moved to the removal of the deleted
which got an additional flag wasClient to avoid calling
this action for each and every tooltip (and might be usable
elsewise)
FIXED-IN: 4.11
REVIEW: 111204

M  +2    -0    kwin/deleted.cpp
M  +4    -0    kwin/deleted.h
M  +3    -4    kwin/workspace.cpp

http://commits.kde.org/kde-workspace/565357b3c55d108858fc94ee11c3b14f4f68d937
Comment 6 Thomas Lübking 2013-06-29 07:21:02 UTC
*** Bug 321740 has been marked as a duplicate of this bug. ***