Linux Container Development
 help / color / mirror / Atom feed
From: Grzegorz Nosek <root-AfQBxy1nhrQ00sYp1HPQUA@public.gmane.org>
To: "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org,
	Sukadev Bhattiprolu
	<sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
	Alan Cox <alan-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>,
	lxc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: BUG in tty_open when using containers and ptrace
Date: Tue, 14 Jul 2009 00:34:44 +0200	[thread overview]
Message-ID: <20090713223444.GM18617@megiteam.pl> (raw)
In-Reply-To: <20090713202610.GA6447-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>

On Mon, Jul 13, 2009 at 03:26:10PM -0500, Serge E. Hallyn wrote:
> The container init is /bin/sh, and you
> while [ 1 ]; do
> 	virsh --connect lxc:/// start vm1
> 	virsh --connect lxc:/// destroy vm1
> done
> 
> ?  (I thought there was something about stracing the container
> init too, so i was basically doing the above while also
> stracing the bash shell)

That was the first occurrence of the crash (though I can't tell you
whether I used sash or upstart then). When I could reproduce the crash
reliably, I was using upstart without strace and the script was
basically

while [ 1 ]; do
	virsh --connect lxc:/// start vm1
	sleep 3
	virsh --connect lxc:/// shutdown vm1
	sleep 3
done

to let the startup/shutdown settle (also, SLUB debugging had to be on to
poison freed memory -- this was crucial for me).

OK, I've been writing this mail for over an hour now, but I managed to
produce a single program which produces the oops I've been encountering.

Simply run it as container init. Sometimes it oopses immediately,
usually it goes as far as the pause. If you kill it with SIGINT then,
everything will probably be fine. But if you first kill the libvirt_lxc
process above it (holding the pty master), and only then kill init, it
should oops.

Note that the weird mount stuff is critical here (couldn't reproduce the
oops by simply opening /dev/pts/0, even if I mounted it on /dev/console
before).

After applying my patch from some earlier mail I can no longer crash the
kernel, but the "Hello world!" appears on my current VT, so there's
potential for container root to mess up host console. I don't know how
that happened, actually.

Best regards,
 Grzegorz Nosek

/*------------------------------------------------------------------*/
#include <sys/mount.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/signal.h>

void dummy(int sig)
{
}

int main(void)
{
	sleep(2); /* wait for /dev/pts/0 to appear */
	close(0);
	close(1);
	close(2);
	mount("/dev/pts/0", "/dev/console", NULL, MS_BIND, NULL);
	signal(SIGINT, dummy);
	pause();

	open("/dev/console", O_RDWR);
	dup(0);
	dup(0);
	write(1, "Hello world!\n", sizeof("Hello world!\n")-1);
	return 0;
}

  parent reply	other threads:[~2009-07-13 22:34 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-12 13:45 BUG in tty_open when using containers and ptrace Môshe van der Sterre
2009-04-13 14:20 ` Serge E. Hallyn
     [not found]   ` <20090413142038.GB13007-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-04 13:28     ` Grzegorz Nosek
     [not found]       ` <20090704132851.GA16373-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-04 14:34         ` Grzegorz Nosek
     [not found]           ` <20090704143412.GA27523-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-05 12:08             ` Grzegorz Nosek
2009-07-07  3:31             ` Sukadev Bhattiprolu
     [not found]               ` <20090707033135.GA29461-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-07  7:34                 ` Grzegorz Nosek
2009-07-08 10:54             ` Grzegorz Nosek
     [not found]               ` <20090708105417.GA16833-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-11 19:30                 ` Grzegorz Nosek
     [not found]                   ` <20090711193055.GA11303-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-11 20:01                     ` Grzegorz Nosek
     [not found]                       ` <20090711200133.GB11303-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-11 22:19                         ` Alan Cox
     [not found]                           ` <20090711231935.6ff59796-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2009-07-12  7:49                             ` Grzegorz Nosek
     [not found]                               ` <20090712074932.GA17291-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-13 19:02                                 ` Serge E. Hallyn
     [not found]                                   ` <20090713190211.GA4208-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-13 19:30                                     ` Grzegorz Nosek
     [not found]                                       ` <20090713193058.GL18617-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-13 20:26                                         ` Serge E. Hallyn
     [not found]                                           ` <20090713202610.GA6447-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-13 22:34                                             ` Grzegorz Nosek [this message]
     [not found]                                               ` <20090713223444.GM18617-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-14  6:49                                                 ` Sukadev Bhattiprolu
     [not found]                                                   ` <20090714064905.GA25278-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-14 10:31                                                     ` Grzegorz Nosek
     [not found]                                                       ` <20090714103129.GB12958-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-15  4:47                                                         ` Sukadev Bhattiprolu
     [not found]                                                           ` <20090715044744.GA25745-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-15  5:42                                                             ` Grzegorz Nosek
2009-07-15 13:19                                                             ` Grzegorz Nosek
     [not found]                                                               ` <20090715131923.GB21417-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-18 20:52                                                                 ` Sukadev Bhattiprolu
     [not found]                                                                   ` <20090718205244.GA23625-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-19  7:15                                                                     ` Grzegorz Nosek
     [not found]                                                                       ` <20090719071531.GA20818-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-22  6:41                                                                         ` Sukadev Bhattiprolu
     [not found]                                                                           ` <20090722064120.GA24373-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-22 22:25                                                                             ` Grzegorz Nosek
     [not found]                                                                               ` <20090722222550.GA633-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-23  1:27                                                                                 ` Sukadev Bhattiprolu
     [not found]                                                                                   ` <20090723012733.GB27764-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-23  1:48                                                                                     ` H. Peter Anvin
     [not found]                                                                                       ` <4A67C187.5000201-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2009-07-23  7:47                                                                                         ` Grzegorz Nosek
     [not found]                                                                                           ` <20090723074736.GA20236-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-23  8:04                                                                                             ` [lxc-devel] " Daniel Lezcano
2009-07-23 18:26                                                                                         ` Grzegorz Nosek
     [not found]                                                                                           ` <20090723182620.GA16322-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-23 19:32                                                                                             ` Sukadev Bhattiprolu
     [not found]                                                                                               ` <20090723193245.GA25662-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-23 20:33                                                                                                 ` Grzegorz Nosek
     [not found]                                                                                                   ` <20090723203329.GC16322-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-23 22:11                                                                                                     ` H. Peter Anvin
     [not found]                                                                                                       ` <4A68E026.1070608-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2009-07-24  7:31                                                                                                         ` Grzegorz Nosek
     [not found]                                                                                                           ` <20090724073158.GA2617-yp6mvK3Bdd2rDJvtcaxF/A@public.gmane.org>
2009-07-30 18:06                                                                                                             ` Sukadev Bhattiprolu
     [not found]                                                                                                               ` <20090730180611.GA20872-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-30 18:44                                                                                                                 ` Sukadev Bhattiprolu
2009-07-31 21:58                                                                                                                 ` Grzegorz Nosek
2009-08-07 19:08                                                                                                                   ` Sukadev Bhattiprolu
2009-07-05 20:00         ` Môshe van der Sterre
2009-07-05 20:35           ` Grzegorz Nosek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090713223444.GM18617@megiteam.pl \
    --to=root-afqbxy1nhrq00syp1hpqua@public.gmane.org \
    --cc=alan-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org \
    --cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
    --cc=lxc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
    --cc=sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox