[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] -M niagara -nodefaults crashes
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] -M niagara -nodefaults crashes |
Date: |
Fri, 20 Jan 2017 17:02:34 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Artyom Tarasenko <address@hidden> writes:
> On Fri, Jan 20, 2017 at 2:26 PM, Markus Armbruster <address@hidden> wrote:
>> Watch this:
>>
>> $ gdb --args bld/sparc64-softmmu/qemu-system-* -nodefaults -M niagara
>> [...]
>> (gdb) r
>> Starting program:
>> /work/armbru/qemu/bld/sparc64-softmmu/qemu-system-sparc64 -nodefaults -M
>> niagara
>> [Thread debugging using libthread_db enabled]
>> Using host libthread_db library "/lib64/libthread_db.so.1".
>> [New Thread 0x7fffce25d700 (LWP 17401)]
>> [New Thread 0x7fffcb0c1700 (LWP 17402)]
>> Could not open option rom 'nvram1': No such file or directory
>> Could not open option rom '1up-md.bin': No such file or directory
>> Could not open option rom '1up-hv.bin': No such file or directory
>> Could not open option rom 'reset.bin': No such file or directory
>> Could not open option rom 'q.bin': No such file or directory
>> Could not open option rom 'openboot.bin': No such file or directory
>>
>> Thread 1 "qemu-system-spa" received signal SIGSEGV, Segmentation fault.
>> qemu_chr_fe_init (address@hidden, s=0x0,
>> errp=0x555556497e68 <error_abort>) at
>> /work/armbru/qemu/qemu-char.c:897
>> 897 if (s->is_mux) {
>> (gdb) bt
>> #0 0x0000555555833500 in qemu_chr_fe_init (address@hidden, s=0x0,
>> errp=0x555556497e68 <error_abort>) at /work/armbru/qemu/qemu-char.c:897
>> #1 0x0000555555890a0a in serial_mm_init (address@hidden,
>> address@hidden, address@hidden, address@hidden, address@hidden,
>> chr=<optimized out>, end=
>> DEVICE_BIG_ENDIAN) at /work/armbru/qemu/hw/char/serial.c:995
>> #2 0x00005555558107e2 in niagara_init (machine=0x55555653bf80)
>> at /work/armbru/qemu/hw/sparc64/niagara.c:149
>> #3 0x00005555557726ea in main (argc=<optimized out>, argv=<optimized
>> out>, envp=<optimized out>) at /work/armbru/qemu/vl.c:4544
>>
>> In other code that's similarly stuck in the pre-qdev world, the call to
>> serial_mm_init() is conditional on serial_hds[0].
>
> Will add a check. A -nodefaults with -M niagara makes currenlty a
> little sense though: there is no any known firmware which can use any
> other configuration. Do we have any machines in qemu which don't
> support -nodefaults ?
If the machine doesn't support a certain configuration, it should reject
it, not crash. The following machines crash in my testing:
* aarch64/arm cubieboard
* microblaze/microblazeel petalogix-ml605
* or32 or32-sim
* ppc/ppc64/ppcemb virtex-ml507
* sparc64 niagara
Reproducer:
echo -e 'q' | QEMU_AUDIO_DRV=none $q -nodefaults -S -display none -M
$m,accel=qtest -monitor stdio
Maintainers cc'ed.