* [Qemu-devel] qemu-fast 0.6.0 hanging... @ 2004-07-19 3:48 Damien Mascord 2004-07-20 7:23 ` [Qemu-devel] qemu-fast 0.6.0 hanging... [follow up in case this email got lost...] Damien Mascord 0 siblings, 1 reply; 3+ messages in thread From: Damien Mascord @ 2004-07-19 3:48 UTC (permalink / raw) To: qemu-devel Hi, I am trying to get qemu 0.6.0 running on Debian testing, running vanilla 2.4.26 kernel. If I use the qemu 0.6.0 binaries from the qemu website, qemu-fast and qemu binaries do in fact load the kernel as expected, though both hang upon shutdown. Though, if I compile the 0.6.0 from source on the host itself, I see the following behaviour: If I run qemu without the "-fast" affix, then it will load the linux-test image (as provided on the qemu website), though on shutdown, it hangs and uses 99-100% CPU. If I run qemu-fast, then it hangs on startup, and uses 99-100% CPU straight away. I am using gcc (GCC) 3.3.4 (Debian 1:3.3.4-3), with libc6 2.3.2. I am compiling with the following options: CFLAGS="-Wall -g -O2" ./configure --target-list="i386-user i386 i386-softmmu arm-user sparc-user ppc-user ppc-softmmu" --prefix=/usr --enable-slirp Install prefix /usr BIOS directory /usr/share/qemu binary directory /usr/bin Manual directory /usr/share/man ELF interp prefix /usr/gnemul/qemu-%M Source path /home/tusker/qemu-0.6.0 C compiler gcc make make host CPU i386 host big endian no target list i386-user i386 i386-softmmu arm-user sparc-user ppc-user ppc-softmmu gprof enabled no static build no SDL support yes SDL static link yes mingw32 support no If I change the -O2 to -O0, it fails to compile. If I change to -O1 it compiles correctly, though still behaves like -O2. (ie, hangs on startup for qemu-fast, hangs on shutdown for qemu.) The compile error for -O0 is as follows: gcc -Wall -g -O0 -fno-strict-aliasing -fomit-frame-pointer -I. -I/home/tusker/qemu-0.6.0/target-i386 -I/home/tusker/qemu-0.6.0 -I/home/tusker/qemu-0.6.0/linux-user -I/home/tusker/qemu-0.6.0/linux-user/i386 -D_GNU_SOURCE -I/home/tusker/qemu-0.6.0/slirp -c -o cpu-exec.o /home/tusker/qemu-0.6.0/cpu-exec.c /home/tusker/qemu-0.6.0/exec-all.h: In function `testandset': /home/tusker/qemu-0.6.0/exec-all.h:413: error: can't find a register in class `GENERAL_REGS' while reloading `asm' make[2]: *** [cpu-exec.o] Error 1 make[2]: Leaving directory `/home/tusker/qemu-0.6.0/i386-user' make[1]: *** [all] Error 1 make[1]: Leaving directory `/home/tusker/qemu-0.6.0' make: *** [build-stamp] Error 2 Is there an easy way to debug what is going wrong here? According to the user documention, attaching with gdb, and then issueing a few commands through gdb should help, but I'm not very familiar with gdb... :) For interest sake, here is the following when normal qemu is shutting down: 1) On the console it says: flushing ide devices: hda hdc Restarting system. 2) gdb 'info reg' shows: eax 0x909d 37021 ecx 0x30001 196609 edx 0x80 128 ebx 0x80 128 esp 0x8ff8 0x8ff8 ebp 0x0 0x0 esi 0x9d 157 edi 0xffe4 65508 eip 0xff53 0xff53 eflags 0x86 134 cs 0xf000 61440 ss 0x9000 36864 ds 0x9000 36864 es 0x9000 36864 fs 0x9000 36864 gs 0x9000 36864 3) gdb 'x/10i $eip' shows: 0xff53: (bad) 0xff54: jbe 0xff55 0xff56: add %al,(%eax) 0xff58: aad $0x3 0xff5a: outsb %ds:(%esi),(%dx) 0xff5b: call *%ebp 0xff5d: aas 0xff5e: aad $0x3 0xff60: push %eax 0xff61: add %dl,%ah For the qemu-fast binary, gdb can't seem to attach to anything, and the following message comes up: Interrupted while waiting for the program. Give up (and stop debugging it)? (y or n) n Is there anything I can do to work out what is going on ? Damien -- Damien Mascord (tusker at tusker dot org) GPG key 2CB181BE / 93B2 EF21 0C7C F022 F467 7966 219E 92B3 2CB1 81BE ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] qemu-fast 0.6.0 hanging... [follow up in case this email got lost...] 2004-07-19 3:48 [Qemu-devel] qemu-fast 0.6.0 hanging Damien Mascord @ 2004-07-20 7:23 ` Damien Mascord 2004-07-20 10:42 ` Damien Mascord 0 siblings, 1 reply; 3+ messages in thread From: Damien Mascord @ 2004-07-20 7:23 UTC (permalink / raw) To: qemu-devel Damien Mascord wrote: > Hi, > > I am trying to get qemu 0.6.0 running on Debian testing, running vanilla > 2.4.26 kernel. > > If I use the qemu 0.6.0 binaries from the qemu website, qemu-fast and > qemu binaries do in fact load the kernel as expected, though both hang > upon shutdown. > > Though, if I compile the 0.6.0 from source on the host itself, I see the > following behaviour: > > If I run qemu without the "-fast" affix, then it will load the > linux-test image (as provided on the qemu website), though on shutdown, > it hangs and uses 99-100% CPU. > > If I run qemu-fast, then it hangs on startup, and uses 99-100% CPU > straight away. > > I am using gcc (GCC) 3.3.4 (Debian 1:3.3.4-3), with libc6 2.3.2. > > I am compiling with the following options: > > CFLAGS="-Wall -g -O2" ./configure --target-list="i386-user i386 > i386-softmmu arm-user sparc-user ppc-user ppc-softmmu" --prefix=/usr > --enable-slirp > Install prefix /usr > BIOS directory /usr/share/qemu > binary directory /usr/bin > Manual directory /usr/share/man > ELF interp prefix /usr/gnemul/qemu-%M > Source path /home/tusker/qemu-0.6.0 > C compiler gcc > make make > host CPU i386 > host big endian no > target list i386-user i386 i386-softmmu arm-user sparc-user > ppc-user ppc-softmmu > gprof enabled no > static build no > SDL support yes > SDL static link yes > mingw32 support no > > If I change the -O2 to -O0, it fails to compile. If I change to -O1 it > compiles correctly, though still behaves like -O2. (ie, hangs on startup > for qemu-fast, hangs on shutdown for qemu.) > > The compile error for -O0 is as follows: > > gcc -Wall -g -O0 -fno-strict-aliasing -fomit-frame-pointer -I. > -I/home/tusker/qemu-0.6.0/target-i386 -I/home/tusker/qemu-0.6.0 > -I/home/tusker/qemu-0.6.0/linux-user > -I/home/tusker/qemu-0.6.0/linux-user/i386 -D_GNU_SOURCE > -I/home/tusker/qemu-0.6.0/slirp -c -o cpu-exec.o > /home/tusker/qemu-0.6.0/cpu-exec.c > /home/tusker/qemu-0.6.0/exec-all.h: In function `testandset': > /home/tusker/qemu-0.6.0/exec-all.h:413: error: can't find a register in > class `GENERAL_REGS' while reloading `asm' > make[2]: *** [cpu-exec.o] Error 1 > make[2]: Leaving directory `/home/tusker/qemu-0.6.0/i386-user' > make[1]: *** [all] Error 1 > make[1]: Leaving directory `/home/tusker/qemu-0.6.0' > make: *** [build-stamp] Error 2 > > Is there an easy way to debug what is going wrong here? > > According to the user documention, attaching with gdb, and then issueing > a few commands through gdb should help, but I'm not very familiar with > gdb... :) > > For interest sake, here is the following when normal qemu is shutting down: > > 1) On the console it says: > > flushing ide devices: hda hdc > Restarting system. > > 2) gdb 'info reg' shows: > eax 0x909d 37021 > ecx 0x30001 196609 > edx 0x80 128 > ebx 0x80 128 > esp 0x8ff8 0x8ff8 > ebp 0x0 0x0 > esi 0x9d 157 > edi 0xffe4 65508 > eip 0xff53 0xff53 > eflags 0x86 134 > cs 0xf000 61440 > ss 0x9000 36864 > ds 0x9000 36864 > es 0x9000 36864 > fs 0x9000 36864 > gs 0x9000 36864 > > 3) gdb 'x/10i $eip' shows: > 0xff53: (bad) > 0xff54: jbe 0xff55 > 0xff56: add %al,(%eax) > 0xff58: aad $0x3 > 0xff5a: outsb %ds:(%esi),(%dx) > 0xff5b: call *%ebp > 0xff5d: aas > 0xff5e: aad $0x3 > 0xff60: push %eax > 0xff61: add %dl,%ah > > For the qemu-fast binary, gdb can't seem to attach to anything, and the > following message comes up: > > Interrupted while waiting for the program. > Give up (and stop debugging it)? (y or n) n > > > Is there anything I can do to work out what is going on ? > > Damien > -- Damien Mascord (tusker at tusker dot org) GPG key 2CB181BE / 93B2 EF21 0C7C F022 F467 7966 219E 92B3 2CB1 81BE ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] qemu-fast 0.6.0 hanging... [follow up in case this email got lost...] 2004-07-20 7:23 ` [Qemu-devel] qemu-fast 0.6.0 hanging... [follow up in case this email got lost...] Damien Mascord @ 2004-07-20 10:42 ` Damien Mascord 0 siblings, 0 replies; 3+ messages in thread From: Damien Mascord @ 2004-07-20 10:42 UTC (permalink / raw) To: qemu-devel Damien Mascord wrote: > Damien Mascord wrote: > >> Hi, >> >> I am trying to get qemu 0.6.0 running on Debian testing, running >> vanilla 2.4.26 kernel. Ok, further debugging using strace this time reveals something funny... As you can see at the end, we have hit a loop, about 24 SIGSEGV, then one SIGIO, then about 24 SIGSEGV ad finitum. It won't stop until a kill is issued. Damien --- SIGSEGV (Segmentation fault) @ 0 (0) --- rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 . . . --- SIGIO (I/O possible) @ 0 (0) --- times({tms_utime=1, tms_stime=2, tms_cutime=0, tms_cstime=0}) = 103937920 sigreturn() = ? (mask now [RTMIN]) . . . ------------------------------------- open("/etc/localtime", O_RDONLY) = 7 fstat64(7, {st_mode=S_IFREG|0644, st_size=152, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40000000 read(7, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\7\0\0\0\7\0"..., 4096) = 152 close(7) = 0 munmap(0x40000000, 4096) = 0 old_mmap(0xab076000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xab076000 old_mmap(0xab078000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xab078000 old_mmap(0xab07a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xab07a000 times({tms_utime=1, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 103937919 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 fcntl64(0, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE) ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost -isig -icanon -echo ...}) = 0 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost -isig -icanon -echo ...}) = 0 fcntl64(0, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 old_mmap(0xab07c000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xab07c000 old_mmap(0xab080000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xab080000 mprotect(0xfe000, 4096, PROT_READ) = -1 ENOMEM (Cannot allocate memory) old_mmap(0xab084000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xab084000 --- SIGSEGV (Segmentation fault) @ 0 (0) --- old_mmap(0xab088000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xab088000 old_mmap(NULL, 4096, PROT_READ, MAP_SHARED|MAP_FIXED, 4, 0) = 0 rt_sigreturn(0) = 0 --- SIGIO (I/O possible) @ 0 (0) --- times({tms_utime=1, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 103937919 sigreturn() = ? (mask now [RTMIN]) --- SIGSEGV (Segmentation fault) @ 0 (0) --- mprotect(0, 4096, PROT_READ|PROT_WRITE) = 0 rt_sigreturn(0) = 0 poll([{fd=0, events=POLLIN}], 1, 0) = 0 select(0, [], [], [], {0, 0}) = 0 (Timeout) gettimeofday({1090320144, 481225}, NULL) = 0 times({tms_utime=1, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 103937919 times({tms_utime=1, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 103937919 --- SIGSEGV (Segmentation fault) @ 0 (0) --- old_mmap(0xf000, 4096, PROT_READ, MAP_SHARED|MAP_FIXED, 4, 0xf000) = 0xf000 rt_sigreturn(0xe0ad) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- mprotect(0xf000, 4096, PROT_READ|PROT_WRITE) = 0 rt_sigreturn(0xe0ad) = 0 mprotect(0xf0000, 4096, PROT_READ) = -1 ENOMEM (Cannot allocate memory) --- SIGSEGV (Segmentation fault) @ 0 (0) --- old_mmap(0xfd000, 4096, PROT_READ, MAP_SHARED|MAP_FIXED, 4, 0x840d000) = 0xfd000 rt_sigreturn(0xda73) = 983040 --- SIGSEGV (Segmentation fault) @ 0 (0) --- old_mmap(0xf0000, 4096, PROT_READ, MAP_SHARED|MAP_FIXED, 4, 0x8400000) = 0xf0000 rt_sigreturn(0x168) = 983040 mprotect(0xf9000, 4096, PROT_READ) = -1 ENOMEM (Cannot allocate memory) --- SIGSEGV (Segmentation fault) @ 0 (0) --- old_mmap(0x9f000, 4096, PROT_READ, MAP_SHARED|MAP_FIXED, 4, 0x9f000) = 0x9f000 rt_sigreturn(0x1) = 654336 --- SIGIO (I/O possible) @ 0 (0) --- times({tms_utime=1, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 103937919 sigreturn() = ? (mask now [RTMIN]) --- SIGSEGV (Segmentation fault) @ 0 (0) --- mprotect(0x9f000, 4096, PROT_READ|PROT_WRITE) = 0 rt_sigreturn(0x1) = 654336 --- SIGIO (I/O possible) @ 0 (0) --- times({tms_utime=1, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 103937919 sigreturn() = ? (mask now [RTMIN]) --- SIGIO (I/O possible) @ 0 (0) --- times({tms_utime=1, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 103937919 sigreturn() = ? (mask now [RTMIN]) --- SIGIO (I/O possible) @ 0 (0) --- times({tms_utime=1, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 103937919 sigreturn() = ? (mask now [RTMIN]) --- SIGIO (I/O possible) @ 0 (0) --- times({tms_utime=1, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 103937919 sigreturn() = ? (mask now [RTMIN]) --- SIGSEGV (Segmentation fault) @ 0 (0) --- old_mmap(0xc0000, 4096, PROT_READ, MAP_SHARED|MAP_FIXED, 4, 0x8440000) = 0xc0000 rt_sigreturn(0x4) = 786432 mprotect(0xc0000, 4096, PROT_READ) = 0 mprotect(0xc3000, 4096, PROT_READ) = -1 ENOMEM (Cannot allocate memory) mprotect(0xc6000, 4096, PROT_READ) = -1 ENOMEM (Cannot allocate memory) --- SIGIO (I/O possible) @ 0 (0) --- times({tms_utime=1, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 103937919 sigreturn() = ? (mask now [RTMIN]) --- SIGSEGV (Segmentation fault) @ 0 (0) --- old_mmap(0xc3000, 4096, PROT_READ, MAP_SHARED|MAP_FIXED, 4, 0x8443000) = 0xc3000 rt_sigreturn(0x321d) = 786432 mprotect(0xc7000, 4096, PROT_READ) = -1 ENOMEM (Cannot allocate memory) --- SIGSEGV (Segmentation fault) @ 0 (0) --- --- SIGSEGV (Segmentation fault) @ 0 (0) --- old_mmap(0xc3000, 4096, PROT_READ, MAP_SHARED|MAP_FIXED, 4, 0x8443000) = 0xc3000 rt_sigreturn(0x321d) = 786432 mprotect(0xc7000, 4096, PROT_READ) = -1 ENOMEM (Cannot allocate memory) --- SIGSEGV (Segmentation fault) @ 0 (0) --- old_mmap(0xc6000, 4096, PROT_READ, MAP_SHARED|MAP_FIXED, 4, 0x8446000) = 0xc6000 rt_sigreturn(0x6fb1) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- old_mmap(0xc7000, 4096, PROT_READ, MAP_SHARED|MAP_FIXED, 4, 0x8447000) = 0xc7000 rt_sigreturn(0x7019) = 2418 mprotect(0xc5000, 4096, PROT_READ) = -1 ENOMEM (Cannot allocate memory) --- SIGIO (I/O possible) @ 0 (0) --- times({tms_utime=1, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 103937919 sigreturn() = ? (mask now [RTMIN]) --- SIGSEGV (Segmentation fault) @ 0 (0) --- rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 -- Damien Mascord (tusker at tusker dot org) GPG key 2CB181BE / 93B2 EF21 0C7C F022 F467 7966 219E 92B3 2CB1 81BE ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-07-20 10:46 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-07-19 3:48 [Qemu-devel] qemu-fast 0.6.0 hanging Damien Mascord 2004-07-20 7:23 ` [Qemu-devel] qemu-fast 0.6.0 hanging... [follow up in case this email got lost...] Damien Mascord 2004-07-20 10:42 ` Damien Mascord
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).