This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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

Attachment: cygcheck.out
Description: cygcheck.out

Attachment: strace.6.out
Description: strace.6.out

Attachment: strace.7.out
Description: strace.7.out

--
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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]