Bug 279637

Summary: KWin Crashes on Start-Up
Product: [Plasma] kwin Reporter: Wedge009 <wedge009>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Wedge009 2011-08-08 08:36:39 UTC
Application: kwin (4.7.00 (4.7.0))
KDE Platform Version: 4.7.00 (4.7.0)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-10-generic i686
Distribution: Ubuntu 10.04.1 LTS

-- Information about the crash:
- What I was doing when the application crashed:

Have compositing set to enable on start-up and restart the system after upgrading to KDE 4.7.0. The crash is consistent on this particular system, which is an ancient laptop with a Radeon Mobility 7500, but re-enabling compositing after the start-up process has finished seems to work just fine thereafter.

I suspect this issue may be to do with thread timing that is exposed more in older or less capable graphics hardware. I upgraded to KDE 4.7.0 on several other systems including:

* A reasonably recent laptop with Radeon Mobility HD2600 and open-source radeon driver: Compositing effects seem to work without issues on start-up or during normal use.
* An ancient desktop with GeForce 9500 GT using proprietary nvidia-current driver: Compositing effects seem to work without issues on start-up or during normal use.
* A very recent netbook with Atom N455: Compositing effects sometimes work after start-up, but often KWin crashes. Nonetheless, manually re-enabling compositing seems to be okay, and overall performance is a huge improvement over KDE 4.6.x.
* An office desktop running VMWare: KWin crashes on start-up and fails when attempting to re-enable compositing manually, even after re-installing VMWare supplemental drivers for Linux. KWin with compositing worked wonderfully on KDE 4.6.x, but this issue is probably separate to the one I'm reporting here, and not high priority.

I am not sure, but I think this bug may be a duplicate of 278838.

I am willing to provide further feedback and perform testing for this issue, as best as I am able.

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin), signal: Aborted
[Current thread is 1 (Thread 0xb77f0720 (LWP 1387))]

Thread 2 (Thread 0xb512fb70 (LWP 1408)):
#0  0x005a3416 in __kernel_vsyscall ()
#1  0x0630148c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x003d73fd in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x00f8e817 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x10a21c0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#4  0x00f8e851 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x10a21c0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#5  0x062fce99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#6  0x003c973e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb77f0720 (LWP 1387)):
[KCrash Handler]
#7  0x005a3416 in __kernel_vsyscall ()
#8  0x00323e71 in raise () from /lib/i386-linux-gnu/libc.so.6
#9  0x0032734e in abort () from /lib/i386-linux-gnu/libc.so.6
#10 0x0031c888 in __assert_fail () from /lib/i386-linux-gnu/libc.so.6
#11 0x047f76e7 in bind_inputs (ctx=0xa0524c0, arrays=0xa092af8, prim=0xbf91c148, nr_prims=1, ib=0x0, min_index=0, max_index=5) at tnl/t_draw.c:288
#12 _tnl_draw_prims (ctx=0xa0524c0, arrays=0xa092af8, prim=0xbf91c148, nr_prims=1, ib=0x0, min_index=0, max_index=5) at tnl/t_draw.c:514
#13 0x047f77e9 in _tnl_vbo_draw_prims (ctx=0xa0524c0, arrays=0xa092af8, prim=0xbf91c148, nr_prims=1, ib=0x0, index_bounds_valid=1 '\001', min_index=0, max_index=5) at tnl/t_draw.c:424
#14 0x047eb8bc in vbo_draw_arrays (ctx=0xa0524c0, mode=<value optimized out>, start=0, count=6, numInstances=1) at vbo/vbo_exec_array.c:588
#15 0x001c59ea in KWin::GLVertexBufferPrivate::fallbackPainting (this=0xa0f8048, region=..., primitiveMode=4) at ../../../kwin/libkwineffects/kwinglutils.cpp:1633
#16 0x001c747f in KWin::GLVertexBuffer::render (this=0xa0447c8, region=..., primitiveMode=4) at ../../../kwin/libkwineffects/kwinglutils.cpp:1716
#17 0x001c7563 in KWin::GLVertexBuffer::render (this=0xa0447c8, primitiveMode=4) at ../../../kwin/libkwineffects/kwinglutils.cpp:1706
#18 0x002b3a30 in KWin::SceneOpenGL::paintBackground (this=0xa0478b0, region=...) at ../../kwin/scene_opengl.cpp:206
#19 0x0029d854 in KWin::Scene::paintSimpleScreen (this=0xa0478b0, orig_mask=0, region=...) at ../../kwin/scene.cpp:286
#20 0x0029b959 in KWin::Scene::finalPaintScreen (this=0xa0478b0, mask=0, region=..., data=...) at ../../kwin/scene.cpp:177
#21 0x002c2d0c in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:215
#22 0x04256699 in KWin::StartupFeedbackEffect::paintScreen (this=0xa141228, mask=0, region=..., data=...) at ../../../kwin/effects/startupfeedback/startupfeedback.cpp:174
#23 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#24 0x0421a259 in KWin::WindowGeometry::paintScreen (this=0xa11fd38, mask=0, region=..., data=...) at ../../../kwin/effects/windowgeometry/windowgeometry.cpp:83
#25 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#26 0x041db4b6 in KWin::OutlineEffect::paintScreen (this=0xa129148, mask=0, region=..., data=...) at ../../../kwin/effects/outline/outline.cpp:44
#27 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#28 0x001ba6a6 in KWin::Effect::paintScreen (this=0xa15caa0, mask=0, region=..., data=...) at ../../../kwin/libkwineffects/kwineffects.cpp:142
#29 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#30 0x04220a5f in KWin::LogoutEffect::paintScreen (this=0xa13a6b8, mask=0, region=..., data=...) at ../../../kwin/effects/logout/logout.cpp:200
#31 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#32 0x001ba6a6 in KWin::Effect::paintScreen (this=0xa11ee00, mask=0, region=..., data=...) at ../../../kwin/libkwineffects/kwineffects.cpp:142
#33 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#34 0x001ba6a6 in KWin::Effect::paintScreen (this=0xa144c60, mask=0, region=..., data=...) at ../../../kwin/libkwineffects/kwineffects.cpp:142
#35 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#36 0x041db836 in KWin::PresentWindowsEffect::paintScreen (this=0xa14e8c8, mask=0, region=..., data=...) at ../../../kwin/effects/presentwindows/presentwindows.cpp:216
#37 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#38 0x001ba6a6 in KWin::Effect::paintScreen (this=0xa1370c8, mask=0, region=..., data=...) at ../../../kwin/libkwineffects/kwineffects.cpp:142
#39 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#40 0x001ba6a6 in KWin::Effect::paintScreen (this=0xa1558e8, mask=0, region=..., data=...) at ../../../kwin/libkwineffects/kwineffects.cpp:142
#41 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#42 0x04247775 in KWin::FlipSwitchEffect::paintScreen (this=0xa0ffb48, mask=0, region=..., data=...) at ../../../kwin/effects/flipswitch/flipswitch.cpp:149
#43 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#44 0x042421b0 in KWin::CubeSlideEffect::paintScreen (this=0xa13a708, mask=0, region=..., data=...) at ../../../kwin/effects/cube/cubeslide.cpp:117
#45 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#46 0x041fa719 in KWin::DesktopGridEffect::paintScreen (this=0xa14d2e8, mask=0, region=..., data=...) at ../../../kwin/effects/desktopgrid/desktopgrid.cpp:161
#47 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#48 0x042363dc in KWin::CubeEffect::paintScreen (this=0xa145ad0, mask=0, region=..., data=...) at ../../../kwin/effects/cube/cube.cpp:578
#49 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#50 0x001ba6a6 in KWin::Effect::paintScreen (this=0xa143068, mask=0, region=..., data=...) at ../../../kwin/libkwineffects/kwineffects.cpp:142
#51 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#52 0x001ba6a6 in KWin::Effect::paintScreen (this=0xa14d528, mask=0, region=..., data=...) at ../../../kwin/libkwineffects/kwineffects.cpp:142
#53 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#54 0x041f3c69 in KWin::BoxSwitchEffect::paintScreen (this=0xa159800, mask=0, region=..., data=...) at ../../../kwin/effects/boxswitch/boxswitch.cpp:137
#55 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#56 0x001ba6a6 in KWin::Effect::paintScreen (this=0xa1555e8, mask=0, region=..., data=...) at ../../../kwin/libkwineffects/kwineffects.cpp:142
#57 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#58 0x0422a905 in KWin::CoverSwitchEffect::paintScreen (this=0xa14df88, mask=0, region=..., data=...) at ../../../kwin/effects/coverswitch/coverswitch.cpp:136
#59 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#60 0x001ba6a6 in KWin::Effect::paintScreen (this=0xa151228, mask=0, region=..., data=...) at ../../../kwin/libkwineffects/kwineffects.cpp:142
#61 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#62 0x001ba6a6 in KWin::Effect::paintScreen (this=0xa1238d0, mask=0, region=..., data=...) at ../../../kwin/libkwineffects/kwineffects.cpp:142
#63 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#64 0x001ba6a6 in KWin::Effect::paintScreen (this=0xa14d3d0, mask=0, region=..., data=...) at ../../../kwin/libkwineffects/kwineffects.cpp:142
#65 0x002c2d82 in KWin::EffectsHandlerImpl::paintScreen (this=0xa0f6ef0, mask=0, region=..., data=...) at ../../kwin/effects.cpp:212
#66 0x0029cbac in KWin::Scene::paintScreen (this=0xa0478b0, mask=0xbf91e388, region=0xbf91e42c) at ../../kwin/scene.cpp:136
#67 0x002b7532 in KWin::SceneOpenGL::paint (this=0xa0478b0, damage=..., toplevels=...) at ../../kwin/scene_opengl_glx.cpp:455
#68 0x00298235 in KWin::Workspace::performCompositing (this=0x9f364e0) at ../../kwin/composite.cpp:427
#69 0x03367214 in QObject::event (this=0x9f364e0, e=0xbf91e94c) at kernel/qobject.cpp:1190
#70 0x04b34d24 in QApplicationPrivate::notify_helper (this=0x9dfb370, receiver=0x9f364e0, e=0xbf91e94c) at kernel/qapplication.cpp:4462
#71 0x04b398ce in QApplication::notify (this=0xbf91ec60, receiver=0x9f364e0, e=0xbf91e94c) at kernel/qapplication.cpp:3862
#72 0x00c3093a in KApplication::notify (this=0xbf91ec60, receiver=0x9f364e0, event=0xbf91e94c) at ../../kdeui/kernel/kapplication.cpp:311
#73 0x0022993f in KWin::Application::notify (this=0xbf91ec60, o=0x9f364e0, e=0xbf91e94c) at ../../kwin/main.cpp:365
#74 0x033520bb in QCoreApplication::notifyInternal (this=0xbf91ec60, receiver=0x9f364e0, event=0xbf91e94c) at kernel/qcoreapplication.cpp:731
#75 0x033821e4 in sendEvent (this=0x9dfe520) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#76 QTimerInfoList::activateTimers (this=0x9dfe520) at kernel/qeventdispatcher_unix.cpp:604
#77 0x03382338 in QEventDispatcherUNIX::processEvents (this=0x9dfae28, flags=...) at kernel/qeventdispatcher_unix.cpp:923
#78 0x04bec25a in QEventDispatcherX11::processEvents (this=0x9dfae28, flags=...) at kernel/qeventdispatcher_x11.cpp:152
#79 0x03351289 in QEventLoop::processEvents (this=0xbf91eba4, flags=...) at kernel/qeventloop.cpp:149
#80 0x03351522 in QEventLoop::exec (this=0xbf91eba4, flags=...) at kernel/qeventloop.cpp:201
#81 0x03355ecc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#82 0x04b328e7 in QApplication::exec () at kernel/qapplication.cpp:3736
#83 0x0022c593 in kdemain (argc=1, argv=0xbf91eed4) at ../../kwin/main.cpp:514
#84 0x080485bb in main (argc=1, argv=0xbf91eed4) at kwin_dummy.cpp:3

This bug may be a duplicate of or related to bug 278838.

Possible duplicates by query: bug 278838.

Reported using DrKonqi
Comment 1 Thomas Lübking 2011-08-08 11:52:56 UTC
yes, is dupe. no. is not threading but (apparently) a bug in the mesa vertex buffer object code - just "gg bind_inputs segfault"

The virtualbox issue is known. Compositing shouldn't be enabled in virtualbox since the software renderer doesn't work - this "blacklisting" was turned off by accident.

No idea about the N455 - but there're several known bugs & issues with the intel GL implementation. You'll have to file a bug for such crash (alongside the backtrace of course) for further investigation.
Most annoying bug here is bug #252817
Have a look, check whether the workaround (not suspending fulsscreen windows) works for you.
But, good god: do not post a "me too" to that report ;-)

*** This bug has been marked as a duplicate of bug 278838 ***
Comment 2 Wedge009 2011-08-08 12:51:16 UTC
Thanks again for the information. Does that mean the bug is in the Mesa libraries?

I understand that a virtual machine is probably not the best place to be playing around with compositing, but VirtualBox is not the same as VMWare, as far as I know, and as I said, it was working (at least the basic features) quite nicely in 4.6.x. To have it disabled completely in 4.7.0 is a bit of a let-down.

I'm not too fussed about the Intel implementation, but if it becomes too annoying, I may try obtaining a stack trace on the N455. When it does crash, it's only at the start-up and there doesn't seem to be further issues after manually re-enabling compositing. I'm certainly not going to add to that bug report you mentioned.