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.
After updating my box today to run -Current, I started getting a weird shutdown bug where it says /(root) is still busy at shutdown and failed to dismount, like a daemon/service was still running and didn't shutdown with the kill signal sent by init.
Has anyone else gotten this bug recently?
Luckily I had /(root) partitioned with JFS which kept my data intact.
I think I have it narrowed down to either ConsoleKit or D-Bus not closing down properly. I'm going to check the command to kill the services upon the shut down signal and see if there might be something I can retune.
Im running current with xfs and it shuts down without complaint. I was going to post that it was a pretty much vanilla current 64 bit, but i remebered that a while back i did kill console kit.
There were no consequences except that i got back the gig of ram it was using and kdm complains that it isnt running if im using it to start kde.
When you try and umount / it will not unmount, but instead go 'ro'. There's also an explicit 'mount -o remount,ro /' just after the 'umount -a' in rc.6 so there was never any danger to your filesystem integrity, and the fact you're using a journalled filesystem has no bearing.
Being unable to unmount the rootfs is expected behavour (what do you think init and rc.6 are using? ), it just seems that our umount command is lying to us when it says it has unmounted /, where as yours is telling the truth. No idea why there would be a difference in behaviour, though I vaguely remember seeing 'failed to unmount /' back on 13.37 when I was running rootfs on lvm on luks,
I actually am still using the udev-182 package. I haven't touched upgrading to your eudev package yet Didier. I have been meaning to though.
I also just realized in rc.6 there is no shutdown for ConsoleKit. I'll try the lsof first and do a shutdown and see what happens. If it happsn that a service shutdown isn't taking place, the good thing is I can always add a shutdown command sequence in and try to have it close it rather than wait for killall5 to try and possibly fail.
Okay, at this point, I'm not sure what it could be.
fuser says nothing and lsof is more or less uninformative.
I was wondering if perhaps maybe it's a process not closing down completely with killall5. Would using pkill in this way:
Code:
# Stop any remaining processes and core services.
echo "Sending TERM signal to processes..."
pkill --inverse -s0,1 -TERM
sleep 5
echo "Sending KILL signal to processes..."
pkill --inverse -s0,1 -KILL
As either a supplement or replacement for this from rc.6 lines 173~180:
Code:
# Kill all remaining processes.
if [ ! "$1" = "fast" ]; then
echo "Sending all processes the SIGTERM signal."
/sbin/killall5 -15
/bin/sleep 5
echo "Sending all processes the SIGKILL signal."
/sbin/killall5 -9
fi
I'm also curious about line 214:
Code:
/bin/umount -v -a -t no,proc,sysfs
Shouldn't the virtual file system unmount target the following?
nosysfs,noproc,nodevtmpfs,notmpfs
not just
no,proc,sysfs
with flags
-v -r -a -t
not just
-v -a -t
Maybe it's something not being cleanly dismounted like a virtual file system? Other than this, I have no idea...
After updating my box today to run -Current, I started getting a weird shutdown bug where it says /(root) is still busy at shutdown and failed to dismount, like a daemon/service was still running and didn't shutdown with the kill signal sent by init.
Has anyone else gotten this bug recently?
I've had it on all of my x86 boxes at one time or another. I toss some extra sync and sleep statements into /etc/rc.d/rc.6, especially before before the remount,ro of /. There's something about that previous umount command that can take some time. If you can get that partition fully unmounted for checking, run a `jfs_fsck -fnv` on that partition. If both return codes are 0, you don't need to run a regular fsck; otherwise, you do need to run a fsck or a `jfs_fsck -fv`.
jfs_fsck has no problem chucking /etc into /lost+found under the right circumstances, due to it feeling that the /etc directory has been corrupted. If you fear this scenario, back up /etc before running fsck. JFS can read /etc just fine, but jfs_fsck may have a different opinion of it.
Things are a little better if /etc/mtab is a symlink to /proc/mounts, but that takes some tweaking of /etc/rc.d/rc.S and learning to read the output of `mount` again. The symlink does take away that last write to /etc before flushing to disk.
Quote:
Luckily I had /(root) partitioned with JFS which kept my data intact.
Your drives are probably better than mine as well. To get that outstanding JFS reliability, I usually have to shut the write cache off for older drives. Before then, it wasn't so pretty for any file system, seemingly for 2.6 and later kernels, so maybe it's not all the fault of the hardware.
Oddly when we ran into this same issue on LFS when we transitioned to runit, it partially at first dealt with swap being dismounted before the drive was set into read-only. However, at the time, we were still using killall5 from sysvinit and an assortment of bootscripts before we transitioned to what ArchIgnite was using and started using our own revamped toolpack geared for runit only and switched the kill signal tool in the shutdown script to pkill which shut things down more thoroughly.
Here at work, there's a sync after swapoff. As a mix into the default Slackware shutdown script, it goes like this soon after that (XFS, write caches on):
Code:
mount -o remount,ro /
sync
# Here is the standard Slackware shutdown of LVM and LUKS, then...
sync
/sbin/hdparm -F /dev/sdb
/sbin/hdparm -F /dev/sda
sleep 3
wait
At home, the safest thing is to shut the drive cache off on boot and never use `hdparm -F`, so it's more like this (JFS, write caches off):
Code:
# Unmounting local file systems step goes here, then...
sync # this does the brunt of the work and helps JFS catch up.
sleep 2 # one second is sometimes too little.
mount -o remount,ro /
sync
sleep 2
I added an extra sleep 3 and sync command for the swap dismount and virtual file ssytem dismounts and hopefully it will fix the issue. If not, I might try switching from using killall5 to pkill.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.