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: man incredibly slow because it scans for share directory in PATH??


> You have lots of duplicated, obsolete and overlapping paths in your %PATH%.
> I suggest you start from some homecleaning.
> Not to mention strange ones, like "/".

Thx alot!

I know that my path is messy, but having "/" in the path should not be all too fatal.

Furthermore, I probably did not set any of those strange paths myself (this is afterall Windows ;) ).

@Eliot: Good idea to set MANPATH!

>MANPATH=/usr/share/man PATH="/usr/bin:/foo" strace man bar |grep 'foo/share'

returns nothing and fixes the issue!

IMHO at least in Windows/Cygwin creating MANPATH from PATH makes no sense! (although I now get the idea what was the rationell!) Reasonably setting MANPATH should IMHO be a default...

BR

Till



Am 6/12/2016 um 12:49 PM schrieb Andrey Repin:
Greetings, Riedel,Till (TM)!

I traced down my problem with really slow man page views this:

{{{

 >>PATH="/usr/bin:/foo" strace man bar |grep 'foo/share'

}}}

I am getting this:

{{{

    13   39756 [main] man 6688 normalize_posix_path: src /foo/share/man
    16   39772 [main] man 6688 normalize_posix_path: /foo/share/man =
normalize_posix_path (/foo/share/man)
    13   39785 [main] man 6688 mount_info::conv_to_win32_path:
conv_to_win32_path (/foo/share/man)
    12   39810 [main] man 6688 mount_info::conv_to_win32_path: src_path
/foo/share/man, dst C:\tools\cygwin\foo\share\man, flags 0x3000A, rc 0
    16   39912 [main] man 6688 mount_info::conv_to_win32_path:
conv_to_win32_path (/foo/share)
    14   39942 [main] man 6688 mount_info::conv_to_win32_path: src_path
/foo/share, dst C:\tools\cygwin\foo\share, flags 0x3000A, rc 0

}}}

If my PATH is the real one this goes on forever, and generates some
problems,like:

You have lots of duplicated, obsolete and overlapping paths in your %PATH%.
I suggest you start from some homecleaning.
Not to mention strange ones, like "/".

{{{

 >>time man bar
No manual entry for bar

real    0m23.650s
user    0m0.000s
sys     0m0.108s

hanging e.g. on

    20 2449004 [main] man 8124 mount_info::conv_to_win32_path: src_path
//share/man, dst \\share\man, flags 0x4022, rc 0

}}}

VS.

{{{

 >>PATH=/usr/bin/ bash -c "time man bar"
No manual entry for bar

real    0m0.082s
user    0m0.031s
sys     0m0.045s

}}}

Any ideas why man does look for "share" in the whole path? Tbh I haven't
looked at the man source code. Thx in advance!



--
KIT- Research University in the Helmholtz Association

Dr.-Ing. Till Riedel
Lab Leader TECO, SDSC-BW/SDIL

Karlsruhe Institute of Technology (KIT)
Institute of Telematics (TM)
Pervasive Computing Systems - Prof. Beigl


Bldg. 07.07., Room 211
Vincenz Prießnitz Str. 1, 76131 Karlsruhe

+49 (0)721 608 41706
www.teco.kit.edu/~riedel

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