Bug 319878 - Virtualbox windows reszie on kubuntu guest
Summary: Virtualbox windows reszie on kubuntu guest
Status: RESOLVED FIXED
Alias: None
Product: KScreen
Classification: Plasma
Component: kded (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Alex Fiestas
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-15 18:22 UTC by AV
Modified: 2013-06-10 10:13 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 1.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description AV 2013-05-15 18:22:45 UTC
Application: kded4 ($Id$)
KDE Platform Version: 4.10.2
Qt Version: 4.8.4
Operating System: Linux 3.8.0-19-generic x86_64
Distribution: Ubuntu 13.04

-- Information about the crash:
I was resizing the guest windows (kubuntu 13.04) when I got a crash report.

Virtualbox 4 on a windows 8 host.

-- Backtrace:
Application: KDE Daemon (kdeinit4), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f0b366f77c0 (LWP 1700))]

Thread 5 (Thread 0x7f0b0e964700 (LWP 1717)):
#0  0x00007f0b33f5f3cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f0b310a71dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f0b310a76ba in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0b0ec544f6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f0b310caeb5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f0b3177bf8e in start_thread (arg=0x7f0b0e964700) at pthread_create.c:311
#6  0x00007f0b33f6be1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f0b0df57700 (LWP 1718)):
#0  0x00007f0b33f5f3cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f0b310a71dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f0b310a7304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0b35391036 in QEventDispatcherGlib::processEvents (this=0x7f0b000008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f0b3536138f in QEventLoop::processEvents (this=this@entry=0x7f0b0df56d80, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f0b35361618 in QEventLoop::exec (this=this@entry=0x7f0b0df56d80, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f0b35263410 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#7  0x00007f0b18c426e5 in KCupsConnection::run() () from /usr/lib/libkcupslib.so
#8  0x00007f0b35265bec in QThreadPrivate::start (arg=0x272e0c0) at thread/qthread_unix.cpp:338
#9  0x00007f0b3177bf8e in start_thread (arg=0x7f0b0df57700) at pthread_create.c:311
#10 0x00007f0b33f6be1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f0b0d756700 (LWP 1719)):
#0  0x00007f0b33f5f3cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f0b310a71dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f0b310a7304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0b35391036 in QEventDispatcherGlib::processEvents (this=0x7f0afc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f0b3536138f in QEventLoop::processEvents (this=this@entry=0x7f0b0d755dc0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f0b35361618 in QEventLoop::exec (this=this@entry=0x7f0b0d755dc0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f0b35263410 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#7  0x00007f0b35265bec in QThreadPrivate::start (arg=0x270d8b0) at thread/qthread_unix.cpp:338
#8  0x00007f0b3177bf8e in start_thread (arg=0x7f0b0d756700) at pthread_create.c:311
#9  0x00007f0b33f6be1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f0b0cf55700 (LWP 1720)):
#0  0x00007fff1abfe70c in ?? ()
#1  0x00007f0b0cf54aa0 in ?? ()
#2  0x00007fff1abfeac9 in ?? ()
#3  0x00007f0b0cf54af0 in ?? ()
#4  0x00000001f4002f30 in ?? ()
#5  0x00007f0af4002860 in ?? ()
#6  0x00007f0b0cf54b80 in ?? ()
#7  0x00007f0b0cf54c38 in ?? ()
#8  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f0b366f77c0 (LWP 1700)):
[KCrash Handler]
#6  KScreen::Mode::refreshRate (this=this@entry=0x0) at /build/buildd/libkscreen-0.0.81/src/mode.cpp:99
#7  0x00007f0b1a94bd59 in Serializer::saveConfig (config=<optimized out>) at /build/buildd/kscreen-0.0.81/kded/serializer.cpp:129
#8  0x00007f0b1a94823d in KScreenDaemon::saveCurrentConfig (this=0x27103b0) at /build/buildd/kscreen-0.0.81/kded/daemon.cpp:129
#9  0x00007f0b3537c5be in QObject::event (this=0x27103b0, e=<optimized out>) at kernel/qobject.cpp:1194
#10 0x00007f0b347088ec in QApplicationPrivate::notify_helper (this=this@entry=0x2536a10, receiver=receiver@entry=0x27103b0, e=e@entry=0x2849f80) at kernel/qapplication.cpp:4567
#11 0x00007f0b3470b25b in QApplication::notify (this=this@entry=0x7fff1ab1eb30, receiver=receiver@entry=0x27103b0, e=e@entry=0x2849f80) at kernel/qapplication.cpp:4428
#12 0x00007f0b360e5af6 in KApplication::notify (this=0x7fff1ab1eb30, receiver=0x27103b0, event=0x2849f80) at ../../kdeui/kernel/kapplication.cpp:311
#13 0x00007f0b3536263e in QCoreApplication::notifyInternal (this=0x7fff1ab1eb30, receiver=receiver@entry=0x27103b0, event=event@entry=0x2849f80) at kernel/qcoreapplication.cpp:946
#14 0x00007f0b35366171 in sendEvent (event=0x2849f80, receiver=0x27103b0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#15 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x24a1150) at kernel/qcoreapplication.cpp:1570
#16 0x00007f0b353664a3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1463
#17 0x00007f0b35390e83 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#18 postEventSourceDispatch (s=0x2534fe0) at kernel/qeventdispatcher_glib.cpp:279
#19 0x00007f0b310a6f05 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007f0b310a7248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007f0b310a7304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007f0b35391016 in QEventDispatcherGlib::processEvents (this=0x24a3670, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#23 0x00007f0b347ae1ae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#24 0x00007f0b3536138f in QEventLoop::processEvents (this=this@entry=0x7fff1ab1e8b0, flags=...) at kernel/qeventloop.cpp:149
#25 0x00007f0b35361618 in QEventLoop::exec (this=this@entry=0x7fff1ab1e8b0, flags=...) at kernel/qeventloop.cpp:204
#26 0x00007f0b35366cf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#27 0x00007f0b34706ffc in QApplication::exec () at kernel/qapplication.cpp:3828
#28 0x00007f0b21085050 in kdemain (argc=1, argv=0x251a400) at ../../kded/kded.cpp:924
#29 0x00000000004084ea in launch (argc=argc@entry=1, _name=_name@entry=0x40b167 "kded4", args=args@entry=0x0, cwd=cwd@entry=0x0, envc=envc@entry=0, envs=<optimized out>, envs@entry=0x0, reset_env=reset_env@entry=false, tty=tty@entry=0x0, avoid_loops=avoid_loops@entry=false, startup_id_str=startup_id_str@entry=0x40aff6 "0") at ../../kinit/kinit.cpp:738
#30 0x0000000000405b69 in main (argc=4, argv=<optimized out>, envp=0x7fff1ab1f530) at ../../kinit/kinit.cpp:1853

Reported using DrKonqi
Comment 1 Daniel Vrátil 2013-05-16 10:57:54 UTC
Could you please run "kscreen-console bug" and post it's output here?
Comment 2 Daniel Vrátil 2013-06-10 08:00:40 UTC
Managed to reproduce with F19 in VirtualBox with Guest Additions installed. Looks like a race condition when the window is being resized to quickly and too many events are generated at once.
Comment 3 Daniel Vrátil 2013-06-10 10:13:58 UTC
Git commit ba0bb9abefa15bb2b6e773074e870491c8501761 by Dan Vrátil.
Committed on 10/06/2013 at 12:13.
Pushed by dvratil into branch 'master'.

Day call to saveCurrentConfig() to prevent crash in case of multiple events

This can happen in VirtualBox for instance, where resizing window emits
a lot of XRandR events which causes inconsistancies in configs.

REVIEW: 110930
FIXED-IN: 1.0

M  +12   -9    kded/daemon.cpp
M  +1    -1    kded/daemon.h

http://commits.kde.org/kscreen/ba0bb9abefa15bb2b6e773074e870491c8501761