RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1437310 - The guest os can not boot when set qxl.vram64 >=2G
Summary: The guest os can not boot when set qxl.vram64 >=2G
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev
Version: 7.4
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Gerd Hoffmann
QA Contact: Guo, Zhiyi
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-03-30 03:24 UTC by yafu
Modified: 2017-08-02 04:35 UTC (History)
12 users (show)

Fixed In Version: qemu-kvm-rhev-2.9.0-1.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-08-02 04:35:59 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
The screenshots for guest os booting (416.69 KB, image/png)
2017-03-30 03:24 UTC, yafu
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2017:2392 0 normal SHIPPED_LIVE Important: qemu-kvm-rhev security, bug fix, and enhancement update 2017-08-01 20:04:36 UTC

Description yafu 2017-03-30 03:24:39 UTC
Created attachment 1267409 [details]
The screenshots for guest os booting

Description of problem:
The guest os can not boot when set qxl.vram64 >=2G.

Version-Release number of selected component (if applicable):
libvirt-3.1.0-2.el7.x86_64
qemu-kvm-rhev-2.8.0-6.el7.x86_64
seabios-bin-1.10.2-1.el7.noarch

How reproducible:
100%

Steps to Reproduce:
1.Edit a guest with qxl vram64=2G:
  ...
   <video>
      <model type='qxl' ram='65536' vram='65536' vram64='2097152' vgamem='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </video>
  ...

2.Start the guest:
#virsh start rhel7.3-min
 
Actual Results:
The guest os can not boot, please see the screenshots in the attachment.

Expected Results:
The guest os can boot correctly.

Additional info:
1.Check the qemu cmd line:
#/usr/libexec/qemu-kvm -name guest=rhel7.3-min,debug-threads=on ... -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,****vram64_size_mb=2048****...

2.The stack trace of the guest process is as follows:
# gstack `pidof qemu-kvm`
Thread 18 (Thread 0x7f3bd0fe8700 (LWP 32248)):
#0  0x00007f3bdbd8abf9 in syscall () from /lib64/libc.so.6
#1  0x00007f3bf4eb1276 in qemu_event_wait ()
#2  0x00007f3bf4ebfd0e in call_rcu_thread ()
#3  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 17 (Thread 0x7f3bcede3700 (LWP 32269)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 16 (Thread 0x7f3bce5e2700 (LWP 32271)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 15 (Thread 0x7f3bcdde1700 (LWP 32273)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 14 (Thread 0x7f3bcd5e0700 (LWP 32275)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 13 (Thread 0x7f3bccddf700 (LWP 32276)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 12 (Thread 0x7f3bcc5de700 (LWP 32277)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 11 (Thread 0x7f3bcbddd700 (LWP 32278)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 10 (Thread 0x7f3bcb5dc700 (LWP 32279)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 9 (Thread 0x7f3bcaddb700 (LWP 32280)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 8 (Thread 0x7f3bca5da700 (LWP 32281)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 7 (Thread 0x7f3bc9dd9700 (LWP 32282)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 6 (Thread 0x7f3bc95d8700 (LWP 32283)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 5 (Thread 0x7f3bc8dd7700 (LWP 32284)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 4 (Thread 0x7f3bc85d6700 (LWP 32285)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 3 (Thread 0x7f3bc7dd5700 (LWP 32286)):
#0  0x00007f3bdbd87507 in ioctl () from /lib64/libc.so.6
#1  0x00007f3bf4c0c2a5 in kvm_vcpu_ioctl ()
#2  0x00007f3bf4c0c35d in kvm_cpu_exec ()
#3  0x00007f3bf4bfaad6 in qemu_kvm_cpu_thread_fn ()
#4  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 2 (Thread 0x7f3a827ff700 (LWP 32299)):
#0  0x00007f3bdbd85dfd in poll () from /lib64/libc.so.6
#1  0x00007f3bddae422f in red_worker_main () from /lib64/libspice-server.so.1
#2  0x00007f3bdc068dc5 in start_thread () from /lib64/libpthread.so.0
#3  0x00007f3bdbd9073d in clone () from /lib64/libc.so.6
Thread 1 (Thread 0x7f3bf493fd40 (LWP 32205)):
#0  0x00007f3bdbd85ebf in ppoll () from /lib64/libc.so.6
#1  0x00007f3bf4e0fc09 in qemu_poll_ns ()
#2  0x00007f3bf4e0f5a8 in main_loop_wait ()
#3  0x00007f3bf4bc3460 in main ()

3.It works well with seabios-bin-1.9.1-5.el7_3.2.noarch.rpm

Comment 2 Ademar Reis 2017-04-03 12:52:53 UTC
I wonder if we document the limit for qxl.vram64 somewhere... Anyway, is it reasonable to set 2GB+ of vram memory in qxl? If not, feel free to close this BZ.

On the other hand, it used to work, which is why I'm adding the Regression keyword.

Comment 4 Gerd Hoffmann 2017-04-03 13:42:17 UTC
Very likely the same regression which poped up in bug 1393322.
Fixed in qemu 2.9, so the rebase should pick it up.

Comment 5 Ademar Reis 2017-04-03 17:50:44 UTC
(In reply to Gerd Hoffmann from comment #4)
> Very likely the same regression which poped up in bug 1393322.
> Fixed in qemu 2.9, so the rebase should pick it up.

OK, changing component to qemu-kvm-rhev (not seabios)

Comment 7 Yiqian Wei 2017-05-16 07:24:30 UTC
Reproduce
 host version:
      qemu-kvm-rhev-2.8.0-6.el7.x86_64
      kernel-3.10.0-600.el7.x86_64
test steps:
1.Edit a guest with qxl vram64=2G:
  ...
   <video>
      <model type='qxl' ram='65536' vram='65536' vram64='2097152' vgamem='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </video>
  ...

2.Start the guest:
#virsh start rhel7.3-min
 
Test Results:
The guest os can not boot.
-----------------------
Verify this bug on qemu-kvm-rhev-2.9.0-4.el7.x86_64 as same steps above.

Test results:
The guest os can boot succeed.

Comment 10 errata-xmlrpc 2017-08-02 04:35:59 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2017:2392


Note You need to log in before you can comment on or make changes to this bug.