delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/03/01/10:26:35

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Thu, 1 Mar 2012 16:24:48 +0100
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: setsid rxvt & # window comes up, hangs
Message-ID: <20120301152448.GB28901@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <201202251242 DOT q1PCgi6V030672 AT localhost DOT localdomain>
MIME-Version: 1.0
In-Reply-To: <201202251242.q1PCgi6V030672@localhost.localdomain>
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 Chris,

On Feb 25 06:42, Tom Rodman wrote:
> Hello:
> 
> When I run
>   setsid rxvt &
> the window opens and hangs without a shell prompt.
> 
>   rxvt &  # works ok

I've looked through the snapshots.  setsid rxvt& worked until
2011-10-13.  From 2011-10-15 up to 2011-10-21 it was not possible to
start rxvt at all, error message "rxvt: could not obtain control of
tty".  Starting with 2011-10-22, rxvt hangs with two processes in the
process list:

     2688       1    2688       2708  pty1    11001 15:48:58 /usr/bin/rxvt
S    1236    2688    1236       1236  pty1    11001 15:48:58 /usr/bin/rxvt

Observing what happens with strace suggests that the child with pid
1236 handles a SIGTTOU:

   18  591023 [sig] rxvt 1236 sigpacket::process: signal 22 processing
  159  591182 [sig] rxvt 1236 _cygtls::find_tls: signal 22
   53  591235 [sig] rxvt 1236 sigpacket::process: signal 22, about to call 0x61039331
   53  591288 [sig] rxvt 1236 setup_handler: controlled interrupt. stackptr 0x28DA34, stack 0x28DA30, stackptr[-1] 0x414FE1
  [...]

and then the parent 2688 is supposed to handle a SIGCHLD.  The problem
is apparently that it can't handle this signal:

  161  591898 [main] rxvt 1236 sig_handle_tty_stop: process 1236 stopped by signal 22
   71  592009 [waitproc] rxvt 2688 sig_send: returning 0x0 from sending signal 20
   82  592091 [sig] rxvt 2688 _cygtls::find_tls: signal 20
  158  592249 [sig] rxvt 2688 sigpacket::process: signal 20, about to call 0x4053F0
   20  592269 [waitproc] rxvt 2688 proc_waiter: looping
  112  592381 [sig] rxvt 2688 setup_handler: suspending thread
  296  592677 [sig] rxvt 2688 _cygtls::inside_kernel: pc 0x76798AFE, h 0x76780000, inside_kernel 1
   92  592769 [sig] rxvt 2688 setup_handler: couldn't interrupt.  trying again.
  139  592908 [sig] rxvt 2688 setup_handler: suspending thread
  [...]

At this point, the double loop in setup_handler runs the full 100
iterations up to:

 3940  744861 [sig] rxvt 2688 setup_handler: signal 20 not delivered
 
From there on, nothing much happens.  The parent waits in select and
the child is stopped.

Do you have an idea why this happens?  Anything I could try?


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