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]

Re: slow filesystem access mc start take sometimes 1 sec sometimes upto 7 sec or sometimes more


Bernd Roesch wrote:
i do a strace now and get this exception and delay when wlan run in
WNetGetResourceInformation.


http://www.cygwin.com/ml/cygwin/2005-06/msg00345.html

here stand what problem can be, maybe me too.

I install winxp a second time but dont delete the files for user bernd.

winxp create now another dir with name bernd.BERND.LBZQ11xxx.But my dir
bernd is in winxp here.

also there are other dirs in my windows documents and setting dir

default user
defaut user.windows

local service
local service.NT-AUTORITÃT

network service
network service.NT-AUTORITÃT
Is there a way to decativate in cygwin, the network access ?.so
WNetGetResourceInformation is not used ?

No.


my passwd file contain that line

bernd:unused_by_nt/2000/xp:1004:513:U-BERND-LBZQ11NHW\BERND-LBZQ11xxx,S-1-5-21-484763869-1563985344-839522115-1004:/cygdrive/c/Dokumente
und Einstellungen/BERND-LBZQ11xxx:/bin/bash


I try to correct the passwd file to that, but dont help.

bernd:unused_by_nt/2000/xp:1004:513:U-bernd.BERND-LBZQ11NHW\bernd.BERND-LBZQ11xxx,S-1-5-21-484763869-1563985344-839522115-1004:/cygdrive/c/Dokumente
und Einstellungen/bernd.BERND-LBZQ11xxx/bin/bash

If you used the above then it's an invalid entry. Put the ':' before '/bin/bash'.

i also try the user Gast(have dir with no . extension, but is slow too.

here is stats snippet

19  205930 [main] bash 4004 set_flags: flags: binary (0x2)
   19  205949 [main] bash 4004 mount_info::conv_to_win32_path: src_path
//.terminfo, dst \\.terminfo, flags 0x2, rc 0
 5537  211486 [main] bash 4004 build_fh_pc: fh 0x61169E30
  301  211787 [WNetGetResourceInformation] bash 4004 cygthread::stub: thread
'WNetGetResourceInformation', id 0x298, stack_ptr 0x18DDCDC0
--- Process 4004, exception 000006BA at 7C812AEB
4666838 4878625 [main] bash 4004 __set_errno: fhandler_base*
build_fh_name(const char*, void*, unsigned int, suffix_info*):362 val 136
   55 4878680 [main] bash 4004 stat_worker: got 136 error from build_fh_name
   22 4878702 [main] bash 4004 __set_errno: int stat_worker(const char*,
__stat64*, int):1072 val 136

------------------------ here is when wlan is off

19   49971 [main] bash 3524 set_flags: flags: binary (0x2)
   18   49989 [main] bash 3524 mount_info::conv_to_win32_path: src_path
//.terminfo, dst \\.terminfo, flags 0x2, rc 0
   24   50013 [main] bash 3524 build_fh_pc: fh 0x61169E30
  196   50209 [WNetGetResourceInformation] bash 3524 cygthread::stub: thread
'WNetGetResourceInformation', id 0x564, stack_ptr 0x18DECDC0
--- Process 3524, exception 000006BA at 7C812AEB
781207  831416 [main] bash 3524 __set_errno: fhandler_base*
build_fh_name(const char*, void*, unsigned int, suffix_info*):362 val 136
   43  831459 [main] bash 3524 stat_worker: got 136 error from build_fh_name
   28  831487 [main] bash 3524 __set_errno: int stat_worker(const char*,
__stat64*, int):1072 val 136
   22  831509 [main] bash 3524 stat_worker: -1 = (//.terminfo, 0x22BA70)
   61  831570 [main] bash 3524 stat64: entering

OK, this explains it. I should have seen this before when I reviewed your cygcheck output but I missed it. The home directory in your '/etc/passwd' is invalid. What are the permissions on your home directory? Make sure you have full access to it in both the POSIX world of permissions ('ls -l') and in the world of ACLs (getfacl). If this isn't the problem, you can try creating a '/home/bernd' directory, symlinking it to the home directory you want (or just using it directly), and pointing your entry in '/etc/passwd' to it.

The reason you're getting slowed down by network access with bash on startup
is because Cygwin can't find or get access to your home directory and you've
been given the default home directory of '/'. The above output from strace
shows that when bash is trying to access '.terminfo' in your home directory,
it's assuming that you're going to have some directory path for your home.
So it prepends a '/'. But for you, your home directory is only '/'. As a
result, you end up with '//.terminfo'. '//' triggers implementation-defined
behavior and the special treatment in this case is allowed by POSIX. On
traditional UNIX platforms, repeated slashes are collapsed to 1. On
Windows, they are not. They map to UNC file names which interact with the network. See <http://cygwin.com/faq/faq-nochunks.html#faq.using.slow> for
more info about '//' and how it's handled by Cygwin. Although this FAQ
addresses a slightly different way to cause this behavior, the results are
very much the same.


--
Larry Hall                              http://www.rfk.com
RFK Partners, Inc.                      (508) 893-9779 - RFK Office
216 Dalton Rd.                          (508) 893-9889 - FAX
Holliston, MA 01746

_____________________________________________________________________

A: Yes.
> Q: Are you sure?
>> A: Because it reverses the logical flow of conversation.
>>> Q: Why is top posting annoying in email?

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


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