qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Kittel <kittel@in.tum.de>
To: kvm@vger.kernel.org
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] KVM freeze when using --serial
Date: Wed, 07 Apr 2010 16:32:33 +0200	[thread overview]
Message-ID: <4BBC9781.6030705@in.tum.de> (raw)

[-- Attachment #1: Type: text/plain, Size: 1111 bytes --]

Hi there,

I already posted this problem to #kvm on freenode.

Please set me in CC: when replying to this mail, as I am not subscribed 
to this mailing lists right now.

The Scenario is as follows:

I got 2 VM processes in userspace.

The first is started with the parameter --monitor pty.
    => This results in a file /dev/pts/x in the host,
        (crw--w---- 1 kittel tty 136, 3 2010-04-07 15:51 /dev/pts/3 on 
my system)

Another VM is then started with the parameter --serial /dev/pts/3
    => This results in /dev/ttyS0 inside the second VM.

Both VMs are running debian lenny. The host (debian) uses qemu-kvm 0.12.3.
"startvms.sh start" is used to start the VMs.

Running the executable build from test.c in the second VM results in a 
freeze of this VM.
(The test.c included uses /dev/ttyS1 as /dev/ttyS0 is the VMs serial 
console in my setup.)
The process uses 100% CPU and is stuck in kvm_mutex_lock().

Trying to use the build in gdbserver didn´t work because it also locked.

Is there a way to tunnel one VMs monitor console to another VM?

Thanks Thomas





[-- Attachment #2: test.c --]
[-- Type: text/x-csrc, Size: 585 bytes --]

#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>

#include <signal.h>

#include <pthread.h>

void signal_handler(int signum){
	pthread_exit(NULL);
}

void *readFile(void * ptr){
	signal(SIGTERM, signal_handler);
	int fd;
	char buffer;
	fd = open("/dev/ttyS1", O_RDONLY);
	while(true){
		read(fd, &buffer, 1);
		printf("%c", buffer);
		fflush(stdout);
	}

	close(fd);
	pthread_exit(NULL);

}

int main(int argc, char** argv){
	pthread_t thread;

	pthread_create(&thread, NULL, &readFile, NULL);

	sleep(10);
		
	pthread_kill(thread, SIGTERM);
	pthread_join(thread, NULL);

}
	

[-- Attachment #3: startvms.sh --]
[-- Type: application/x-sh, Size: 1178 bytes --]

             reply	other threads:[~2010-04-07 14:32 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-07 14:32 Thomas Kittel [this message]
2010-04-07 14:52 ` [Qemu-devel] Re: KVM freeze when using --serial Thomas Kittel

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=4BBC9781.6030705@in.tum.de \
    --to=kittel@in.tum.de \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).