cygwin 1.7.9, problem with cygwin1.dll, path_conv::check, has_acls()? (Windows 7)
John Ruckstuhl
john_ruckstuhl@hansenmedical.com
Wed Sep 14 02:53:00 GMT 2011
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cygcheck.out
Type: application/octet-stream
Size: 14610 bytes
Desc: cygcheck.out
URL: <http://cygwin.com/pipermail/cygwin/attachments/20110914/be20fe6c/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: strace.6.out
Type: application/octet-stream
Size: 197864 bytes
Desc: strace.6.out
URL: <http://cygwin.com/pipermail/cygwin/attachments/20110914/be20fe6c/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: strace.7.out
Type: application/octet-stream
Size: 27592 bytes
Desc: strace.7.out
URL: <http://cygwin.com/pipermail/cygwin/attachments/20110914/be20fe6c/attachment-0002.obj>
-------------- next part --------------
--
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
More information about the Cygwin
mailing list