Mail Archives: cygwin/2009/05/14/11:25:56
I've been using git for a few weeks now and recently ran into a problem
that I just can't workaround. I tried updating to the cygwin 1.7
release hoping that this would fix the issue but it didn't. I found
that a checkout of a branch "new_file_system" from the master branch (or
vice versa) would result an error that a file can't be unlinked. Below
is the sequence of git commands that I run that cause the problem. This
is the exact sequence of commands that I run:
bash-3.2$ git status
# On branch master
nothing to commit (working directory clean)
bash-3.2$ git checkout new_file_system
error: unable to unlink old
'src/libCpp/device/cdu/readManuData.cpp' (Device or
resource busy)
M src/libCpp/device/cdu/readManuData.cpp
Switched to branch 'new_file_system'
bash-3.2$ git status
# On branch new_file_system
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in
working directory)
#
# modified: src/libCpp/device/cdu/readManuData.cpp
#
no changes added to commit (use "git add" and/or "git commit
-a")
bash-3.2$ git reset --hard
HEAD is now at 5d9a836 Merge from CC branch to master
bash-3.2$ strace -o /c/temp/cygwin17.bug --mask=3Dall git checkout
master
error: unable to unlink old 'src/libCpp/services/flash.cpp'
(Device or resource
busy)
M src/libCpp/services/flash.cpp
Switched to branch 'master'
bash-3.2$ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in
working directory)
#
# modified: src/libCpp/services/flash.cpp
#
no changes added to commit (use "git add" and/or "git commit
-a")
Here is a portion of the strace log where the file (flash.cpp) is
referenced (the full log is over 1MB which is why I didn't include it):
34 5526393 [main] git 4640 fhandler_base::open:
(\??\C:\repo\cvs\abc-git\src\libCpp\services\cdu\flashvm46.cpp,
0x100A01)
58 5526451 [main] git 4640 alloc_sd: uid 11962, gid 11477, attribute
1ED
34 5526485 [main] git 4640 cygsid::debug_print: alloc_sd: owner SID =3D
S-1-5-21-30099031-893089305-1333819168-1962 (+)
34 5526519 [main] git 4640 cygsid::debug_print: alloc_sd: group SID =3D
S-1-5-21-30099031-893089305-1333819168-1477 (+)
37 5526556 [main] git 4640 alloc_sd: ACL-Size: 100
80 5526636 [main] git 4640 alloc_sd: Created SD-Size: 176
372 5527008 [main] git 4640 fhandler_base::set_flags: flags 0x100A01,
supplied_bin 0x10000
50 5527058 [main] git 4640 fhandler_base::set_flags: filemode set to
binary
34 5527092 [main] git 4640 fhandler_base::open: 0 =3D NtCreateFile
(0x1F0, 40120080,
\??\C:\repo\cvs\abc-git\src\libCpp\services\cdu\flashvm46.cpp, io, NULL,
80, 7, 2, 4020, NULL, 0)
36 5527128 [main] git 4640 fhandler_base::open: 1 =3D
fhandler_base::open
(\??\C:\repo\cvs\abc-git\src\libCpp\services\cdu\flashvm46.cpp,
0x100A01)
67 5527195 [main] git 4640 fhandler_base::open_fs: 1 =3D
fhandler_disk_file::open
(\??\C:\repo\cvs\abc-git\src\libCpp\services\cdu\flashvm46.cpp, 0xA01)
37 5527232 [main] git 4640 open: 5 =3D open
(src/libCpp/services/cdu/flashvm46.cpp, 0xA01)
35 5527267 [main] git 4640 writev: writev (5, 0x22C424, 1)
33 5527300 [main] git 4640 fhandler_base::write: binary write
129 5527429 [main] git 4640 writev: 4874 =3D write (5, 0x22C424, 1),
errno 2
35 5527464 [main] git 4640 close: close (5)
34 5527498 [main] git 4640 fhandler_base::close: closing
'/c/repo/cvs/abc-git/src/libCpp/services/cdu/flashvm46.cpp' handle 0x1F0
115 5527613 [main] git 4640 close: 0 =3D close (5)
177 5527790 [main] git 4640 normalize_posix_path: src
src/libCpp/services/flash.cpp
37 5527827 [main] git 4640 cwdstuff::get: posix /c/repo/cvs/abc-git
34 5527861 [main] git 4640 cwdstuff::get: (/c/repo/cvs/abc-git) =3D
cwdstuff::get (0x10F0008, 32768, 1, 0), errno 0
34 5527895 [main] git 4640 normalize_posix_path:
/c/repo/cvs/abc-git/src/libCpp/services/flash.cpp =3D normalize_posix_path
(src/libCpp/services/flash.cpp)
59 5527954 [main] git 4640 mount_info::conv_to_win32_path:
conv_to_win32_path (/c/repo/cvs/abc-git/src/libCpp/services/flash.cpp)
49 5528003 [main] git 4640 set_flags: flags: binary (0x2)
34 5528037 [main] git 4640 mount_info::conv_to_win32_path: src_path
/c/repo/cvs/abc-git/src/libCpp/services/flash.cpp, dst
C:\repo\cvs\abc-git\src\libCpp\services\flash.cpp, flags 0x2, rc 0
86 5528123 [main] git 4640 symlink_info::check: not a symlink
53 5528176 [main] git 4640 symlink_info::check: 0 =3D symlink.check
(C:\repo\cvs\abc-git\src\libCpp\services\flash.cpp, 0x2232B8) (0x2)
34 5528210 [main] git 4640 path_conv::check:
this->path(C:\repo\cvs\abc-git\src\libCpp\services\flash.cpp),
has_acls(1)
75 5528285 [main] git 4640 unlink_nt: Opening file for delete failed,
status =3D 0xC0000043
31 5528316 [main] git 4640 seterrno_from_win_error:
/ext/build/netrel/src/cygwin-1.7.0-47/winsup/cygwin/syscalls.cc:639
windows error 32
34 5528350 [main] git 4640 geterrno_from_win_error: windows error 32
=3D=3D errno 16
33 5528383 [main] git 4640 __set_errno: void
seterrno_from_win_error(const char*, int, DWORD):318 val 16
33 5528416 [main] git 4640 unlink: -1 =3D unlink
(src/libCpp/services/flash.cpp)
109 5528525 [main] git 4640 fhandler_console::write: 626EB748, 7
35 5528560 [main] git 4640 fhandler_console::write: at 101(e) state
is 0
125 5528685 [main] git 4640 fhandler_console::write: 7 =3D
fhandler_console::write (,..7)
86 5528771 [main] git 4640 fhandler_console::write: 22C110, 78
33 5528804 [main] git 4640 fhandler_console::write: at 117(u) state
is 0
867 5529671 [main] git 4640 fhandler_console::write: 78 =3D
fhandler_console::write (,..78)
316 5529987 [main] git 4640 fhandler_console::write: 626EB73C, 1
35 5530022 [main] git 4640 fhandler_console::write: at 10(0x20) state
is 0
720 5530742 [main] git 4640 fhandler_console::write: 1 =3D
fhandler_console::write (,..1)
184 5530926 [main] git 4640 normalize_posix_path: src
src/libCpp/services/flashimpl.h
309 5531235 [main] git 4640 cwdstuff::get: posix /c/repo/cvs/abc-git
78 5531313 [main] git 4640 cwdstuff::get: (/c/repo/cvs/abc-git) =3D
cwdstuff::get (0x10F0008, 32768, 1, 0), errno 0
35 5531348 [main] git 4640 normalize_posix_path:
/c/repo/cvs/abc-git/src/libCpp/services/flashimpl.h =3D
normalize_posix_path (src/libCpp/services/flashimpl.h)
33 5531381 [main] git 4640 mount_info::conv_to_win32_path:
conv_to_win32_path (/c/repo/cvs/abc-git/src/libCpp/services/flashimpl.h)
- Steve -
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -