On 2016-07-28 22:48:54 +0200, Francesco Poli wrote:
> This was somewhat intended: hitting [Ctrl-C] was supposed to interrupt
> the bug report retrieval, while giving the user a chance to decide what
> to do (retry and/or aborting and/or going on with the
> installation/upgrade)...

So, apt-listbugs traps SIGINT.

> > but apt-listbugs is still running and attached to the terminal:
> > 
> > UID        PID  PPID  C STIME TTY          TIME CMD
> > root       702   701  1 12:36 pts/6    00:00:00 /usr/bin/ruby 
> > /usr/sbin/apt-listbugs apt
> 
> ... this is instead unexpected!
> I managed to reproduce the misbehavior, but I have no idea why it
> happens.   :-(
> 
> The shell prompt should not reappear, while apt-listbugs is still
> running!

Perhaps a problem on how SIGINT is handled, similar to what is
described here if /bin/sh is involved somewhere:

  https://www.cons.org/cracauer/sigint.html

I suspect that some process (aptitude or a descendant) runs
apt-listbugs with system(), which is based on /bin/sh, thus
dash in most cases. So, it could be a consequence of this bug:

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683671

(note: the particular problem with Emacs has been "fixed" in Emacs,
i.e. Emacs no longer uses SIGINT for Ctrl-G or something like that,
but the problem related to SIGINT is still present in dash.)

> > Now, if I type Return, it is grabbed by apt-listbugs though I have
> > my shell prompt, and I get an additional error message:
> > 
> > root@zira:/home/vinc17# aptitude
> > Interruptedactions...
> >  Faileving bug reports... 0%^C
> > Error retrieving bug reports from the server with the following error 
> > message:
> > E: exit
> > It could be because your network is down, or because of broken proxy 
> > servers, or the BTS server itself is down. Check network configuration and 
> > try again
> > Retry downloading bug information? [Y/n] 
> > root@zira:/home/vinc17# E: Input/output error @ io_fillbuf - fd:0 <STDIN>
> 
> This is even more awkward: I tried to understand where this error is
> coming from, but I haven't yet succeeded.

Both the interactive shell and apt-listbugs are attached to the
terminal and try to read from it. So, awkward things can occur.

-- 
Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

Reply via email to