summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_ppc/host_missing/accel_missing/1146
blob: 288d24a227f49115d3acbf2c53dc8c48b619412d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
ppc: mac99 immediate segfault in vga_init with bus=pci.0
Description of problem:
I'm trying to figure out why `mac99` PowerPC VMs launched by libvirt always immediately segfault (signal SIGSEGV, segmentation fault).  I narrowed it down to the `bus=pci.0` option that libvirt adds to the `-device VGA` argument.  If I remove the `bus=pci.0` option then it doesn't segfault.  Full backtrace from gdb:

```
#0  memory_region_update_container_subregions (subregion=0x555556d795e0) at ../softmmu/memory.c:2538
        mr = <optimized out>
        other = <optimized out>
        alias = <optimized out>
        __PRETTY_FUNCTION__ = "memory_region_add_subregion_common"
#1  memory_region_add_subregion_common (mr=<optimized out>, offset=<optimized out>, subregion=0x555556d795e0) at ../softmmu/memory.c:2556
        alias = <optimized out>
        __PRETTY_FUNCTION__ = "memory_region_add_subregion_common"
#2  0x0000555555b81fad in vga_init (s=s@entry=0x555556dbe590, obj=obj@entry=0x555556dbdb70, address_space=0x5555568ea570, address_space_io=address_space_io@entry=0x5555568ea790, init_vga_ports=init_vga_ports@entry=true) at ../hw/display/vga.c:2305
        vga_io_memory = 0x555556d795e0
        vga_ports = 0x55555623bda0 <vga_portio_list>
        vbe_ports = 0x55555623bd20 <vbe_portio_list>
#3  0x00005555558fbe3a in pci_std_vga_realize (dev=0x555556dbdb70, errp=<optimized out>) at ../hw/display/vga-pci.c:245
        d = 0x555556dbdb70
        s = 0x555556dbe590
        qext = false
        edid = false
#4  0x0000555555990128 in pci_qdev_realize (qdev=0x555556dbdb70, errp=<optimized out>) at ../hw/pci/pci.c:2218
        pci_dev = 0x555556dbdb70
        pc = <optimized out>
        klass = <optimized out>
        local_err = 0x0
        is_default_rom = <optimized out>
        class_id = <optimized out>
        __func__ = "pci_qdev_realize"
#5  0x0000555555c6aa2f in device_set_realized (obj=<optimized out>, value=true, errp=0x7fffffffd570) at ../hw/core/qdev.c:553
        dev = 0x555556dbdb70
        dc = 0x555556634130
        hotplug_ctrl = 0x0
        bus = <optimized out>
        ncl = <optimized out>
        local_err = 0x0
        unattached_parent = false
        unattached_count = 12
        __func__ = "device_set_realized"
        __PRETTY_FUNCTION__ = "device_set_realized"
#6  0x0000555555c6de7a in property_set_bool (obj=0x555556dbdb70, v=<optimized out>, name=<optimized out>, opaque=0x5555564c40b0, errp=0x7fffffffd570) at ../qom/object.c:2273
        prop = 0x5555564c40b0
        value = true
#7  0x0000555555c70158 in object_property_set (obj=obj@entry=0x555556dbdb70, name=name@entry=0x555555ee1196 "realized", v=v@entry=0x555556d745d0, errp=errp@entry=0x7fffffffd570) at ../qom/object.c:1408
        _auto_errp_prop = {local_err = 0x0, errp = 0x7fffffffd570}
        prop = <optimized out>
        __func__ = "object_property_set"
#8  0x0000555555c73384 in object_property_set_qobject (obj=obj@entry=0x555556dbdb70, name=name@entry=0x555555ee1196 "realized", value=value@entry=0x555556d732c0, errp=errp@entry=0x7fffffffd570) at ../qom/qom-qobject.c:28
        v = 0x555556d745d0
        ok = <optimized out>
#9  0x0000555555c703c9 in object_property_set_bool (obj=0x555556dbdb70, name=name@entry=0x555555ee1196 "realized", value=value@entry=true, errp=errp@entry=0x7fffffffd570) at ../qom/object.c:1477
        qbool = 0x555556d732c0
        ok = <optimized out>
#10 0x0000555555c69ec2 in qdev_realize (dev=<optimized out>, bus=bus@entry=0x5555568eb750, errp=errp@entry=0x7fffffffd570) at ../hw/core/qdev.c:333
        __PRETTY_FUNCTION__ = "qdev_realize"
#11 0x0000555555a1db80 in qdev_device_add_from_qdict (opts=opts@entry=0x555556d72130, from_json=from_json@entry=false, errp=<optimized out>, errp@entry=0x5555563be3d0 <error_fatal>) at /home/rhansen/floss/qemu/include/hw/qdev-core.h:17
        _auto_errp_prop = {local_err = 0x0, errp = 0x5555563be3d0 <error_fatal>}
        dc = 0x555556634130
        driver = 0x555556d73150 "VGA"
        path = <optimized out>
        id = <optimized out>
        dev = 0x555556dbdb70
        bus = <optimized out>
        __func__ = "qdev_device_add_from_qdict"
#12 0x0000555555a1dca6 in qdev_device_add (opts=0x5555564c10d0, errp=errp@entry=0x5555563be3d0 <error_fatal>) at ../softmmu/qdev-monitor.c:733
        qdict = 0x555556d72130
        ret = <optimized out>
#13 0x0000555555a1fb83 in device_init_func (opaque=<optimized out>, opts=<optimized out>, errp=0x5555563be3d0 <error_fatal>) at ../softmmu/vl.c:1142
        dev = <optimized out>
#14 0x0000555555dde692 in qemu_opts_foreach (list=<optimized out>, func=func@entry=0x555555a1fb70 <device_init_func>, opaque=opaque@entry=0x0, errp=0x5555563be3d0 <error_fatal>) at ../util/qemu-option.c:1135
        loc = {kind = LOC_CMDLINE, num = 2, ptr = 0x7fffffffd990, prev = 0x5555563be400 <std_loc>}
        opts = 0x5555564c10d0
        next = 0x0
        rc = 0
        __PRETTY_FUNCTION__ = "qemu_opts_foreach"
#15 0x0000555555a22921 in qemu_create_cli_devices () at ../softmmu/vl.c:2522
        opt = <optimized out>
        __func__ = "qmp_x_exit_preconfig"
        __func__ = "qmp_x_exit_preconfig"
#16 qmp_x_exit_preconfig (errp=0x5555563be3d0 <error_fatal>) at ../softmmu/vl.c:2590
        __func__ = "qmp_x_exit_preconfig"
        __func__ = "qmp_x_exit_preconfig"
#17 qmp_x_exit_preconfig (errp=0x5555563be3d0 <error_fatal>) at ../softmmu/vl.c:2582
        __func__ = "qmp_x_exit_preconfig"
#18 0x0000555555a25ec2 in qemu_init (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at ../softmmu/vl.c:3586
        opts = <optimized out>
        icount_opts = <optimized out>
        accel_opts = <optimized out>
        olist = <optimized out>
        optind = 11
        optarg = 0x7fffffffdec3 "chardev=mon0,mode=readline"
        machine_class = <optimized out>
        userconfig = <optimized out>
        vmstate_dump_file = <optimized out>
        __func__ = "qemu_init"
        __PRETTY_FUNCTION__ = "qemu_init"
#19 0x000055555585410d in qemu_main (envp=0x0, argv=<optimized out>, argc=<optimized out>) at ../softmmu/main.c:47
        status = <optimized out>
#20 main (argc=<optimized out>, argv=<optimized out>) at ../softmmu/main.c:47
```