You are not logged in.

#1 2013-08-20 00:01:34

ctorchia87
Member
Registered: 2013-08-19
Posts: 5

lxde-logout (lxsession-logout) hangs/slows down X for 5 minutes

Hi, I'm wondering if anybody has run into this problem: lxde-logout (and lxsession-logout, because that's what it runs) takes 5 minutes to load, and slows down any X11 activity (e.g. focusing windows). It started happening right after I ran pacman -Syu on 2013-08-16. I tried following the fix for bug 36389 listed above involving enabling those lines in /etc/pam.d/lxdm, and that did not solve the problem. I am not using [testing].

I copied the source code (http://lxde.git.sourceforge.net/git/git … 95c895045b) from lxsession-logout.c (version 0.4.6.1) into a new test.c file, debugged that with gdb, and found that the it is hung on the following statement (in lxsession-logout.c in get_background_pixbuf()):

    GdkPixbuf * pixbuf = gdk_pixbuf_get_from_drawable(
        NULL,                    /* Allocate a new pixbuf */
        gdk_get_default_root_window(),        /* The drawable */
        NULL,                    /* Its colormap */
        0, 0, 0, 0,                /* Coordinates */
        gdk_screen_get_width(screen),        /* Width */
        gdk_screen_get_height(screen));        /* Height */

Here is the backtrace:

(gdb) bt
#0  0x00007ffff5179f40 in __poll_nocancel () from /usr/lib/libc.so.6
#1  0x00007ffff25cb6e2 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007ffff25ccb1f in ?? () from /usr/lib/libxcb.so.1
#3  0x00007ffff25ccc32 in xcb_wait_for_reply () from /usr/lib/libxcb.so.1
#4  0x00007ffff56a7117 in _XReply () from /usr/lib/libX11.so.6
#5  0x00007ffff56a2d3d in XSync () from /usr/lib/libX11.so.6
#6  0x00007ffff7557646 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#7  0x00007ffff751db91 in gdk_drawable_copy_to_image ()
   from /usr/lib/libgdk-x11-2.0.so.0
#8  0x00007ffff751db91 in gdk_drawable_copy_to_image ()
   from /usr/lib/libgdk-x11-2.0.so.0
#9  0x00007ffff7528538 in gdk_pixbuf_get_from_drawable ()
   from /usr/lib/libgdk-x11-2.0.so.0
#10 0x00000000004018e0 in get_background_pixbuf () at test.c:70
#11 0x0000000000401b07 in main (argc=1, argv=0x7fffffffe968) at test.c:153

The new test program does not depend on lxsession, and I ran it without any window manager or display manager running (using startx) and it hangs on the exact same statement, always with __poll_nocancel() at the top.

Also I ran lxsession-logout under strace -Ct and when it was hung it kept doing this over and over:

12:33:45 writev(3, [{"<\5\2\0\5\0\300\0017\1\5\0\6\0\300\1P\1\0\0\0\200\0\0\1\0\0\0>s\7\0"..., 60}, {NULL, 0}, {"", 0}], 3) = 60
12:33:45 poll([{fd=3, events=POLLIN}], 1, 4294967295) = 1 ([{fd=3, revents=POLLIN}])
12:33:46 recvfrom(3, "\16\0\200\0\4\0\300\1\0\0>\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 0, NULL, NULL) = 64
12:33:46 recvfrom(3, 0x15118f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)

That line of code is responsible for getting the image of the root window in order to re-display it darker before the logout options window appears. I thought then maybe this same behaviour would occur with "import -window root screenshot.jpg", but no, that functions without delay.

This is on computer 1. I upgraded arch on computer 2 on the same day, and after it did not have this problem. So I thought this might be related to merged config files, but there are not many new ones:

[carlos@nbcarlos ~]$ find / -name *.pacnew 2> /dev/null
/boot/grub/grub.cfg.pacnew
/etc/pacman.d/mirrorlist.pacnew
/etc/ppp/ip-down.d/00-dns.sh.pacnew
/etc/ppp/ip-up.d/00-dns.sh.pacnew

Thanks for any help you can provide, and sorry in advance for missing anything or bothering anyone

PS this may be relevant: https://bbs.archlinux.org/viewtopic.php?id=151931

Last edited by ctorchia87 (2013-08-20 00:58:32)

Offline

#2 2013-11-21 10:07:16

ctorchia87
Member
Registered: 2013-08-19
Posts: 5

Re: lxde-logout (lxsession-logout) hangs/slows down X for 5 minutes

This was solved by removing lxde and installing gnome.

Uninstalling lxde and removing all lxde config files and the reinstalling also did not change the behaviour, nor did 3 months of updates.

One time when looking at debug messages in journalctl, I noticed menu-cached constantly dumping its core. Top shows X taking up 50% of CPU time. I should have reproduced that and then open the core with a debugger, but only now I think of this and already gnome is on my computer. If I do that and solve the problem, I'll reply to this, but for now I'm closing this thread.

I tried smile

Offline

#3 2013-11-30 05:59:08

guidop
Member
Registered: 2013-11-30
Posts: 5

Re: lxde-logout (lxsession-logout) hangs/slows down X for 5 minutes

I have experienced this identical issue on a fresh install October/November 2013 with the following setup:

- x86_64 install
- xf86-video-ati installed
- Relatively new XFX Radeon 7750 video card
- xorg-server 1.14.xx

This issue also affected Openbox's oblogoff script with a similar delay, so it's not an lxde issue, per se.

I spent a week or two trying to troubleshoot the issue, but have only worked around it by installing the catalyst driver following instructions in the AMD Catalyst Wiki :

- Downgrading xorg to 1.13,  using Vi0L0's [xorg113] repository
- Building and installing the catalyst-total AUR package, also provided by Vi0L0.

lxde-logout now dims the screen and brings up the logout dialog quickly.

Looks to me like  the ATI open source driver doesn't yet fully support my video card, nor perhaps yours.


I have the xf86-video-ati driver installed running openbox+lxde on a fully updated x86_64 older system with an HD5770 card, without this issue.
I also have a similar x86_64 install running lxde in VirtualBox, also without this issue.

Offline

Board footer

Powered by FluxBB