delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/03/07/12:48:40

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Wed, 7 Mar 2012 18:47:49 +0100
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: cygwin-1.7.10-1 fork - address space needed by ... already in use
Message-ID: <20120307174749.GB19570@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <4F31559B DOT 6060600 AT cs DOT utoronto DOT ca> <B0ED7173-1AC3-4B4E-8B79-3A9B22652684 AT Denis-Excoffier DOT org> <20120208090824 DOT GA1724 AT qp9482> <20120208092711 DOT GF25129 AT calimero DOT vinschen DOT de> <20120208102235 DOT GA2796 AT qp9482> <20120304172210 DOT GI18852 AT calimero DOT vinschen DOT de> <20120305070927 DOT GA2396 AT qp9482> <20120305095919 DOT GO18852 AT calimero DOT vinschen DOT de> <20120305120230 DOT GA6624 AT qp9482> <20120305121436 DOT GR18852 AT calimero DOT vinschen DOT de>
MIME-Version: 1.0
In-Reply-To: <20120305121436.GR18852@calimero.vinschen.de>
User-Agent: Mutt/1.5.21 (2010-09-15)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Hi Denis,

On Mar  5 13:14, Corinna Vinschen wrote:
> On Mar  5 13:02, Denis Excoffier wrote:
> > On Mon, Mar 05, 2012 at 10:59:19AM +0100, Corinna Vinschen wrote:
> > >> On Mar  5 08:09, Denis Excoffier wrote:
> > >> >    947 [main] sh 660! _pinfo::dup_proc_pipe: something failed for pid 0: res 660, hProcess 0x6C8, wr_proc_pipe 0x758 vs. 0x758, Win32 error 5 
> > >> >      2 [main] sh 3360! _pinfo::dup_proc_pipe: something failed for pid 0: res 3360, hProcess 0x6BC, wr_proc_pipe 0x758 vs. 0x758, Win32 error 5 
> > >> >   1345 [main] sh 3772! _pinfo::dup_proc_pipe: something failed for pid 0: res 3772, hProcess 0x6CC, wr_proc_pipe 0x758 vs. 0x758, Win32 error 5 
> > >> > [...]
> > >> 
> > >> Actually, I don't quite understand them.  The pid is apparently not
> > >> initialized yet, at the time the message occurs.  The code in question
> > >> tries to duplicate a pipe handle into another process and fails.  But
> > >> the process handle to the other has been created by this process, so it
> > >> should have all rights to duplicate the handle.  Hmm.  What command
> > >> were you running at the time?  Maybe it is reproducible.
> > You mean, may be it is debuggable?
> > 
> > Please first apply the following, and provide me with further
> > instrumentation in order that i can narrow down the problem when it
> > occurs.
> > 
> > *** winsup0/cygwin/pinfo.cc	Wed Feb 15 15:46:18 2012
> > --- winsup/cygwin/pinfo.cc	Mon Mar  5 12:53:30 2012
> > ***************
> > *** 1001,1007 ****
> >       {
> >         wr_proc_pipe = orig_wr_proc_pipe;
> >         warn_printf ("something failed for pid %d: res %d, hProcess %p, wr_proc_pipe %p vs. %p, %E",
> > ! 		   res, pid, hProcess, wr_proc_pipe, orig_wr_proc_pipe);
> >       }
> >     else
> >       {
> > --- 1001,1007 ----
> >       {
> >         wr_proc_pipe = orig_wr_proc_pipe;
> >         warn_printf ("something failed for pid %d: res %d, hProcess %p, wr_proc_pipe %p vs. %p, %E",
> > ! 		   pid, res, hProcess, wr_proc_pipe, orig_wr_proc_pipe);
> >       }
> >     else
> >       {
> 
> Thanks for catching!  I applied this patch.  So the pids are not wrong,
> after all.  As for debugging, it would be helpful to have a command to
> reproduce it.  I can't tell you off-hand what to hunt for.  This is
> Chris' code, so he probably knows much better what to look for than I do.

can you please test this again using the latest developer snapshot or
the current from CVS if you build Cygwin by yourself?  It provides a bit
more information to find the reason for the permission denied error in
_pinfo::dup_proc_pipe.

In theory, the user should have permissions to duplicate handles into
every own process, if the handle has been opened with these permissions,
so it's quite interesting to find the reason.


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019