File: mergeall-products/unzipped/test/macos-bad-bdr-symlinks-3.2.txt
[3.2] Symlinks burned to BDRs by macOS produce errors when they are later read from the BDR, on both macOS and Windows. Report, skip, and continue everywhere in Mergeall. These BDR errors occur in both shells and Python, and are reported as "Unknown error: 10000" on macOS, and either "Permission denied" or "Access is denied" on Windows. On Windows this occurs whether running as administrator or not, and in Command Prompt, Cygwin, and WSL Linux. This likely reflects a defect in macOS's BDR burning software. macOS tries to 'forge' symlinks on FAT32 and exFAT drives with a proprietary encoding; this appears to write unreadable garbage when burning to BDRs. Symlink burns on Windows and Linux are untested, but links are rare in Windows (they require admin permission), and Linux generally refuses to insert platform-specific magic (e.g., symlink-to-exFAT writes fail). To accommodate the error, catch and report its exception in diffall.py and continue; it will appear in the log and summary as "unreadable." mergeall.py started skipping symlink read errors earlier in 3.2, and cpall.py has always caught all exceptions and continued with the copy. For implementation of the work-around, see ../diffall.comparetrees() and ../mergeall.comparelinks(). ========================================================================================= MACOS CATALINA ========================================================================================= --SHELL-- Last login: Wed Oct 27 14:52:12 on ttys010 ~$ cd /Volumes/FULLOCT20/Websites/Author/Current /Volumes/FULLOCT20/Websites/Author/Current$ ls -l total 20 drwxr-xr-x 2 me staff 892 Jul 31 2020 Complete ls: ./Html-inserts: Unknown error: 10000 lrwxr-xr-x@ 1 me staff 33 Jun 9 2017 Html-inserts drwxr-xr-x 2 me staff 688 Jul 31 2020 Html-templates ls: ./TOOLS.txt: Unknown error: 10000 lrwxr-xr-x@ 1 me staff 29 Jun 18 2017 TOOLS.txt ls: ./_shrinkpix-info.txt: Unknown error: 10000 lrwxrwxrwx@ 1 me staff 48 Apr 24 2020 _shrinkpix-info.txt /Volumes/FULLOCT20/Websites/Author/Current$ /Volumes/FULLOCT20/Websites/Author/Current$ cat _shrinkpix-info.txt cat: _shrinkpix-info.txt: Unknown error: 10000 /Volumes/FULLOCT20/Websites/Author/Current$ /Volumes/FULLOCT20/Websites/Author/Current$ ls _shrinkpix-info.txt _shrinkpix-info.txt /Volumes/FULLOCT20/Websites/Author/Current$ ls -l _shrinkpix-info.txt ls: _shrinkpix-info.txt: Unknown error: 10000 lrwxrwxrwx@ 1 me staff 48 Apr 24 2020 _shrinkpix-info.txt /Volumes/FULLOCT20/Websites/Author/Current$ cd ~$ --PYTHON-- ~$ cd /Volumes/FULLOCT20/Websites/Author/Current /Volumes/FULLOCT20/Websites/Author/Current$ py3 Python 3.8.2 (v3.8.2:7b3ab5921f, Feb 24 2020, 17:52:18) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> >>> import os >>> open('_shrinkpix-info.txt') Traceback (most recent call last): File "<stdin>", line 1, in <module> OSError: [Errno 10000] Unknown error: 10000: '_shrinkpix-info.txt' >>> >>> os.listdir() ['.DS_Store', '_shrinkpix-info.txt', 'Complete', 'Html-inserts', 'Html-templates', 'TOOLS.txt'] >>> >>> for f in os.listdir(): ... if not os.path.isdir(f): ... try: ... t =open(f) ... except: ... print('FAIL:', f) ... else: ... print(f) ... .DS_Store FAIL: _shrinkpix-info.txt FAIL: Html-inserts FAIL: TOOLS.txt >>> ^D /Volumes/FULLOCT20/Websites/Author/Current$ cd ~$ ========================================================================================= WINDOWS 10 ========================================================================================= --WSL LINUX UNUNTU-- me@DESKTOP-3PC51JV:~$ ls /mnt/ c/ d/ wsl/ me@DESKTOP-3PC51JV:~$ ls /mnt/d/Websites/Author/Current/ ls: cannot access '/mnt/d/Websites/Author/Current/_shrinkpix-info.txt': Permission denied ls: cannot access '/mnt/d/Websites/Author/Current/Html-inserts': Permission denied ls: cannot access '/mnt/d/Websites/Author/Current/TOOLS.txt': Permission denied Complete Html-inserts Html-templates TOOLS.txt _shrinkpix-info.txt me@DESKTOP-3PC51JV:~$ me@DESKTOP-3PC51JV:~$ ls -l /mnt/d/Websites/Author/Current/ ls: cannot access '/mnt/d/Websites/Author/Current/_shrinkpix-info.txt': Permission denied ls: cannot access '/mnt/d/Websites/Author/Current/Html-inserts': Permission denied ls: cannot access '/mnt/d/Websites/Author/Current/TOOLS.txt': Permission denied total 0 drwxrwxrwx 1 me me 2048 Jul 31 2020 Complete -????????? ? ? ? ? ? Html-inserts drwxrwxrwx 1 me me 2048 Jul 31 2020 Html-templates -????????? ? ? ? ? ? TOOLS.txt -????????? ? ? ? ? ? _shrinkpix-info.txt me@DESKTOP-3PC51JV:~$ --COMMAND PROMPT-- C:\Users\lutz>d: d:\>cd Websites\Author\Current dd:\Websites\Author\Current>dir Volume in drive D is FULLOCT20 Volume Serial Number is F101-686E Directory of d:\Websites\Author\Current 07/31/2020 04:24 PM <DIR> . 03/10/2020 05:00 PM <DIR> .. 03/10/2020 03:12 PM 10,244 .DS_Store 04/24/2020 05:45 PM 48 _shrinkpix-info.txt 07/31/2020 04:24 PM <DIR> Complete 06/09/2017 07:46 AM 33 Html-inserts 07/31/2020 04:24 PM <DIR> Html-templates 06/18/2017 06:36 AM 29 TOOLS.txt 4 File(s) 10,354 bytes 4 Dir(s) 0 bytes free d:\Websites\Author\Current>dir _shrinkpix-info.txt Volume in drive D is FULLOCT20 Volume Serial Number is F101-686E Directory of d:\Websites\Author\Current 04/24/2020 05:45 PM 48 _shrinkpix-info.txt 1 File(s) 48 bytes 0 Dir(s) 0 bytes free d:\Websites\Author\Current>type _shrinkpix-info.txt Access is denied. --COMMAND PROMPT PYTHON-- d:\Websites\Author\Current>py -3 Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> >>> open('_shrinkpix-info.txt') Traceback (most recent call last): File "<stdin>", line 1, in <module> PermissionError: [Errno 13] Permission denied: '_shrinkpix-info.txt' >>> open('_shrinkpix-info.txt', 'r') Traceback (most recent call last): File "<stdin>", line 1, in <module> PermissionError: [Errno 13] Permission denied: '_shrinkpix-info.txt' >>> import os >>> os.listdir() ['.DS_Store', '_shrinkpix-info.txt', 'Complete', 'Html-inserts', 'Html-templates', 'TOOLS.txt'] >>> >>> for f in os.listdir(): ... t = open(f) ... Traceback (most recent call last): File "<stdin>", line 2, in <module> PermissionError: [Errno 13] Permission denied: '_shrinkpix-info.txt' >>> >>> for f in os.listdir(): ... if not os.path.isdir(f): ... print(f) ... try: ... t = open(f) ... except: ... print(' FAIL') ... .DS_Store _shrinkpix-info.txt FAIL Html-inserts FAIL TOOLS.txt FAIL >>> ^Z ========================================================================================= WINDOWS 10 RUN AS ADMIN (NO DIFF) ========================================================================================= --COMMAND PROMPT-- C:\WINDOWS\system32>d: D:\>cd Websites\Author\Current D:\Websites\Author\Current>dir Volume in drive D is FULLOCT20 Volume Serial Number is F101-686E Directory of D:\Websites\Author\Current 07/31/2020 04:24 PM <DIR> . 03/10/2020 05:00 PM <DIR> .. 03/10/2020 03:12 PM 10,244 .DS_Store 04/24/2020 05:45 PM 48 _shrinkpix-info.txt 07/31/2020 04:24 PM <DIR> Complete 06/09/2017 07:46 AM 33 Html-inserts 07/31/2020 04:24 PM <DIR> Html-templates 06/18/2017 06:36 AM 29 TOOLS.txt 4 File(s) 10,354 bytes 4 Dir(s) 0 bytes free D:\Websites\Author\Current>dir _shrinkpix-info.txt Volume in drive D is FULLOCT20 Volume Serial Number is F101-686E Directory of D:\Websites\Author\Current 04/24/2020 05:45 PM 48 _shrinkpix-info.txt 1 File(s) 48 bytes 0 Dir(s) 0 bytes free D:\Websites\Author\Current>type _shrinkpix-info.txt Access is denied. --COMMAND PROMPT PYTHON-- D:\Websites\Author\Current>py -3 Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> open('_shrinkpix-info.txt') Traceback (most recent call last): File "<stdin>", line 1, in <module> PermissionError: [Errno 13] Permission denied: '_shrinkpix-info.txt' >>> import os >>> os.path.isfile('_shrinkpix-info.txt') True >>> os.path.islink('_shrinkpix-info.txt') False >>> os.path.getmtime('_shrinkpix-info.txt') 1587775512.0 >>> os.path.getsize('_shrinkpix-info.txt') 48 >>> open('_shrinkpix-info.txt') Traceback (most recent call last): File "<stdin>", line 1, in <module> PermissionError: [Errno 13] Permission denied: '_shrinkpix-info.txt' >>> ========================================================================================= CYGWIN ON WINDOWS - WITHOUT AND WITH ADMIN ========================================================================================= --NOT ADMIN-- lutz@DESKTOP-3PC51JV ~ $ cd /cygdrive/d/Websites/Author/Current/ lutz@DESKTOP-3PC51JV /cygdrive/d/Websites/Author/Current $ ls Complete Html-inserts Html-templates TOOLS.txt _shrinkpix-info.txt lutz@DESKTOP-3PC51JV /cygdrive/d/Websites/Author/Current $ ls -l total 10 drwxr-xr-x 1 lutz lutz 0 Jul 31 2020 Complete -rw-r--r-- 1 lutz lutz 33 Jun 9 2017 Html-inserts drwxr-xr-x 1 lutz lutz 0 Jul 31 2020 Html-templates -rw-r--r-- 1 lutz lutz 29 Jun 18 2017 TOOLS.txt -rw-r--r-- 1 lutz lutz 48 Apr 24 2020 _shrinkpix-info.txt lutz@DESKTOP-3PC51JV /cygdrive/d/Websites/Author/Current $ lutz@DESKTOP-3PC51JV /cygdrive/d/Websites/Author/Current $ type _shrinkpix-info.txt -bash: type: _shrinkpix-info.txt: not found lutz@DESKTOP-3PC51JV /cygdrive/d/Websites/Author/Current $ lutz@DESKTOP-3PC51JV /cygdrive/d/Websites/Author/Current $ cat _shrinkpix-info.txt cat: _shrinkpix-info.txt: Permission denied lutz@DESKTOP-3PC51JV /cygdrive/d/Websites/Author/Current $ lutz@DESKTOP-3PC51JV /cygdrive/d/Websites/Author/Current $ ls -l _shrinkpix-info.txt -rw-r--r-- 1 lutz lutz 48 Apr 24 2020 _shrinkpix-info.txt lutz@DESKTOP-3PC51JV /cygdrive/d/Websites/Author/Current --ADMIN-- $ cd /cygdrive/d/Websites/Author/Current/ lutz@DESKTOP-3PC51JV /cygdrive/d/Websites/Author/Current $ ls Complete Html-inserts Html-templates TOOLS.txt _shrinkpix-info.txt lutz@DESKTOP-3PC51JV /cygdrive/d/Websites/Author/Current $ ls -l _shrinkpix-info.txt -rw-r--r-- 1 lutz lutz 48 Apr 24 2020 _shrinkpix-info.txt lutz@DESKTOP-3PC51JV /cygdrive/d/Websites/Author/Current $ cat _shrinkpix-info.txt cat: _shrinkpix-info.txt: Permission denied lutz@DESKTOP-3PC51JV /cygdrive/d/Websites/Author/Current $ ^C