Article 6HQNP xfce/emacs/xterm session manager hang

xfce/emacs/xterm session manager hang

by
notzed
from LinuxQuestions.org on (#6HQNP)
Ok this is pretty obscure.

I noticed a couple of days ago that after using the computer for a while I couldn't launch new xterm's - the programme starts but just hangs before anything shows up. I don't normally use it but xfce4-terminal does the same. emacs seems to as well, except it *will* appear if I press the ctrl key (it doesn't matter where the focus is). The login/logout menu also hangs as does the session manager preferences. Other things like netbeans and firefox seem to start ok.

I hadn't noticed that my mirror (internode, iinet is also stale) stopped updating late November and performed a big update about a week ago after switching to aarnet.edu.au and rsync. I also hadn't rebooted in a couple of months and updated the kernel at the same time and the system hasn't been as stable as it was.

After poking around with strace/xlibtrace/ltrace I tracked it down to something to do with the session manager (xfce4-session). emacs seemed to be related and with further sleuthing I found I could trigger the hang reliably by running "M-x compile" on my C project (it doesn't matter if make does anything or not). Sometimes it would randomly fix itself but exiting emacs works every time but is frustrating.

Using ltrace on xfce4-session shows it hangs in IceProcessMessages(). Using strace it hangs trying to read from a filedescriptor without first polling it.

Code:recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([..., {fd=39, events=POLLIN}], 28, -1) = 1 ([{fd=39, revents=POLLIN}])
write(8, "\1\0\0\0\0\0\0\0", 8) = 8
read(39, "\0", 8) = 1
read(39,I tried building emacs 28.2 from a GNU mirror (27.2 from slackware 15 wouldn't compile) and it doesn't have the same problem. Neither does 29.1 from the -current/source! So I tried building the slackbuild from slackware64-current and the generated package is also fine. I re-checked by installing the binary package from the mirror and it exhibits the problem. Ignoring startup files (--quick) doesn't make any difference.

So I seem to have a workaround but I wonder what is different with the distributed (or mirror's) package?
External Content
Source RSS or Atom Feed
Feed Location https://feeds.feedburner.com/linuxquestions/latest
Feed Title LinuxQuestions.org
Feed Link https://www.linuxquestions.org/questions/
Reply 0 comments