Summary: | plasma freeze intermittently | ||
---|---|---|---|
Product: | [Unmaintained] Network Management | Reporter: | Xavier Brochard <xavier> |
Component: | general | Assignee: | Lamarque V. Souza <lamarque> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | lamarque, lindsay.mathieson, rifter0x0000, sergio.callegari, smarter |
Priority: | NOR | ||
Version: | 0.8 | ||
Target Milestone: | --- | ||
Platform: | Unlisted Binaries | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 0.9 | |
Sentry Crash Report: |
Description
Xavier Brochard
2011-09-14 15:24:40 UTC
Forgot to say that "top" command shows no activity while plasma is frozen. After a lot of config changes, consisting mainly as reduce of transparency (use of Opaquity theme), use of a fast style for widgets (phase) and kwin windows decoration (quartz), and setting QT_GRAPHICSSYSTEM=raster. The error message in user's xsession-errors file are now only (repeated at each freeze, and writed after the freeze): QPixmap::handle(): Pixmap is not an X11 class pixmap X Error: BadDrawable (invalid Pixmap or Window parameter) 9 Major opcode: 62 (X_CopyArea) Resource id: 0x0 OR X Error: BadWindow (invalid Window parameter) 3 Major opcode: 20 (X_GetProperty) Resource id: 0x3800125 it depend if I click on K menu or if I right click on the root window. does this persist in 4.7? if so .. what widgets are active? pager, tasks, ..? does it happen only when compositing is on, or is that also off? Compositing is allways off, widgets are default panel with task manager, old style K menu, notification area, etc. Folder view widget is opened on the desktop and used as Desktop folder. I can't test with 4.7 currently, as it is not available in Debian, but someone reported something very similar on the debian.user.kde mailing list. He was not using kdm but startx (on LTSP we don't use kdm too, but LDM). He found a strange workaround. See his message here: http://lists.debian.org/debian-kde/2011/11/msg00012.html I do not know exactly if it is the same bug, but I also experience intermittent freezes of the plasma desktop. Freezes last from a few seconds to about 1 minute. When they happen it is impossible to toggle between desktops, use the taskbar or query the icons on the tray. I understand that the plasma desktop multitasking is cooperative, so that it can be a single plasmoid to freeze all the plasma desktop. I have already asked this question many times, but still have not got an answer. Is there any way to find out what is the plasmoid where plasma locks? Made some further investigation. Even in absence of tools to check at what task the plasma desktop is at any given time, I think that I have managed identifying the culprit. Disabling the network management item on the system tray settings fixes the issue in my case. This on KDE 4.7.4 (kubuntu oneiric 64bit). I am now working with the plain nm-applet which runs in its own thread and seems to give no issue so far. IMHO to have the plasma desktop intermittently freezing (even if only for a few seconds) is a real showstopper (takes back to the times of windows 3.1), so please consider rising this bug priority. I can confirm this still happens with KDE 4.8rc2 and the network management plasmoid version "0.9~svngit.nm09.20111023.ff842e-0ubuntu1~oneiric1~ppa1" from http://www.kubuntu.org/news/kde-sc-4.7.97. Removing the network management plasmoid from the system tray fixes the problem. Do you know if there is any bug open on this on Kubuntu? If not, can you please open a bug tracking this one? So Kubuntu users can see that they can just use KDE removing the nm plasmoid and using the standard nm-applet to work around this issue? For those using Plasma NM master branch I have just commited the changes to make the communication between the kded module and the plasmoid asynchronous: http://commits.kde.org/networkmanagement/8658e7415dfac56db28537d7ed1673cfaef55547 Try and and see if it helps with this problem. KDE 4.8.0 seems to hang just like 4.7.x. Would be nice to know if the above commit has made it into 4.8.0. Otherwise, at least on ubuntu, the kde team can probably be asked to kindly backport/incorporate it in their 4.8.0 packages. I mean the kubuntu kde team, of course. Their ppa greatly helps testing latest KDE efforts. Plasma NM is not part of KDE SC, it does not matter if you use KDE SC 4.7.x or 4.8.0. There are two Plasma NM branches: nm09, which I consider the "stable" version, and master, which is the development version. The commit above went to master only. I can consider commiting it to nm09 if I get confirmation that it really fix the freezing issues. You should look in Ubuntu's repositories if there are packages for the Plasma NM master version. I have read that they exist, but I do not know exactly where. According to dbus-monitor the commit is effective in the sense that everything still works in my notebook and there is almost no synchronous method calls from Plasma NM anymore. Now there are mostly only asynchronous method calls and signals, which are also asynchronous. The few remaining synchronous calls are in the vpnc import configuration dialog and in the NMDBusSettingsConnectionProvider class when it lists all connections available in NetworkManager. All those calls cannot cause the desktop freezing issus like described here. The NMDBusSettingsConnectionProvider call is executed only once during kded initialization or when the kcm module (main configuration dialog) is launched. If the configuration dialog appears then the call has successfully finished and should not cause problems like this one. I can say that after the commit above Plasma NM should not cause any freeze in the desktop related to DBus, maybe there are other situations that needs improve. By what I could figure from the other bug entry about desktop freezing (https://bugs.kde.org/show_bug.cgi?id=287002) the freeze happens when Plasma NM tried to use DBus to get wifi connection info, which the commit above reworks to make it completely asynchronous. Yes, kubuntu has 0.9.0RC4, so it is now clear why I am still experiencing the issue. Could not find anything newer in the ppas, though... Git commit 544a5272c2172882101469b01aa98248e336999a by Lamarque V. Souza. Committed on 23/01/2012 at 01:31. Pushed by lvsouza into branch 'nm09'. Use asynchronous DBus API in plasmoid and kded module communication. Related: bug 287002, bug 286424 M +6 -3 applet/networkmanager.cpp M +57 -42 kded/service.cpp M +2 -0 kded/service.h M +35 -29 libs/client/remoteactivatable.cpp M +6 -3 libs/client/remoteactivatable.h M +2 -0 libs/client/remoteactivatable_p.h M +17 -26 libs/client/remoteactivatablelist.cpp M +2 -1 libs/client/remoteactivatablelist.h M +31 -14 libs/client/remotegsminterfaceconnection.cpp M +3 -1 libs/client/remotegsminterfaceconnection.h M +2 -0 libs/client/remotegsminterfaceconnection_p.h M +73 -32 libs/client/remoteinterfaceconnection.cpp M +5 -3 libs/client/remoteinterfaceconnection.h M +8 -0 libs/client/remoteinterfaceconnection_p.h M +5 -4 libs/client/remoteunconfiguredinterface.cpp M +5 -2 libs/client/remoteunconfiguredinterface.h M +3 -2 libs/client/remotevpninterfaceconnection.cpp M +2 -1 libs/client/remotevpninterfaceconnection.h M +69 -16 libs/client/remotewirelessinterfaceconnection.cpp M +4 -1 libs/client/remotewirelessinterfaceconnection.h M +10 -0 libs/client/remotewirelessinterfaceconnection_p.h M +67 -19 libs/client/remotewirelessnetwork.cpp M +4 -1 libs/client/remotewirelessnetwork.h M +10 -1 libs/client/remotewirelessnetwork_p.h M +21 -0 libs/internals/activatable.cpp M +4 -0 libs/internals/activatable.h M +33 -9 libs/internals/gsminterfaceconnection.cpp M +3 -1 libs/internals/gsminterfaceconnection.h M +44 -15 libs/internals/interfaceconnection.cpp M +3 -0 libs/internals/interfaceconnection.h M +21 -3 libs/internals/wirelessinterfaceconnection.cpp M +3 -0 libs/internals/wirelessinterfaceconnection.h M +21 -3 libs/internals/wirelessnetwork.cpp M +3 -0 libs/internals/wirelessnetwork.h M +8 -0 libs/service/interfaces/org.kde.networkmanagement.activatable.xml M +8 -0 libs/service/interfaces/org.kde.networkmanagement.gsminterfaceconnection.xml M +8 -0 libs/service/interfaces/org.kde.networkmanagement.interfaceconnection.xml M +8 -0 libs/service/interfaces/org.kde.networkmanagement.wirelessinterfaceconnection.xml M +8 -0 libs/service/interfaces/org.kde.networkmanagement.wirelessnetwork.xml M +9 -4 libs/service/interfaces/org.kde.networkmanagement.xml M +22 -1 libs/service/sessionabstractedservice.cpp M +4 -1 libs/service/sessionabstractedservice.h M +1 -1 plasma_nm_version.h http://commits.kde.org/networkmanagement/544a5272c2172882101469b01aa98248e336999a I assume this is fixed now. |