This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: general setup.exe status incl network install [was Re: setup ChangeLog IniDBBuilder.h IniDBBuilderPac ...]
Corinna Vinschen wrote:
> On Dec 16 14:24, Dave Korn wrote:
>> Does this symptom suggest any possibilities to anyone?
>
> Unfortunately not. It's really officially the NULL SID. The NULL SID
> ACE is created when at least one of the special SUID, SGID or VTX bits
> are set in the permissions.
Ah, ok. Well, I've got more. Here's what happens when you launch the first
cygwin shell after completing the install:
> Copying skeleton files.
> These files are for the user to personalise their cygwin experience.
>
> They will never be overwritten nor automatically updated.
>
> `./.bashrc' -> `/home/DaveK//.bashrc'
> `./.bash_profile' -> `/home/DaveK//.bash_profile'
> `./.inputrc' -> `/home/DaveK//.inputrc'
> bash: cannot create temp file for here document: Device or resource busy
I remembered wrong; it's not r-o, it's busy. That error happens again every
time you start up a shell, and when you look in the tmp dir, you see that it
did in fact manage to create the temp file for the here doc:
> $ ls -lart /tmp/
> total 12
> -rw------- 1 Administrators None 122 Dec 16 23:42 sh-thd-1260978391
> drwxr-xr-x+ 1 Administrators None 0 Dec 17 01:17 ..
> -rw------- 1 Administrators None 26 Dec 17 01:17 sh-thd-1261018730
> -rw------- 1 Administrators None 26 Dec 17 01:18 sh-thd-1261013343
> -rw-r--r-- 1 Administrators None 0 Dec 17 01:18 foobar
> -rw-r--r-- 1 Administrators None 866 Dec 17 01:19 bar
> -rw------- 1 Administrators None 2023 Dec 17 01:20 sh-thd-3715808728
> -rw------- 1 Administrators None 0 Dec 17 01:20 sh-thd-1261024743
> -rw------- 1 Administrators None 26 Dec 17 01:27 sh-thd-1261038942
> -rw------- 1 Administrators None 0 Dec 17 01:28 sh-thd-1261038922
> drwxrwxrwt+ 1 Administrators None 0 Dec 17 01:28 .
>
> DaveK@winxp2 ~
> $
I think the strace suggests where the problem lies:
> 350 519655 [main] bash 680 open: 3 = open (/tmp/sh-thd-1261038922, 0x10E01)
[ ... snip ... ]
> 517 535090 [main] bash 680 open: 4 = open (/tmp/sh-thd-1261038922, 0x10000)
> 454 535544 [main] bash 680 close: close (3)
> 476 536020 [main] bash 680 fhandler_base::close: closing '/tmp/sh-thd-1261038922' handle 0x6A4
> 679 536699 [main] bash 680 close: 0 = close (3)
> 563 537262 [main] bash 680 normalize_posix_path: src /tmp/sh-thd-1261038922
> 605 537867 [main] bash 680 normalize_posix_path: /tmp/sh-thd-1261038922 = normalize_posix_path (/tmp/sh-thd-1261038922)
> 449 538316 [main] bash 680 mount_info::conv_to_win32_path: conv_to_win32_path (/tmp/sh-thd-1261038922)
> 571 538887 [main] bash 680 set_flags: flags: binary (0x2)
> 806 539693 [main] bash 680 mount_info::conv_to_win32_path: src_path /tmp/sh-thd-1261038922, dst Z:\cygremotewin2\tmp\sh-thd-1261038922, flags 0x3000A, rc 0
> 1641 541334 [main] bash 680 symlink_info::check: not a symlink
> 1003 542337 [main] bash 680 symlink_info::check: 0 = symlink.check (Z:\cygremotewin2\tmp\sh-thd-1261038922, 0x22B5E8) (0x3000A)
> 466 542803 [main] bash 680 path_conv::check: this->path(Z:\cygremotewin2\tmp\sh-thd-1261038922), has_acls(1)
> 547 543350 [main] bash 680 seterrno_from_win_error: /ext/build/netrel/src/cygwin-1.7.0-62/winsup/cygwin/syscalls.cc:674 windows error 32
> 496 543846 [main] bash 680 geterrno_from_win_error: windows error 32 == errno 16
> 449 544295 [main] bash 680 __set_errno: void seterrno_from_win_error(const char*, int, DWORD):319 val 16
> 433 544728 [main] bash 680 unlink: -1 = unlink (/tmp/sh-thd-1261038922)
> 740 545468 [main] bash 680 close: close (4)
> 498 545966 [main] bash 680 fhandler_base::close: closing '/tmp/sh-thd-1261038922' handle 0x6A0
> 1121 547087 [main] bash 680 close: 0 = close (4)
It looks like the unlink-while-you-still-have-an-open-handle-to-the-file
trick isn't working on SMB mounts, perhaps?
cheers,
DaveK