Bug 196025 - Sphere effect fetching non-existing desktop geometry
Summary: Sphere effect fetching non-existing desktop geometry
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: compositing (show other bugs)
Version: 4.2.4
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-11 13:57 UTC by naturopata79
Modified: 2009-07-30 18:03 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description naturopata79 2009-06-11 13:57:42 UTC
Version:            (using KDE 4.2.4)
OS:                Linux
Installed from:    Ubuntu Packages

Aplicación: KWin (kwin), señal SIGSEGV

Thread 1 (Thread 0xb54ce730 (LWP 16464)):
[KCrash Handler]
#6  KWin::Workspace::clientArea (this=0x949b450, opt=KWin::FullArea, screen=0, desktop=156178936) at /usr/include/qt4/QtCore/qvector.h:117
#7  0xb809d093 in KWin::EffectsHandlerImpl::clientArea (this=0x95eb108, opt=KWin::FullArea, screen=0, desktop=156178936) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects.cpp:627
#8  0xb3218a9a in KWin::SphereEffect::paintCapStep (this=0x94f1910, z=484.974213, zTexture=840, texture=false) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects/sphere.cpp:166
#9  0xb3205686 in KWin::CubeEffect::paintCap (this=0x94f1910, z=484.974213, zTexture=840) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects/cube.cpp:788
#10 0xb3219129 in KWin::SphereEffect::paintCap (this=0x94f1910, z=484.974213, zTexture=840) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects/sphere.cpp:159
#11 0xb32061fe in KWin::CubeEffect::paintScene (this=0x94f1910, mask=112, region={d = 0xbfaed45c, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbfaed9c8) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects/cube.cpp:671
#12 0xb3207b00 in KWin::CubeEffect::paintScreen (this=0x94f1910, mask=112, region={d = 0xbfaed4b8, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbfaed9c8) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects/cube.cpp:343
#13 0xb809e3ff in KWin::EffectsHandlerImpl::paintScreen (this=0x95eb108, mask=112, region=
        {d = 0xbfaed4f8, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, data=@0xbfaed9c8) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects.cpp:122
#14 0xb7fd43b6 in KWin::Effect::paintScreen (this=0x991de00, mask=112, region={d = 0xbfaed538, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbfaed9c8) at /build/buildd/kdebase-workspace-4.2.2/kwin/lib/kwineffects.cpp:199
#15 0xb809e3ff in KWin::EffectsHandlerImpl::paintScreen (this=0x95eb108, mask=112, region=
        {d = 0xbfaed79c, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, data=@0xbfaed9c8) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects.cpp:122
#16 0xb32026b5 in KWin::CoverSwitchEffect::paintScreen (this=0x951fcf0, mask=112, region={d = 0xbfaed7e8, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbfaed9c8) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects/coverswitch.cpp:110
#17 0xb809e3ff in KWin::EffectsHandlerImpl::paintScreen (this=0x95eb108, mask=112, region=
        {d = 0xbfaed828, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, data=@0xbfaed9c8) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects.cpp:122
#18 0xb7fd43b6 in KWin::Effect::paintScreen (this=0x962b148, mask=112, region={d = 0xbfaed868, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbfaed9c8) at /build/buildd/kdebase-workspace-4.2.2/kwin/lib/kwineffects.cpp:199
#19 0xb809e3ff in KWin::EffectsHandlerImpl::paintScreen (this=0x95eb108, mask=112, region=
        {d = 0xbfaed8a8, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, data=@0xbfaed9c8) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects.cpp:122
#20 0xb7fd43b6 in KWin::Effect::paintScreen (this=0x95dc1f8, mask=112, region={d = 0xbfaed8e8, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbfaed9c8) at /build/buildd/kdebase-workspace-4.2.2/kwin/lib/kwineffects.cpp:199
#21 0xb809e3ff in KWin::EffectsHandlerImpl::paintScreen (this=0x95eb108, mask=112, region=
        {d = 0xbfaed93c, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, data=@0xbfaed9c8) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects.cpp:122
#22 0xb31f78ed in KWin::ZoomEffect::paintScreen (this=0x9523d48, mask=112, region={d = 0xbfaed988, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbfaed9c8) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects/zoom.cpp:73
#23 0xb809e3ff in KWin::EffectsHandlerImpl::paintScreen (this=0x95eb108, mask=112, region=
        {d = 0xbfaeda20, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, data=@0xbfaed9c8) at /build/buildd/kdebase-workspace-4.2.2/kwin/effects.cpp:122
#24 0xb808a510 in KWin::Scene::paintScreen (this=0x953e168, mask=0xbfaedaa4, region=0xbfaedb64) at /build/buildd/kdebase-workspace-4.2.2/kwin/scene.cpp:133
#25 0xb80964ba in KWin::SceneOpenGL::paint (this=0x953e168, damage={d = 0xbfaedb64, static shared_empty = {ref = {_q_value = 173}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, toplevels=
        {{p = {static shared_null = {ref = {_q_value = 3489}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0xbfaedb60}, d = 0xbfaedb60}})
    at /build/buildd/kdebase-workspace-4.2.2/kwin/scene_opengl.cpp:724
#26 0xb8085806 in KWin::Workspace::performCompositing (this=0x949b450) at /build/buildd/kdebase-workspace-4.2.2/kwin/composite.cpp:384
#27 0xb8020bad in KWin::Workspace::qt_metacall (this=0x949b450, _c=QMetaObject::InvokeMetaMethod, _id=140, _a=0xbfaedc38)
    at /build/buildd/kdebase-workspace-4.2.2/obj-i486-linux-gnu/kwin/workspace.moc:446
#28 0xb6e6eca8 in QMetaObject::activate (sender=0x949b6a4, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3069
#29 0xb6e6f932 in QMetaObject::activate (sender=0x949b6a4, m=0xb6f4b904, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3143
#30 0xb6eaa717 in QTimer::timeout (this=0x949b6a4) at .moc/release-shared/moc_qtimer.cpp:128
#31 0xb6e746fe in QTimer::timerEvent (this=0x949b6a4, e=0xbfaee0dc) at kernel/qtimer.cpp:261
#32 0xb6e6915f in QObject::event (this=0x949b6a4, e=0xbfaee0dc) at kernel/qobject.cpp:1082
#33 0xb7106e9c in QApplicationPrivate::notify_helper (this=0x93bcab8, receiver=0x949b6a4, e=0xbfaee0dc) at kernel/qapplication.cpp:4084
#34 0xb710f19e in QApplication::notify (this=0xbfaee3b8, receiver=0x949b6a4, e=0xbfaee0dc) at kernel/qapplication.cpp:3631
#35 0xb7e1594d in KApplication::notify (this=0xbfaee3b8, receiver=0x949b6a4, event=0xbfaee0dc) at /build/buildd/kde4libs-4.2.2/kdeui/kernel/kapplication.cpp:307
#36 0xb80362ed in KWin::Application::notify (this=0xbfaee3b8, o=0x949b6a4, e=0xbfaee0dc) at /build/buildd/kdebase-workspace-4.2.2/kwin/main.cpp:368
#37 0xb6e58a3b in QCoreApplication::notifyInternal (this=0xbfaee3b8, receiver=0x949b6a4, event=0xbfaee0dc) at kernel/qcoreapplication.cpp:602
#38 0xb6e87d71 in QTimerInfoList::activateTimers (this=0x93bfc34) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#39 0xb6e844e0 in timerSourceDispatch (source=0x93bfc00) at kernel/qeventdispatcher_glib.cpp:164
#40 0xb6547b88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#41 0xb654b0eb in ?? () from /usr/lib/libglib-2.0.so.0
#42 0xb654b268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#43 0xb6e84438 in QEventDispatcherGlib::processEvents (this=0x93aa610, flags={i = -1079057832}) at kernel/qeventdispatcher_glib.cpp:323
#44 0xb71a8365 in QGuiEventDispatcherGlib::processEvents (this=0x93aa610, flags={i = -1079057784}) at kernel/qguieventdispatcher_glib.cpp:202
#45 0xb6e5706a in QEventLoop::processEvents (this=0xbfaee300, flags={i = -1079057720}) at kernel/qeventloop.cpp:149
#46 0xb6e574aa in QEventLoop::exec (this=0xbfaee300, flags={i = -1079057656}) at kernel/qeventloop.cpp:200
#47 0xb6e59959 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880
#48 0xb7106d17 in QApplication::exec () at kernel/qapplication.cpp:3553
#49 0xb803a182 in kdemain (argc=3, argv=0xbfaee594) at /build/buildd/kdebase-workspace-4.2.2/kwin/main.cpp:519
#50 0x08048732 in main (argc=-1285109852, argv=0xb35f8008) at /build/buildd/kdebase-workspace-4.2.2/obj-i486-linux-gnu/kwin/kwin_dummy.cpp:3
Comment 1 lucas 2009-06-11 14:02:59 UTC
Looks like sphere is trying to get the geometry of desktop 156178936.
Comment 2 Martin Flöser 2009-06-11 15:02:34 UTC
how to reproduce the crash? Do I have to do something special? How many desktops are you using? Is it reproducable when you change the number of desktops?
Comment 3 A. Spehr 2009-06-12 00:26:50 UTC
Translation into Spanish, courtesy of http://translate.google.com
Cómo reproducir el accidente? ¿Tengo que hacer algo especial? ¿Cuántos 
 equipos de sobremesa se usa? Reproducable es cuando cambia el número de 
 equipos de sobremesa?

Use both English and Spanish, perhaps? Typically, reports are english only. Thanks! Uso Inglés y Español, tal vez? Normalmente, los informes se Inglés solamente. Gracias!
Comment 4 Martin Flöser 2009-07-30 17:23:46 UTC
(In reply to comment #1)
> Looks like sphere is trying to get the geometry of desktop 156178936.
Looks like access to uninitialized memory. I'll check if it is still valid for 4.3
Comment 5 Martin Flöser 2009-07-30 18:01:29 UTC
SVN commit 1004621 by graesslin:

Initialize a variable, which could be read before it has been written to in a very, very unlikely case, with a useful value.
CCBUG: 196025

 M  +1 -0      cube.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1004621
Comment 6 Martin Flöser 2009-07-30 18:03:04 UTC
This is fixed in 4.3. It's very, very, very unlikely that the variable could be uninitialized (only in case setActive is called after paintScreen but before paintWindow).