X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=1.7 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,TW_DF,TW_WF X-Spam-Check-By: sourceware.org From: John Ruckstuhl To: "cygwin AT cygwin DOT com" Date: Wed, 14 Sep 2011 10:13:19 -0700 Subject: RE: cygwin 1.7.9, problem with cygwin1.dll, path_conv::check, has_acls()? (Windows 7) Message-ID: <3ED156B391DFFE4685AD2AEA0159D28004E91D8D2A@USWINHQMBX1.hansenmedical.com> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id p8EHDnN3024355 Larry Hall asks for more info: > On 9/13/2011 8:40 PM, John Ruckstuhl wrote: > > I'm trying to create files in the current dir, on a network fileserver. > > What do we know about this fileserver? This required a visit with my friendly IT Team. An HP Proliant DL380G5 running Windows 2003, with an external storage array -- an HP StorageWorks MSA 60. > > I do have the necessary permissions. > > Can you show us with 'ls -l' and 'getfacl'? $ icacls . . HANSENMEDICAL\Domain Admins:(I)(OI)(CI)(F) HANSENMEDICAL\Domain Users:(I)(OI)(CI)(M) Everyone:(I)(OI)(CI)(F) Successfully processed 1 files; Failed processing 0 files $ ls -ld . drwxrwxrwx+ 1 john_ruckstuhl Domain Users 0 Sep 13 16:48 . $ getfacl -d . # file: . # owner: john_ruckstuhl # group: Domain Users default:user::--- default:group::rwx default:group:Domain Users:rwx default:mask:rwx default:other:rwx And I'm thinking the fact that I have success cases also demonstrates that I have the necessary permissions. Also, I have no problem creating new files or dirs from cmd.exe or from Windows Explorer. Thanks, and regards, John Ruckstuhl -----Original Message----- From: John Ruckstuhl Sent: Tuesday, September 13, 2011 5:41 PM Subject: cygwin 1.7.9, problem with cygwin1.dll, path_conv::check, has_acls()? (Windows 7) I'm trying to create files in the current dir, on a network fileserver. I do have the necessary permissions. The standard incantation fails, but some non-standard incantations succeed. I'm willing to bet $10 that it's a cygwin1.dll problem, but I guess it's possible it's a bash problem. I'll use "touch" to demonstrate: $ pwd //hyperdisk/Data/Engineering/ruck These 3 fail: $ touch zoo.2 touch: cannot touch `zoo.2': Permission denied $ touch ./zoo.4 touch: cannot touch `./zoo.4': Permission denied $ touch $(pwd)/zoo.6 touch: cannot touch `//hyperdisk/Data/Engineering/ruck/zoo.6': Permission denied But these 3 succeed ?! $ touch .\\zoo.5 $ touch $(pwd)\\zoo.7 $ touch \\\\hyperdisk\\Data\\Engineering\\ruck\\zoo.1 This on Windows 7. uname -a reports CYGWIN_NT-6.1 CND0360JCB 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin bash --version reports GNU bash, version 4.1.10(4)-release (i686-pc-cygwin) I straced two, to compare the failure case with the success case. $ strace touch $(pwd)/zoo.6 > /tmp/strace.out $ strace touch $(pwd)\\zoo.7 > /tmp/strace.7.out (see attached) Is this a known problem? Is there a known workaround? BTW, I tried with CYGWIN=ntsec, CYGWIN=nontsec, and CYGWIN null... did not solve. Thanks, John Ruckstuhl The straces diverge soon after line 200, like: ------------------------------------------------------------------------ strace.out (fail case, touch $(pwd)/zoo.6) ------------------------------------------------------------------------ 200 375 33580 [main] touch 6444 open: open (//hyperdisk/Data/Engineering/ruck/zoo.6, 0xC201) 201 44 33624 [main] touch 6444 normalize_posix_path: src //hyperdisk/Data/Engineering/ruck/zoo.6 202 40 33664 [main] touch 6444 normalize_posix_path: //hyperdisk/Data/Engineering/ruck/zoo.6 = normalize_posix_path (//hyperdisk/Data/Engineering/ruck/zoo.6) 203 49 33713 [main] touch 6444 mount_info::conv_to_win32_path: conv_to_win32_path (//hyperdisk/Data/Engineering/ruck/zoo.6) 204 43 33756 [main] touch 6444 set_flags: flags: binary (0x2) 205 40 33796 [main] touch 6444 mount_info::conv_to_win32_path: src_path //hyperdisk/Data/Engineering/ruck/zoo.6, dst \\hyperdisk\Data\Engineering\ruck\zoo.6, flags 0x4022, rc 0 206 1450 35246 [main] touch 6444 symlink_info::check: 0xC0000034 = NtCreateFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.6) 207 65 35311 [main] touch 6444 symlink_info::check: 0xC0000034 = NtQueryInformationFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.6) 208 1297 36608 [main] touch 6444 symlink_info::check: 0xC0000034 = NtCreateFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.6.exe) 209 74 36682 [main] touch 6444 symlink_info::check: 0xC0000034 = NtQueryInformationFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.6.exe) 210 1202 37884 [main] touch 6444 symlink_info::check: 0xC0000034 = NtCreateFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.6.lnk) 211 57 37941 [main] touch 6444 symlink_info::check: 0xC0000034 = NtQueryInformationFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.6.lnk) 212 1211 39152 [main] touch 6444 symlink_info::check: 0xC0000034 = NtCreateFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.6.exe.lnk) 213 58 39210 [main] touch 6444 symlink_info::check: 0xC0000034 = NtQueryInformationFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.6.exe.lnk) 214 46 39256 [main] touch 6444 symlink_info::check: 0 = symlink.check (\\hyperdisk\Data\Engineering\ruck\zoo.6, 0x22B740) (0x4022) 215 45 39301 [main] touch 6444 mount_info::conv_to_win32_path: conv_to_win32_path (//hyperdisk/Data/Engineering/ruck) 216 43 39344 [main] touch 6444 set_flags: flags: binary (0x2) 217 51 39395 [main] touch 6444 mount_info::conv_to_win32_path: src_path //hyperdisk/Data/Engineering/ruck, dst \\hyperdisk\Data\Engineering\ruck, flags 0x4022, rc 0 218 1008 40403 [main] touch 6444 symlink_info::check: 0x0 = NtCreateFile (\??\UNC\hyperdisk\Data\Engineering\ruck) 219 1136 41539 [main] touch 6444 symlink_info::check: not a symlink 220 490 42029 [main] touch 6444 symlink_info::check: 0 = symlink.check (\\hyperdisk\Data\Engineering\ruck, 0x22B740) (0x4022) 221 69 42098 [main] touch 6444 path_conv::check: this->path(\\hyperdisk\Data\Engineering\ruck\zoo.6), has_acls(1) 222 63 42161 [main] touch 6444 build_fh_pc: fh 0x6124403C 223 53 42214 [main] touch 6444 fhandler_base::open: (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.6, 0x10C201) 224 1848 44062 [main] touch 6444 seterrno_from_nt_status: /ext/build/netrel/src/cygwin-1.7.9-1/winsup/cygwin/fhandler.cc:605 status 0xC0000022 -> windows error 5 225 59 44121 [main] touch 6444 geterrno_from_win_error: windows error 5 == errno 13 226 46 44167 [main] touch 6444 fhandler_base::open: C0000022 = NtCreateFile (0xA08020, 40160080, \??\UNC\hyperdisk\Data\Engineering\ruck\zoo.6, io, NULL, 80, 7, 3, 4020, NULL, 0) 227 41 44208 [main] touch 6444 fhandler_base::open: 0 = fhandler_base::open (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.6, 0x10C201) 228 37 44245 [main] touch 6444 fhandler_base::open_fs: 0 = fhandler_disk_file::open (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.6, 0xC201) 229 42 44287 [main] touch 6444 open: -1 = open (//hyperdisk/Data/Engineering/ruck/zoo.6, 0xC201) ... ------------------------------------------------------------------------ strace.7.out (success case, touch $(pwd)\\zoo.7) ------------------------------------------------------------------------ 200 364 35747 [main] touch 6840 open: open (//hyperdisk/Data/Engineering/ruck\zoo.7, 0xC201) 201 38 35785 [main] touch 6840 normalize_posix_path: src //hyperdisk/Data/Engineering/ruck\zoo.7 202 39 35824 [main] touch 6840 normalize_win32_path: \\hyperdisk\Data\Engineering\ruck\zoo.7 = normalize_win32_path (//hyperdisk/Data/Engineering/ruck\zoo.7) 203 39 35863 [main] touch 6840 mount_info::conv_to_win32_path: conv_to_win32_path (//hyperdisk/Data/Engineering/ruck/zoo.7) 204 34 35897 [main] touch 6840 set_flags: flags: binary (0x2) 205 31 35928 [main] touch 6840 mount_info::conv_to_win32_path: src_path //hyperdisk/Data/Engineering/ruck/zoo.7, dst \\hyperdisk\Data\Engineering\ruck\zoo.7, flags 0x4022, rc 0 206 1567 37495 [main] touch 6840 symlink_info::check: 0xC0000034 = NtCreateFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.7) 207 64 37559 [main] touch 6840 symlink_info::check: 0xC0000034 = NtQueryInformationFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.7) 208 1368 38927 [main] touch 6840 symlink_info::check: 0xC0000034 = NtCreateFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.7.exe) 209 62 38989 [main] touch 6840 symlink_info::check: 0xC0000034 = NtQueryInformationFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.7.exe) 210 1358 40347 [main] touch 6840 symlink_info::check: 0xC0000034 = NtCreateFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.7.lnk) 211 56 40403 [main] touch 6840 symlink_info::check: 0xC0000034 = NtQueryInformationFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.7.lnk) 212 1440 41843 [main] touch 6840 symlink_info::check: 0xC0000034 = NtCreateFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.7.exe.lnk) 213 64 41907 [main] touch 6840 symlink_info::check: 0xC0000034 = NtQueryInformationFile (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.7.exe.lnk) 214 40 41947 [main] touch 6840 symlink_info::check: 0 = symlink.check (\\hyperdisk\Data\Engineering\ruck\zoo.7, 0x22B740) (0x6022) 215 32 41979 [main] touch 6840 mount_info::conv_to_win32_path: conv_to_win32_path (//hyperdisk/Data/Engineering/ruck) 216 39 42018 [main] touch 6840 set_flags: flags: binary (0x2) 217 33 42051 [main] touch 6840 mount_info::conv_to_win32_path: src_path //hyperdisk/Data/Engineering/ruck, dst \\hyperdisk\Data\Engineering\ruck, flags 0x4022, rc 0 218 1022 43073 [main] touch 6840 symlink_info::check: 0x0 = NtCreateFile (\??\UNC\hyperdisk\Data\Engineering\ruck) 219 1255 44328 [main] touch 6840 symlink_info::check: not a symlink 220 485 44813 [main] touch 6840 symlink_info::check: 0 = symlink.check (\\hyperdisk\Data\Engineering\ruck, 0x22B740) (0x6022) 221 48 44861 [main] touch 6840 path_conv::check: this->path(\\hyperdisk\Data\Engineering\ruck\zoo.7), has_acls(0) 222 57 44918 [main] touch 6840 build_fh_pc: fh 0x6124403C 223 47 44965 [main] touch 6840 fhandler_base::open: (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.7, 0x10C201) 224 3483 48448 [main] touch 6840 fhandler_base::set_flags: flags 0x10C201, supplied_bin 0x10000 225 80 48528 [main] touch 6840 fhandler_base::set_flags: filemode set to binary 226 40 48568 [main] touch 6840 fhandler_base::open: 0 = NtCreateFile (0x158, 40120080, \??\UNC\hyperdisk\Data\Engineering\ruck\zoo.7, io, NULL, 80, 7, 3, 4020, NULL, 0) 227 38 48606 [main] touch 6840 fhandler_base::open: 1 = fhandler_base::open (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.7, 0x10C201) 228 57 48663 [main] touch 6840 fhandler_base::open_fs: 1 = fhandler_disk_file::open (\??\UNC\hyperdisk\Data\Engineering\ruck\zoo.7, 0xC201) 229 41 48704 [main] touch 6840 open: 3 = open (//hyperdisk/Data/Engineering/ruck\zoo.7, 0xC201) 230 34 48738 [main] touch 6840 dtable::dup3: dup3 (3, 0, 0x0) 231 37 48775 [main] touch 6840 build_fh_pc: fh 0x6124435C 232 40 48815 [main] touch 6840 fhandler_base::dup: in fhandler_base dup 233 39 48854 [main] touch 6840 dtable::dup_worker: duped '//hyperdisk/Data/Engineering/ruck/zoo.7' old 0x158, new 0x15C 234 35 48889 [main] touch 6840 dtable::dup3: newfh->io_handle 0x15C, oldfh->io_handle 0x158, new win32_name 0x61243ADC, old win32_name 0x61244244 235 45 48934 [main] touch 6840 close: close (0) 236 157 49091 [main] touch 6840 init_cygheap::manage_console_count: fhandler_console::close: console_count 1, amount -1, ctty /dev/console, avoid_freeing_console 0 237 54 49145 [main] touch 6840 close: 0 = close (0) 238 42 49187 [main] touch 6840 dtable::dup3: 0 = dup3 (3, 0, 0x0) 239 44 49231 [main] touch 6840 close: close (3) 240 37 49268 [main] touch 6840 fhandler_base::close: closing '//hyperdisk/Data/Engineering/ruck/zoo.7' handle 0x158 241 62 49330 [main] touch 6840 close: 0 = close (3) 242 56 49386 [main] touch 6840 dup2: 0 = dup2 (0, 0) (newfd==oldfd) 243 1493 50879 [main] touch 6840 fhandler_base::utimens_fs: incoming lastaccess 4E6FCD36 37EC4BE0 244 463 51342 [main] touch 6840 futimens: 0 = futimens (0, 0x0) 245 44 51386 [main] touch 6840 close: close (0) 246 70 51456 [main] touch 6840 fhandler_base::close: closing '//hyperdisk/Data/Engineering/ruck/zoo.7' handle 0x15C 247 147 51603 [main] touch 6840 close: 0 = close (0) 248 117 51720 [main] touch 6840 _cygwin_istext_for_stdio: fd 0: not open 249 29 51749 [main] touch 6840 _cygwin_istext_for_stdio: fd 1: opened as binary 250 26 51775 [main] touch 6840 _cygwin_istext_for_stdio: fd 2: opened as binary 251 194 51969 [main] touch 6840 close: close (1) 252 27 51996 [main] touch 6840 fhandler_base::close: closing '/tmp/strace.7.out' handle 0x130 253 38 52034 [main] touch 6840 close: 0 = close (1) 254 292 52326 [main] touch 6840 close: close (2) 255 103 52429 [main] touch 6840 init_cygheap::manage_console_count: fhandler_console::close: console_count 0, amount -1, ctty /dev/console, avoid_freeing_console 0 256 34 52463 [main] touch 6840 close: 0 = close (2) 257 348 52811 [main] touch 6840 close: close (0) 258 28 52839 [main] touch 6840 __set_errno: cygheap_fdget::cygheap_fdget(int, bool, bool):393 val 9 259 27 52866 [main] touch 6840 close: -1 = close (0) 260 135 53001 [main] touch 6840 do_exit: do_exit (0), exit_state 1 261 205 53206 [main] touch 6840 void: 0x0 = signal (20, 0x1) 262 35 53241 [main] touch 6840 void: 0x0 = signal (1, 0x1) 263 30 53271 [main] touch 6840 void: 0x0 = signal (2, 0x1) 264 26 53297 [main] touch 6840 void: 0x0 = signal (3, 0x1) 265 49 53346 [main] touch 6840 sigproc_terminate: entering 266 27 53373 [main] touch 6840 sig_send: sendsig 0xD8, pid 6840, signal -42, its_me 1 267 36 53409 [main] touch 6840 sig_send: Not waiting for sigcomplete. its_me 1 signal -42 268 29 53438 [main] touch 6840 sig_send: returning 0x0 from sending signal -42 269 -24 53414 [sig] touch 6840 wait_sig: saw __SIGEXIT 270 74 53488 [main] touch 6840 proc_terminate: nprocs 0 271 29 53517 [sig] touch 6840 wait_sig: signal thread exiting 272 -1 53516 [main] touch 6840 proc_terminate: leaving 273 54 53570 [main] touch 6840 __to_clock_t: dwHighDateTime 0, dwLowDateTime 312002 274 29 53599 [main] touch 6840 __to_clock_t: total 00000000 0000001F 275 35 53634 [main] touch 6840 __to_clock_t: dwHighDateTime 0, dwLowDateTime 156001 276 38 53672 [main] touch 6840 __to_clock_t: total 00000000 0000000F 277 1698 55370 [main] touch 6840 pinfo::exit: Calling ExitProcess n 0x0, exitcode 0x0 -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple