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 1254924 - "-object" with unsupported class name makes qemu-kvm abort()
Summary: "-object" with unsupported class name makes qemu-kvm abort()
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm
Version: 7.2
Hardware: x86_64
OS: Linux
low
low
Target Milestone: rc
: ---
Assignee: Eduardo Habkost
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-08-19 09:08 UTC by Yanan Fu
Modified: 2015-08-31 16:39 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-08-31 16:39:55 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Yanan Fu 2015-08-19 09:08:38 UTC
Description of problem:
Add option "-object memory-backend-ram" in qemu commandline, will case qemu core dumped.


Version-Release number of selected component (if applicable):
qemu:qemu-kvm-1.5.3-101.el7.x86_64
kernel:3.10.0-304.el7.x86_64


How reproducible:
100%

Steps to Reproduce:
1.boot a guest, with "-object memory-backend-ram,...."
2.qemu will core dumped


Actual results:
qemu core dumped.

Expected results:
QE member have confirmed,qemu-kvm-1.5.3-101.el7.x86_64 does not support "memory-backend-ram", but it should prompt some useful information,instead of cause qemu core dumped.


Additional info:
CLI:
/usr/libexec/qemu-kvm -smp 4,cores=1,threads=1,sockets=4 -object memory-backend-ram,policy=bind,id=mem-0,size=512M,prealloc=yes,host-nodes=0 -numa node,memdev=mem-0,cpus=0
gdb:
(gdb) run -object memory-backend-ram,policy=bind,id=mem-0,size=512M,prealloc=yes,host-nodes=0 -numa node,memdev=mem-0,cpus=0
Starting program: /usr/libexec/qemu-kvm -object memory-backend-ram,policy=bind,id=mem-0,size=512M,prealloc=yes,host-nodes=0 -numa node,memdev=mem-0,cpus=0
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
**
ERROR:qom/object.c:409:object_new_with_type: assertion failed: (type != NULL)
Program received signal SIGABRT, Aborted.
0x00007ffff10e35f7 in raise () from /lib64/libc.so.6

(gdb) bt
#0  0x00007ffff10e35f7 in raise () from /lib64/libc.so.6
#1  0x00007ffff10e4ce8 in abort () from /lib64/libc.so.6
#2  0x00007ffff637a6d5 in g_assertion_message () from /lib64/libglib-2.0.so.0
#3  0x00007ffff637a76a in g_assertion_message_expr () from /lib64/libglib-2.0.so.0
#4  0x00005555556e4d99 in object_new_with_type (type=0x0) at qom/object.c:409
#5  0x00005555556e4dc5 in object_new (typename=typename@entry=0x555556d0cc20 "memory-backend-ram") at qom/object.c:423
#6  0x00005555557116c7 in object_create (opts=0x555556cde000, opaque=<optimized out>) at vl.c:2797
#7  0x00005555558295bb in qemu_opts_foreach (list=<optimized out>, func=func@entry=0x555555711690 <object_create>, 
    opaque=opaque@entry=0x0, abort_on_failure=abort_on_failure@entry=0) at util/qemu-option.c:1198
#8  0x00005555555c8c43 in main (argc=5, argv=0x7fffffffe3e8, envp=<optimized out>) at vl.c:3842

Comment 2 Eduardo Habkost 2015-08-31 16:32:31 UTC
memory-backend-ram is not supported by qemu-kvm-1.5.3. The behavior when an invalid class name is used with "-object" was always abort():

  $ rpm -q qemu-kvm
  qemu-kvm-1.5.3-101.el7.x86_64
  $ /usr/libexec/qemu-kvm -object nononono,id=foo
  **
  ERROR:qom/object.c:409:object_new_with_type: assertion failed: (type != NULL)
  Aborted
  $ 


We can fix it to print a proper error message, but it is very low priority.

Comment 3 Eduardo Habkost 2015-08-31 16:39:55 UTC
The code was heavily refactored to implemented the extra check for -object arguments, it's not worth the 1.5.3 backport effort. Closing.


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