qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [Bug 1819108] [NEW] qemu-bridge-helper failure but qemu not exit
@ 2019-03-08  6:52 cavanxg
  2021-05-05 11:18 ` [Bug 1819108] " Thomas Huth
  0 siblings, 1 reply; 2+ messages in thread
From: cavanxg @ 2019-03-08  6:52 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

When qemu-bridge-helper run failed, its parent process qemu is still alive.
This is my command line:

qemu-system-x86_64 -curses -enable-kvm -cpu host -smp 4 -m 4096 \
  -vnc :1 \
  -kernel /data/xugang_vms/boot/vmlinuz \
  -initrd /data/xugang_vms/boot/initram \
  -append 'module_blacklist=drm,evbug net.ifnames=0 biosdevname=0 ROOTDEV=rootfs' \
  -drive file=/data/xugang_vms/instances/vn7/rootfs.img,format=qcow2,if=virtio \
  -monitor unix:/data/xugang_vms/var/monitor/vn7.sock,server,nowait \
  -netdev bridge,br=vmbr99,helper="/root/bridgehelper --ns=kvm_1 ",id=n1 -device virtio-net,netdev=n1,mac=92:99:98:76:01:07

"/root/bridgehelper" is self defined helper binary by me. But after
bridge-helper exited with failure(not send fd to qemu process yet), the
linux vm's console will be messed up. I checked the qemu source code(at
net/tap.c) and found following snip:

===>
do {
            fd = recv_fd(sv[0]);
        } while (fd == -1 && errno == EINTR);
        saved_errno = errno;

        close(sv[0]);

        while (waitpid(pid, &status, 0) != pid) {
            /* loop */
        }
<=========

why recv_fd will infinitely wait for recv? Maybe it shall waitpid and
then recv_fd ?

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1819108

Title:
  qemu-bridge-helper failure but qemu not exit

Status in QEMU:
  New

Bug description:
  When qemu-bridge-helper run failed, its parent process qemu is still alive.
  This is my command line:

  qemu-system-x86_64 -curses -enable-kvm -cpu host -smp 4 -m 4096 \
    -vnc :1 \
    -kernel /data/xugang_vms/boot/vmlinuz \
    -initrd /data/xugang_vms/boot/initram \
    -append 'module_blacklist=drm,evbug net.ifnames=0 biosdevname=0 ROOTDEV=rootfs' \
    -drive file=/data/xugang_vms/instances/vn7/rootfs.img,format=qcow2,if=virtio \
    -monitor unix:/data/xugang_vms/var/monitor/vn7.sock,server,nowait \
    -netdev bridge,br=vmbr99,helper="/root/bridgehelper --ns=kvm_1 ",id=n1 -device virtio-net,netdev=n1,mac=92:99:98:76:01:07

  "/root/bridgehelper" is self defined helper binary by me. But after
  bridge-helper exited with failure(not send fd to qemu process yet),
  the linux vm's console will be messed up. I checked the qemu source
  code(at net/tap.c) and found following snip:

  ===>
  do {
              fd = recv_fd(sv[0]);
          } while (fd == -1 && errno == EINTR);
          saved_errno = errno;

          close(sv[0]);

          while (waitpid(pid, &status, 0) != pid) {
              /* loop */
          }
  <=========

  why recv_fd will infinitely wait for recv? Maybe it shall waitpid and
  then recv_fd ?

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1819108/+subscriptions

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-05-05 11:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-08  6:52 [Qemu-devel] [Bug 1819108] [NEW] qemu-bridge-helper failure but qemu not exit cavanxg
2021-05-05 11:18 ` [Bug 1819108] " Thomas Huth

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).