ICE sockets accumulate then cause failure, possible Slackware fix is proposed
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
4. Have user1 start the desktop (startx). Once the socket is created, it is not needed anymore. Leaving it running will not have any effect.
Using startx is not necessary, as any method of starting the desktop will cause ICE sockets to be created by Xorg.
Hello, tigervnc gave me similar issues on Slackware previous to 15.0 and annoyances.
Anyway, properly stopping a vnc session with a vncserver -kill and having root automatically clearing things in /tmp before shutting down was my dirty approach to clear out the following directories.
Code:
/tmp/.X11-unix/ <---
/tmp/.ICE-unix/
So you have a machine starting in init 3 mode where at least two users make use of startx ?
I tend to agree with the underlings rkelsen is phrasing and Patrick made changes for Slackware-current.
Interesting readings from henca.
The real problem is that X does not clean up its sockets at exit.
...
This problem is probably not Slackware specific and should be reported as a bug upstream.
Yes, XFCE is definitely one that leaves a socket on normal exit. I'd agree XFCE should fix it too for a full fix. There are also improper shutdowns, so doing it on boot handles that situation.
It is nice to see some kind of fix to this problem, but IMHO it only attempts to hide the real problem in a way which still might fail.
The real problem is that X does not clean up its sockets at exit. Doing a cleanup at boot might help, but a system which is not rebooted very often might wrap around the PIDs several times (if I remember right PID wraps back to 1 when 32768 is reached). As such, left sockets or files owned by another user might block the creation or opening of a file or socket with the same name.
This problem is probably not Slackware specific and should be reported as a bug upstream. So where is upstream? When looking at my system who has the socket opened it seems to be xfce related processes, but also some other things might be related like polkit.
regards Henrik
Unfortunately, this kind of problems today IS quite Slackware specific, because everyone else uses systemd, and it's not only about PID EINZ, it have user side services, triggers, and various other features. IF a systemd based distribution really wants to solve this problem, probably it will use just a trigger unit on quitting graphical sessions.
Anyway, who cares about this when everybody marches to Wayland sessions?
Meanwhile, Slackware is not capable even to integrate the reference Wayland compositor, that Weston. No comments here. I've just noted with sadness.
Last edited by LuckyCyborg; 11-04-2023 at 09:16 AM.
The problem is brittle program design followed up with, we'll let some other thing clean it up, which isn't always going to happen. We can do all we can, but I think upstream can do better.
the remaining sockets in .X11-unix were due to a power outage in my case, X or vncserver were not terminated properly.
I had no clue at the time, now with the explanations from you folks it is a lot clearer, thanks.
yes no remaining sockets in .ICE-unix on a normal exit of plasma(x11) or fluxbox.
remaining sockets in .ICE-unix are with the xfce desktop, on a normal exit.
Just make /tmp a tmpfs. It will auto-clean itself at shut down.
This was suggested at post #4 to this thread, but was rejected because RAM is "too precious" and although it solves the problem, it isn't what OP wanted.
This was suggested at post #4 to this thread, but was rejected because RAM is "too precious" and although it solves the problem, it isn't what OP wanted.
I should have read post #4... This notwithstanding the argument "RAM is too precious" is moot. First the allocated size can be set in the mount command. According to https://www.kernel.org/doc/Documenta...tems/tmpfs.txt:
Quote:
The default is half of your physical RAM without swap
Further if you use swap in zram you probably won't ever need to use a swap partition or a swap file as with a zstd compressor you easily get twice the physical RAM as usable RAM in the zram block device. Here and now:
Code:
# LANG=C free -th
total used free shared buff/cache available
Mem: 15Gi 3.3Gi 7.1Gi 263Mi 5.1Gi 11Gi
Swap: 31Gi 0B 31Gi
Total: 46Gi 3.3Gi 38Gi
But I digress, sorry.
Last edited by Didier Spaier; 11-04-2023 at 03:59 PM.
Reason: Typo fix.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.