This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: Calling man from nonexistent directory cause fatal error
- From: "cyg Simple" <cygsimple at gmail dot com>
- To: <cygwin at cygwin dot com>
- Date: Tue, 20 Jan 2015 08:55:31 -0500
- Subject: RE: Calling man from nonexistent directory cause fatal error
- Authentication-results: sourceware.org; auth=none
- References: <296158004 dot 20150120043836 at yandex dot ru>
> From: Andrey Repin
>
> I was doing some cleanup, and accidentally left Cygwin terminal hanging in
a
> directory I've since deleted.
> When trying to reference bash manual from there, the thing all went down
in
> flames of
>
> $ man bash
> man: can't change directory to '/home/anrdaemon/1': Permission denied
> man: command exited with status 255: (cd /home/anrdaemon/1 && LESS=-
> ix8RmPm Manual page bash(1) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB
> %pB\%.. (press h for help or q to quit)$PM Manual page bash(1) ?ltline
> %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to
quit)$
> MAN_PN=bash(1) less -s)
>
> Is this expected behavior? Why it is trying to chdir anywhere, anyway?
> I can reproduce this from both local and remote filesystems.
>
I imagine that Cygwin is trying to put the child processes in the same
working directory which no longer exists. On a real *NIX the directory
would not have actually been deleted until the last process had released its
connections to the directory. That doesn't happen on Windows. The only fix
I can think is for Cygwin to hold open the directory of the CWD but that has
other side effects such as not being able to delete the directory.
--
cyg Simple
--
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