Bug 182999

Summary: Oxygen crash on Qt4.5 ( Plasma crashes clicking on transparent plasmoid / Kopete random crashes )
Product: [Plasma] Oxygen Reporter: Alexey Chernov <4ernov>
Component: styleAssignee: Camilla Boemann <cbo>
Status: RESOLVED UPSTREAM    
Severity: crash CC: andresbajotierra, long
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Alexey Chernov 2009-02-03 14:24:55 UTC
Version:            (using KDE 4.2.0)
Compiler:          GCC 4.3.2 Target: x86_64-unknown-linux-gnu Configured with:  ../gcc-4.3.2/configure --prefix=/usr --libexecdir=/usr/lib --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++,fortran,objc,treelang --disable-multilib --enable-c99 --enable-long-long Thread model: posix
OS:                Linux
Installed from:    Compiled From Sources

It's connected to bug #182998. When I click on plasmoid which became transparent Plasma sometimes crashes.
Comment 1 Alexey Chernov 2009-02-03 14:25:20 UTC
Crash report:
Приложение: Рабочее пространство Plasma (plasma), сигнал SIGSEGV
Using host libthread_db library "/lib/libthread_db.so.1".
0x00007fe070ca0671 in nanosleep () from /lib/libc.so.6
[Current thread is 0 (LWP 3570)]

Thread 4 (Thread 0x425b2950 (LWP 3593)):
#0  0x00007fe070cc7322 in select () from /lib/libc.so.6
#1  0x00007fe07176d3f9 in QProcessManager::run (this=0x260e060) at io/qprocess_unix.cpp:300
#2  0x00007fe07167ad57 in QThreadPrivate::start (arg=0x260e060) at thread/qthread_unix.cpp:184
#3  0x00007fe0714f4297 in start_thread () from /lib/libpthread.so.0
#4  0x00007fe070ccd70d in clone () from /lib/libc.so.6

Thread 3 (Thread 0x42db3950 (LWP 3597)):
#0  0x00007fe0714f8b69 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe07167b709 in QWaitConditionPrivate::wait (this=0x3253f00, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:82
#2  0x00007fe07167b266 in QWaitCondition::wait (this=0x32332b0, mutex=0x32332a8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:154
#3  0x00007fe0754140a6 in QHostInfoAgent::run (this=0x3233290) at kernel/qhostinfo.cpp:255
#4  0x00007fe07167ad57 in QThreadPrivate::start (arg=0x3233290) at thread/qthread_unix.cpp:184
#5  0x00007fe0714f4297 in start_thread () from /lib/libpthread.so.0
#6  0x00007fe070ccd70d in clone () from /lib/libc.so.6

Thread 2 (Thread 0x41744950 (LWP 3598)):
#0  0x00007fe0714f8b69 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007fe07167b709 in QWaitConditionPrivate::wait (this=0x2a18540, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:82
#2  0x00007fe07167b266 in QWaitCondition::wait (this=0x2a1ab70, mutex=0x2a1ab68, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:154
#3  0x00007fe05647b094 in RenderThread::run (this=0x2a1ab58) at /usr/src/packages/kde4/4.2.0/kdebase-workspace-4.2.0/plasma/wallpapers/image/renderthread.cpp:91
#4  0x00007fe07167ad57 in QThreadPrivate::start (arg=0x2a1ab58) at thread/qthread_unix.cpp:184
#5  0x00007fe0714f4297 in start_thread () from /lib/libpthread.so.0
#6  0x00007fe070ccd70d in clone () from /lib/libc.so.6

Thread 1 (Thread 0x7fe0768dd750 (LWP 3570)):
[KCrash Handler]
#5  0x0000000000000000 in ?? ()
#6  0x00007fe07214e56c in blend_src_generic<RegularSpans> (count=30, spans=0x7fff7e91a3b0, userData=0xa191670) at painting/qdrawhelper.cpp:3371
#7  0x00007fe072154e56 in blend_transformed_tiled_argb<RegularSpans> (count=31, spans=0x7fff7e91a3b0, userData=0xa191670) at painting/qdrawhelper.cpp:6523
#8  0x00007fe0721490cc in qBlendTexture (count=31, spans=0x7fff7e91a3b0, userData=0xa191670) at painting/qdrawhelper.cpp:7208
#9  0x00007fe0721055c8 in QSpanBuffer::flushSpans (this=0x7fff7e91a3b0) at painting/qrasterizer.cpp:100
#10 0x00007fe0721055ed in ~QSpanBuffer (this=0x7fff7e91a3b0) at painting/qrasterizer.cpp:75
#11 0x00007fe072104ec9 in QRasterizer::rasterize (this=0x9cb11c0, path=@0x7fff7e91add0, fillRule=Qt::OddEvenFill) at painting/qrasterizer.cpp:1241
#12 0x00007fe072137f3f in QRasterPaintEngine::fillPath (this=0xa186240, path=@0x7fff7e91b4c0, fillData=0xa191670) at painting/qpaintengine_raster.cpp:1338
#13 0x00007fe07213ef3c in QRasterPaintEngine::drawPath (this=0xa186240, path=@0x7fff7e91b4c0) at painting/qpaintengine_raster.cpp:1855
#14 0x00007fe0720b6d39 in QPainter::drawPath (this=0x7fff7e91b160, path=@0x7fff7e91b4c0) at painting/qpainter.cpp:3107
#15 0x00007fe0720b438d in QPainterPrivate::draw_helper (this=0xa17e880, originalPath=@0x7fff7e91b4c0, op=QPainterPrivate::StrokeAndFillDraw) at painting/qpainter.cpp:453
#16 0x00007fe0720b6996 in QPainter::drawRects (this=0x7fff7e91bae0, rects=0x7fff7e91b690, rectCount=1) at painting/qpainter.cpp:3249
#17 0x00007fe072040134 in QPainter::drawRect (this=0x7fff7e91bae0, rect=@0x7fff7e91b690) at ../../include/QtGui/../../src/gui/painting/qpainter.h:599
#18 0x00007fe0720bc856 in QPainter::drawPixmap (this=0x7fff7e91bae0, r=@0x7fff7e91b7e0, pm=@0x7fff7e91b870, sr=@0x7fff7e91b7c0) at painting/qpainter.cpp:5183
#19 0x00007fe0652600a9 in QPainter::drawPixmap (this=0x7fff7e91bae0, r=@0x7fff7e91b850, pm=@0x7fff7e91b870) at /usr/include/QtGui/qpainter.h:804
#20 0x00007fe06525dc6b in OxygenHelper::renderWindowBackground (this=0x2634970, p=0x7fff7e91bae0, clipRect=@0x7fff7e91bd10, widget=0x2bed8e0, pal=@0x2bde120, y_shift=-23)
    at /usr/src/packages/kde4/4.2.0/kdebase-runtime-4.2.0/kstyles/oxygen/lib/helper.cpp:99
#21 0x00007fe06526cbec in OxygenStyle::eventFilter (this=0x26950f0, obj=0x2bed8e0, ev=0x7fff7e91c690) at /usr/src/packages/kde4/4.2.0/kdebase-runtime-4.2.0/kstyles/oxygen/oxygen.cpp:3484
#22 0x00007fe07179128b in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x2609aa0, receiver=0x2bed8e0, event=0x7fff7e91c690) at kernel/qcoreapplication.cpp:703
#23 0x00007fe071f42c0b in QApplicationPrivate::notify_helper (this=0x2609aa0, receiver=0x2bed8e0, e=0x7fff7e91c690) at kernel/qapplication.cpp:3963
#24 0x00007fe071f44d4d in QApplication::notify (this=0x25ff880, receiver=0x2bed8e0, e=0x7fff7e91c690) at kernel/qapplication.cpp:3932
#25 0x00007fe074ab1773 in KApplication::notify (this=0x25ff880, receiver=0x2bed8e0, event=0x7fff7e91c690) at /usr/src/packages/kde4/4.2.0/kdelibs-4.2.0/kdeui/kernel/kapplication.cpp:307
#26 0x00007fe07179371b in QCoreApplication::notifyInternal (this=0x25ff880, receiver=0x2bed8e0, event=0x7fff7e91c690) at kernel/qcoreapplication.cpp:588
#27 0x00007fe071f517db in QCoreApplication::sendSpontaneousEvent (receiver=0x2bed8e0, event=0x7fff7e91c690) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:211
#28 0x00007fe071fafe5b in QWidgetPrivate::drawWidget (this=0x2bde070, pdev=0x32b97c8, rgn=@0x7fff7e91cab0, offset=@0x32b7964, flags=5, sharedPainter=0x0, backingStore=0x32b7920)
    at kernel/qwidget.cpp:4939
#29 0x00007fe0721c3bfa in QWidgetBackingStore::sync (this=0x32b7920) at painting/qbackingstore.cpp:1218
#30 0x00007fe0721c3ebe in QWidgetBackingStore::sync (this=0x32b7920, exposedWidget=0x2bed8e0, exposedRegion=@0x7fff7e91ce10) at painting/qbackingstore.cpp:1031
#31 0x00007fe071fa9397 in QWidgetPrivate::syncBackingStore (this=0x2bde070, region=@0x7fff7e91ce10) at kernel/qwidget.cpp:1544
#32 0x00007fe071fd9919 in QETWidget::translatePaintEvent (this=0x2bed8e0, event=0x7fff7e91d6d0) at kernel/qapplication_x11.cpp:5008
#33 0x00007fe071fdbdae in QApplication::x11ProcessEvent (this=0x25ff880, event=0x7fff7e91d6d0) at kernel/qapplication_x11.cpp:3393
#34 0x00007fe07200c33a in x11EventSourceDispatch (s=0x260d660, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:141
#35 0x00007fe06de880c1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#36 0x00007fe06de8b83d in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#37 0x00007fe06de8b9fb in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#38 0x00007fe0717cb4ea in QEventDispatcherGlib::processEvents (this=0x259ee00, flags={i = 2123487632}) at kernel/qeventdispatcher_glib.cpp:318
#39 0x00007fe07200b99b in QGuiEventDispatcherGlib::processEvents (this=0x259ee00, flags={i = 2123487728}) at kernel/qguieventdispatcher_glib.cpp:197
#40 0x00007fe07178fdd7 in QEventLoop::processEvents (this=0x7fff7e91dac0, flags={i = 2123487840}) at kernel/qeventloop.cpp:144
#41 0x00007fe07178ffe6 in QEventLoop::exec (this=0x7fff7e91dac0, flags={i = 2123487952}) at kernel/qeventloop.cpp:195
#42 0x00007fe071794165 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:865
#43 0x00007fe071f4298a in QApplication::exec () at kernel/qapplication.cpp:3442
#44 0x00007fe0765b2109 in kdemain (argc=1, argv=0x7fff7e91dde8) at /usr/src/packages/kde4/4.2.0/kdebase-workspace-4.2.0/plasma/shells/desktop/main.cpp:54
#45 0x0000000000400877 in main (argc=1, argv=0x7fff7e91dde8) at /usr/src/packages/kde4/4.2.0/kdebase-workspace-4.2.0/build/plasma/shells/desktop/plasma_qgv_dummy.cpp:3

Comment 2 Dario Andres 2009-02-03 18:17:47 UTC
This may be related to bug 176014 / bug 182482
Are you still using Qt 4.5 ?
Comment 3 Alexey Chernov 2009-02-03 23:24:19 UTC
Yes, it's still Qt 4.5 beta 1.
Comment 4 Dario Andres 2009-02-04 19:49:01 UTC
*** Bug 183086 has been marked as a duplicate of this bug. ***
Comment 5 Dario Andres 2009-02-04 19:50:58 UTC
Reassigning to Oxygen as this happen in Kopete too (bug 183086)
Not sure if it's an Oxygen or a Qt bug.
Comment 6 Camilla Boemann 2009-02-04 22:07:43 UTC
Ok i see an oxygen method long way down, but i doubt it's oxygen for real.

Please report to Qt software
Comment 7 Dario Andres 2009-02-04 22:56:30 UTC
Reported.
Not sure if they will accept the report as I can't provide a simple testcase.
I will post updates on this.
Comment 8 Alexey Chernov 2009-02-04 23:06:06 UTC
Dario, thank you for supporting it.
Comment 9 Dario Andres 2009-02-05 21:14:05 UTC
Qt Issue N243484
Reply from Qt: (as I supposed...)

Hi,

Thank you for reporting this issue, however I can not file a bug report
from just a stack trace from a KDE related crash.  I need to be able to
reproduce the problem, preferably without KDE.  If you can isolate
where exactly in this KDE this is called, why, and in what context, I
might be able to make an example, but it is important that any fault of
KDE's must be ruled out.

So more information is required before I can report this issue as a Qt
bug.

Thank you in advance and
Regards,
--
Andy Nichols
Support Engineer
Nokia, Qt Software
Comment 10 Alexey Chernov 2009-02-05 21:31:23 UTC
Really pity... Qt 4.5 RC1 is released today, so i'll compile it tonight, maybe it was fixed somehow. This crash is so easy to reproduce so i think it will show.
Comment 11 Huynh Huu Long 2009-03-14 02:10:14 UTC
Alexey, can you reproduce the bug when you start plasma with --graphicssystem=native?
Comment 12 Alexey Chernov 2009-03-14 18:23:42 UTC
Actually no, I just wanted to post here.
I compiled Qt 4.5 without the key you mentioned, but the crash cannot be reproduced (i try to get it very hard) with Qt 4.5 final and KDE 4.2.1.
Although there're no crashes no, the bug #182998 still appears and it's really annoying, I think, because it makes the whole system useless if not to kill and restart plasma.
But this report can be closed i think.