problem solved thanks to rcrsn51
See discussion further down page. This bug would likely affect many puppy versions.
----------------------------------------------------------------------------------------------
Bingo! Found the bug, but need to find an elegant fix...Jades wrote:Tested non-PAE Opera Slacko 5.3.7.7 on one of work's old Dell Optiplex GX270s. Pentium 4, 2.1GHz (IIRC) and 1GB of RAM. Tried to create a save file on the machine's NTFS-formatted hard drive, rebooted and encountered the same missing icons and config problem as I see on the Pentium D at home.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ok, some more on this situation and maybe some of our more knowledgable can lend a hand....
THIS line in /etc/rc.d/rc.shutdown is causing the issue..@line 225
Code: Select all
umount -a -t cifs,smbfs,nfs,sshfs #120220
Now, if I had my network connected and some network filesystem mounted (didn't seem to matter which) then no bug, all good, save to ntfs is fine. Probably why I never saw the bug. So I got sick of connecting and didn't and could reproduce the bug on my old laptop. IDK if the speed of the machine made any difference. NOTE the date of the change (2012-Feb-20). Slacko-533 would have had the bug but previous versions not. Comment that line and no bug.
So, the question to you who are smarter coders is.. how do we ensure clean unmount of network type filesystems without compromising ntfs?
Here's the code with preceding comments..
Code: Select all
##111107 ldolse: unmount network shares before taking down the network
##(see 111106, need to do it sooner, but 111106 will remount read-only if failed to umount here)
#for MOUNTPOINT in `mount | grep '^//' | cut -d ' ' -f 3 | tr '\n' ' '`
#do
# umount -f $MOUNTPOINT
#done
##120219 hmmm, zekebaby reports above does not work for him. i looked up an ex: mount -t nfs boffo.clowns.org:/home/bozo /mnt/bozo
##so this is zekebaby's patch: (see http://murga-linux.com/puppy/viewtopic.php?p=605451#605451)
#for MOUNTPOINT in `mount | grep ':' | cut -d ' ' -f 3 | tr '\n' ' '`
#do
# umount -f $MOUNTPOINT
#done
umount -a -t cifs,smbfs,nfs,sshfs #120220
I'd be interested to know if the same fails on other pups. TBH, I reckon saving to ntfs is a bad idea, but it's supported in woof so that's the way it is. Interestingly, it doesn't fail if you use noryb009's windows installer (there is one for 533).
NOTE: there seem to be a lot of potential bugs in rc.shutdown. We see it all the time ..."My pupppy won't shut down!" . There is one particular block of code that brings down the network interface before releasing the the IP lease. Well, that isn't the problem here but it could be affecting someone.
I'll attach, just for interest's sake, my crazy debugging routines added to the relevant files.. most commented with "Jades debug".
Guess I'm having fun eh?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Here's my crazy log..
Code: Select all
START DEBUG
/dev/sda2 /mnt/sda2 fuseblk rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
PUPMODE=128
SAVEPART='sda2'
SAVEFS='ntfs'
PUPSAVE='sda2,ntfs,/slackosave-yes.2fs'
SAVEFILE='/slackosave-yes.2fs'
NAMEONLY='slackosave-yes.2fs'
SAVEPATH='/'
MYPASSWORD=''
SFEXT='2fs'
xPDEV='sr0'
xDEVFS='iso9660'
SMNTPT='/mnt/sda2'
CRYPTO=''
expBOOTDRV=''
save path = /mnt/sda2
Executing /etc/rc.d/rc.shutdown...
PUPMODE is 5
Killing X and all X apps...
Check breakage 1
AH HA! There's the bastard
Check breakage 2
The 5 is pupmode
CHECKPOINT 1: Check if ntfs is mounted rw
/dev/sda2 /mnt/sda2 fuseblk rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
CHECKPOINT 2: Check if variables file exists
PUPMODE=128
SAVEPART='sda2'
SAVEFS='ntfs'
PUPSAVE='sda2,ntfs,/slackosave-yes.2fs'
SAVEFILE='/slackosave-yes.2fs'
NAMEONLY='slackosave-yes.2fs'
SAVEPATH='/'
MYPASSWORD=''
SFEXT='2fs'
xPDEV='sr0'
xDEVFS='iso9660'
SMNTPT='/mnt/sda2'
CRYPTO=''
expBOOTDRV=''
DEBUG log:
Saving session to /slackosave-yes.2fs file on sda2 partition...
/proc/mounts BEFORE mounting /slackosave-yes.2fs
rootfs / rootfs rw,relatime 0 0
tmpfs /initrd/pup_rw tmpfs rw,relatime,size=665840k 0 0
tmpfs /initrd/mnt/tmpfs tmpfs rw,relatime,size=154692k 0 0
/dev/loop0 /initrd/pup_ro2 squashfs ro,noatime 0 0
unionfs / aufs rw,relatime,si=54be455e 0 0
none /proc proc rw,relatime 0 0
none /dev/pts devpts rw,relatime,gid=2,mode=620 0 0
none /sys sysfs rw,relatime 0 0
shmfs /dev/shm tmpfs rw,relatime,size=86552k 0 0
none /proc/bus/usb usbfs rw,relatime 0 0
/dev/sda2 /mnt/sda2 fuseblk rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
PUPMODE=128
SAVEPART='sda2'
SAVEFS='ntfs'
PUPSAVE='sda2,ntfs,/slackosave-yes.2fs'
SAVEFILE='/slackosave-yes.2fs'
NAMEONLY='slackosave-yes.2fs'
SAVEPATH='/'
MYPASSWORD=''
SFEXT='2fs'
xPDEV='sr0'
xDEVFS='iso9660'
SMNTPT='/mnt/sda2'
CRYPTO=''
expBOOTDRV=''
Mounting /slackosave-yes.2fs...
added sleep 1 (clutching straws)
checking what got mounted, hopefully /mnt/sda2/slackosave-yes.2fs
/proc/mounts AFTER (attempting) mounting /slackosave-yes.2fs
rootfs / rootfs rw,relatime 0 0
tmpfs /initrd/pup_rw tmpfs rw,relatime,size=665840k 0 0
tmpfs /initrd/mnt/tmpfs tmpfs rw,relatime,size=154692k 0 0
/dev/loop0 /initrd/pup_ro2 squashfs ro,noatime 0 0
unionfs / aufs rw,relatime,si=54be455e 0 0
none /proc proc rw,relatime 0 0
none /dev/pts devpts rw,relatime,gid=2,mode=620 0 0
none /sys sysfs rw,relatime 0 0
shmfs /dev/shm tmpfs rw,relatime,size=86552k 0 0
none /proc/bus/usb usbfs rw,relatime 0 0
/dev/sda2 /mnt/sda2 fuseblk rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
/dev/loop1 /tmp/save1stpup ext2 rw,noatime,errors=continue,user_xattr,acl 0 0
RDIRS=/initrd/pup_rw/root /initrd/pup_rw/var /initrd/pup_rw/usr /initrd/pup_rw/initrd /initrd/pup_rw/etc /initrd/pup_rw/lib
END DEBUG