* bochs_drm: failed bochs_hw_init() results in panic
@ 2020-01-10 1:33 Marek Marczykowski-Górecki
2020-01-10 5:35 ` Gerd Hoffmann
0 siblings, 1 reply; 4+ messages in thread
From: Marek Marczykowski-Górecki @ 2020-01-10 1:33 UTC (permalink / raw)
To: virtualization
[-- Attachment #1.1: Type: text/plain, Size: 9624 bytes --]
Hi,
It looks like bochs_kms_fini() don't like being called if
bochs_kms_init() wasn't. Regardless of the reason for the
bochs_hw_init() failure (that's another story), it shouldn't cause a
panic. Any idea how to fix it?
Full message:
[ 33.032576] [drm:bochs_hw_init [bochs_drm]] *ERROR* Cannot request framebuffer
[ 33.069435] ------------[ cut here ]------------
[ 33.070920] WARNING: CPU: 1 PID: 879 at drivers/gpu/drm/drm_modeset_lock.c:266 drm_modeset_lock+0xef/0x100 [drm]
[ 33.073719] Modules linked in: amd64_edac_mod(-) snd_ac97_codec edac_mce_amd ac97_bus snd_seq snd_seq_device bochs_drm(+) drm_vram_helper snd_pcm pcspkr ttm parport_pc drm_kms_helper parport drm i2c_piix4 snd_timer e1000e snd soundcore xenfs ip_tables dm_thin_pool dm_persistent_data dm_bio_prison libcrc32c dm_crypt serio_raw ehci_pci ata_generic virtio_console virtio_scsi pata_acpi ehci_hcd floppy qemu_fw_cfg xen_privcmd xen_pciback xen_blkback xen_gntalloc xen_gntdev xen_evtchn uinput pkcs8_key_parser
[ 33.085969] CPU: 1 PID: 879 Comm: systemd-udevd Tainted: G W 5.4.5-1.qubes.x86_64 #1
[ 33.088483] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.0.0 02/06/2015
[ 33.090762] RIP: e030:drm_modeset_lock+0xef/0x100 [drm]
[ 33.092213] Code: ff ff eb de e8 22 31 7e c1 41 89 c4 e9 75 ff ff ff 0f 0b e9 4c ff ff ff 41 83 fc 8e 74 c1 41 83 fc dd 75 be 48 89 6b 18 eb b8 <0f> 0b e9 6f ff ff ff 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00
[ 33.097304] RSP: e02b:ffffc90000f379d0 EFLAGS: 00010286
[ 33.098741] RAX: 0000000000000000 RBX: ffffc90000f37a40 RCX: 0000000000000000
[ 33.100728] RDX: ffff88813bba2540 RSI: 0000000000000000 RDI: ffff888140128a00
[ 33.102677] RBP: ffff888133931198 R08: 0000000000000000 R09: ffff88813bba4b30
[ 33.104613] R10: 0000000000007ff0 R11: 0000000000000000 R12: 0000000000000000
[ 33.106592] R13: ffff8881339311c0 R14: 0000000000000010 R15: 0000000000000000
[ 33.108555] FS: 00007e279f5e7940(0000) GS:ffff888140100000(0000) knlGS:0000000000000000
[ 33.110654] CS: e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 33.112210] CR2: 000058a34b0d8774 CR3: 0000000138ff0000 CR4: 0000000000000660
[ 33.114124] Call Trace:
[ 33.114866] drm_modeset_lock_all_ctx+0x1f/0xe0 [drm]
[ 33.116284] drm_atomic_helper_shutdown+0x43/0xc0 [drm_kms_helper]
[ 33.118033] bochs_kms_fini+0x12/0x20 [bochs_drm]
[ 33.119252] bochs_unload+0x16/0x40 [bochs_drm]
[ 33.120570] bochs_pci_probe+0xe8/0x160 [bochs_drm]
[ 33.121967] local_pci_probe+0x42/0x80
[ 33.123041] pci_device_probe+0x107/0x1a0
[ 33.124190] really_probe+0x147/0x3c0
[ 33.125233] driver_probe_device+0xb6/0x100
[ 33.126384] device_driver_attach+0x53/0x60
[ 33.127533] __driver_attach+0x8a/0x150
[ 33.128603] ? device_driver_attach+0x60/0x60
[ 33.129830] bus_for_each_dev+0x89/0xd0
[ 33.130920] bus_add_driver+0x14d/0x1f0
[ 33.131990] driver_register+0x6c/0xc0
[ 33.133074] ? 0xffffffffc02a8000
[ 33.134003] do_one_initcall+0x59/0x214
[ 33.135038] do_init_module+0x5c/0x230
[ 33.135044] hrtimer: interrupt took 7595223 ns
[ 33.137336] load_module+0x1129/0x1260
[ 33.138355] ? __do_sys_finit_module+0xbb/0x120
[ 33.139656] __do_sys_finit_module+0xbb/0x120
[ 33.140873] do_syscall_64+0x5b/0x1a0
[ 33.141917] entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 33.143329] RIP: 0033:0x7e27a058d1ad
[ 33.144329] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d ab 5c 0c 00 f7 d8 64 89 01 48
[ 33.150780] RSP: 002b:00007fff32c25888 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[ 33.152850] RAX: ffffffffffffffda RBX: 00005ef4b82f7e90 RCX: 00007e27a058d1ad
[ 33.154721] RDX: 0000000000000000 RSI: 00007e27a01b484d RDI: 0000000000000012
[ 33.156695] RBP: 0000000000020000 R08: 0000000000000000 R09: 0000000000000007
[ 33.158651] R10: 0000000000000012 R11: 0000000000000246 R12: 00007e27a01b484d
[ 33.160635] R13: 0000000000000000 R14: 00005ef4b8311570 R15: 00005ef4b82f7e90
[ 33.162572] ---[ end trace 688bd10d7416ac12 ]---
[ 33.430995] ppdev: user-space parallel port driver
[ 33.597636] Already setup the GSI :10
[ 33.607033] snd_intel8x0 0000:00:03.0: enable KVM optimization
[ 33.752121] BUG: kernel NULL pointer dereference, address: 0000000000000018
[ 33.754174] #PF: supervisor write access in kernel mode
[ 33.755600] #PF: error_code(0x0002) - not-present page
[ 33.757036] PGD 0 P4D 0
[ 33.757779] Oops: 0002 [#1] SMP NOPTI
[ 33.758811] CPU: 1 PID: 879 Comm: systemd-udevd Tainted: G W 5.4.5-1.qubes.x86_64 #1
[ 33.761352] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.0.0 02/06/2015
[ 33.763587] RIP: e030:ww_mutex_lock+0x20/0x80
[ 33.764813] Code: 1f 84 00 00 00 00 00 0f 1f 00 0f 1f 44 00 00 41 55 41 54 49 89 f4 55 48 89 fd e8 9b e2 ff ff 31 c0 65 48 8b 14 25 c0 6b 01 00 <f0> 48 0f b1 55 00 74 0d 4c 89 e6 48 89 ef 5d 41 5c 41 5d eb ab 4d
[ 33.770009] RSP: e02b:ffffc90000f379b0 EFLAGS: 00010246
[ 33.771434] RAX: 0000000000000000 RBX: ffffc90000f37a40 RCX: 0000000000000000
[ 33.773412] RDX: ffff88813bba2540 RSI: 0000000000000000 RDI: ffff888140128a00
[ 33.775359] RBP: 0000000000000018 R08: 0000000000000000 R09: ffff888140129450
[ 33.777334] R10: 0000000000007ff0 R11: 0000000000000000 R12: ffffc90000f37a40
[ 33.779305] R13: 0000000000000000 R14: fffffffffffffff0 R15: 0000000000000000
[ 33.781263] FS: 00007e279f5e7940(0000) GS:ffff888140100000(0000) knlGS:0000000000000000
[ 33.783492] CS: e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 33.785083] CR2: 0000000000000018 CR3: 0000000138ff0000 CR4: 0000000000000660
[ 33.787039] Call Trace:
[ 33.787786] drm_modeset_lock+0x48/0x100 [drm]
[ 33.789052] drm_modeset_lock_all_ctx+0x58/0xe0 [drm]
[ 33.790476] drm_atomic_helper_shutdown+0x43/0xc0 [drm_kms_helper]
[ 33.792196] bochs_kms_fini+0x12/0x20 [bochs_drm]
[ 33.793491] bochs_unload+0x16/0x40 [bochs_drm]
[ 33.794749] bochs_pci_probe+0xe8/0x160 [bochs_drm]
[ 33.796107] local_pci_probe+0x42/0x80
[ 33.797180] pci_device_probe+0x107/0x1a0
[ 33.798276] really_probe+0x147/0x3c0
[ 33.799317] driver_probe_device+0xb6/0x100
[ 33.800504] device_driver_attach+0x53/0x60
[ 33.801670] __driver_attach+0x8a/0x150
[ 33.802759] ? device_driver_attach+0x60/0x60
[ 33.803972] bus_for_each_dev+0x89/0xd0
[ 33.805038] bus_add_driver+0x14d/0x1f0
[ 33.806112] driver_register+0x6c/0xc0
[ 33.807159] ? 0xffffffffc02a8000
[ 33.808098] do_one_initcall+0x59/0x214
[ 33.809161] do_init_module+0x5c/0x230
[ 33.810235] load_module+0x1129/0x1260
[ 33.811269] ? __do_sys_finit_module+0xbb/0x120
[ 33.812543] __do_sys_finit_module+0xbb/0x120
[ 33.813768] do_syscall_64+0x5b/0x1a0
[ 33.814772] entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 33.816111] RIP: 0033:0x7e27a058d1ad
[ 33.817080] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d ab 5c 0c 00 f7 d8 64 89 01 48
[ 33.822091] RSP: 002b:00007fff32c25888 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[ 33.824104] RAX: ffffffffffffffda RBX: 00005ef4b82f7e90 RCX: 00007e27a058d1ad
[ 33.826023] RDX: 0000000000000000 RSI: 00007e27a01b484d RDI: 0000000000000012
[ 33.827948] RBP: 0000000000020000 R08: 0000000000000000 R09: 0000000000000007
[ 33.829914] R10: 0000000000000012 R11: 0000000000000246 R12: 00007e27a01b484d
[ 33.831824] R13: 0000000000000000 R14: 00005ef4b8311570 R15: 00005ef4b82f7e90
[ 33.833746] Modules linked in: joydev ppdev snd_intel8x0(+) snd_ac97_codec edac_mce_amd ac97_bus snd_seq snd_seq_device bochs_drm(+) drm_vram_helper snd_pcm pcspkr ttm parport_pc drm_kms_helper parport drm i2c_piix4 snd_timer e1000e snd soundcore xenfs ip_tables dm_thin_pool dm_persistent_data dm_bio_prison libcrc32c dm_crypt serio_raw ehci_pci ata_generic virtio_console virtio_scsi pata_acpi ehci_hcd floppy qemu_fw_cfg xen_privcmd xen_pciback xen_blkback xen_gntalloc xen_gntdev xen_evtchn uinput pkcs8_key_parser
[ 33.845935] CR2: 0000000000000018
[ 33.847042] ---[ end trace 688bd10d7416ac13 ]---
[ 33.848388] RIP: e030:ww_mutex_lock+0x20/0x80
[ 33.849666] Code: 1f 84 00 00 00 00 00 0f 1f 00 0f 1f 44 00 00 41 55 41 54 49 89 f4 55 48 89 fd e8 9b e2 ff ff 31 c0 65 48 8b 14 25 c0 6b 01 00 <f0> 48 0f b1 55 00 74 0d 4c 89 e6 48 89 ef 5d 41 5c 41 5d eb ab 4d
[ 33.854831] RSP: e02b:ffffc90000f379b0 EFLAGS: 00010246
[ 33.856378] RAX: 0000000000000000 RBX: ffffc90000f37a40 RCX: 0000000000000000
[ 33.858349] RDX: ffff88813bba2540 RSI: 0000000000000000 RDI: ffff888140128a00
[ 33.860344] RBP: 0000000000000018 R08: 0000000000000000 R09: ffff888140129450
[ 33.862299] R10: 0000000000007ff0 R11: 0000000000000000 R12: ffffc90000f37a40
[ 33.864294] R13: 0000000000000000 R14: fffffffffffffff0 R15: 0000000000000000
[ 33.866296] FS: 00007e279f5e7940(0000) GS:ffff888140100000(0000) knlGS:0000000000000000
[ 33.868544] CS: e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 33.870179] CR2: 0000000000000018 CR3: 0000000138ff0000 CR4: 0000000000000660
[ 33.872141] Kernel panic - not syncing: Fatal exception
[ 33.873609] Kernel Offset: disabled
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 183 bytes --]
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: bochs_drm: failed bochs_hw_init() results in panic
2020-01-10 1:33 bochs_drm: failed bochs_hw_init() results in panic Marek Marczykowski-Górecki
@ 2020-01-10 5:35 ` Gerd Hoffmann
2020-01-11 0:07 ` Marek Marczykowski-Górecki
0 siblings, 1 reply; 4+ messages in thread
From: Gerd Hoffmann @ 2020-01-10 5:35 UTC (permalink / raw)
To: Marek Marczykowski-Górecki; +Cc: virtualization
On Fri, Jan 10, 2020 at 02:33:28AM +0100, Marek Marczykowski-Górecki wrote:
> Hi,
>
> It looks like bochs_kms_fini() don't like being called if
> bochs_kms_init() wasn't. Regardless of the reason for the
> bochs_hw_init() failure (that's another story), it shouldn't cause a
> panic. Any idea how to fix it?
maybe this?
diff --git a/drivers/gpu/drm/bochs/bochs_kms.c b/drivers/gpu/drm/bochs/bochs_kms.c
index 3f0006c2470d..322be68a238a 100644
--- a/drivers/gpu/drm/bochs/bochs_kms.c
+++ b/drivers/gpu/drm/bochs/bochs_kms.c
@@ -192,6 +192,9 @@ int bochs_kms_init(struct bochs_device *bochs)
void bochs_kms_fini(struct bochs_device *bochs)
{
+ if (!dev->mode_config.num_connector)
+ return;
+
drm_atomic_helper_shutdown(bochs->dev);
drm_mode_config_cleanup(bochs->dev);
}
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: bochs_drm: failed bochs_hw_init() results in panic
2020-01-10 5:35 ` Gerd Hoffmann
@ 2020-01-11 0:07 ` Marek Marczykowski-Górecki
2020-01-13 7:03 ` Gerd Hoffmann
0 siblings, 1 reply; 4+ messages in thread
From: Marek Marczykowski-Górecki @ 2020-01-11 0:07 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: virtualization
[-- Attachment #1.1: Type: text/plain, Size: 2155 bytes --]
On Fri, Jan 10, 2020 at 06:35:53AM +0100, Gerd Hoffmann wrote:
> On Fri, Jan 10, 2020 at 02:33:28AM +0100, Marek Marczykowski-Górecki wrote:
> > Hi,
> >
> > It looks like bochs_kms_fini() don't like being called if
> > bochs_kms_init() wasn't. Regardless of the reason for the
> > bochs_hw_init() failure (that's another story), it shouldn't cause a
> > panic. Any idea how to fix it?
>
> maybe this?
Yes, it prevents the panic, with a little fix. Thanks!
Of course(?) I don't have working framebuffer then, but I can interact
with the system in other ways, at least to diagnose what's wrong.
Now the messages looks like this:
[ 29.800835] bochs-drm 0000:00:02.0: remove_conflicting_pci_framebuffers: bar 0: 0xc0000000 -> 0xc0ffffff
[ 29.800840] bochs-drm 0000:00:02.0: remove_conflicting_pci_framebuffers: bar 2: 0xc1087000 -> 0xc1087fff
[ 29.800842] checking generic (c0000000 1000000) vs hw (c0000000 1000000)
[ 29.800843] fb0: switching to bochsdrmfb from EFI VGA
[ 29.805542] bochs-drm 0000:00:02.0: vgaarb: deactivate vga console
[ 29.805742] bochs-drm 0000:00:02.0: BAR 0: can't reserve [mem 0xc0000000-0xc0ffffff pref]
[ 29.805749] [drm:bochs_hw_init [bochs_drm]] *ERROR* Cannot request framebuffer
[ 29.805781] bochs-drm: probe of 0000:00:02.0 failed with error -16
[ 30.129014] Trying to free nonexistent resource <00000000c0000000-00000000c0ffffff>
Is the last one an issue?
> diff --git a/drivers/gpu/drm/bochs/bochs_kms.c b/drivers/gpu/drm/bochs/bochs_kms.c
> index 3f0006c2470d..322be68a238a 100644
> --- a/drivers/gpu/drm/bochs/bochs_kms.c
> +++ b/drivers/gpu/drm/bochs/bochs_kms.c
> @@ -192,6 +192,9 @@ int bochs_kms_init(struct bochs_device *bochs)
>
> void bochs_kms_fini(struct bochs_device *bochs)
> {
> + if (!dev->mode_config.num_connector)
bochs->dev->...
> + return;
> +
> drm_atomic_helper_shutdown(bochs->dev);
> drm_mode_config_cleanup(bochs->dev);
> }
>
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 183 bytes --]
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: bochs_drm: failed bochs_hw_init() results in panic
2020-01-11 0:07 ` Marek Marczykowski-Górecki
@ 2020-01-13 7:03 ` Gerd Hoffmann
0 siblings, 0 replies; 4+ messages in thread
From: Gerd Hoffmann @ 2020-01-13 7:03 UTC (permalink / raw)
To: Marek Marczykowski-Górecki; +Cc: virtualization
> Now the messages looks like this:
>
> [ 29.800835] bochs-drm 0000:00:02.0: remove_conflicting_pci_framebuffers: bar 0: 0xc0000000 -> 0xc0ffffff
> [ 29.800840] bochs-drm 0000:00:02.0: remove_conflicting_pci_framebuffers: bar 2: 0xc1087000 -> 0xc1087fff
> [ 29.800842] checking generic (c0000000 1000000) vs hw (c0000000 1000000)
> [ 29.800843] fb0: switching to bochsdrmfb from EFI VGA
> [ 29.805542] bochs-drm 0000:00:02.0: vgaarb: deactivate vga console
> [ 29.805742] bochs-drm 0000:00:02.0: BAR 0: can't reserve [mem 0xc0000000-0xc0ffffff pref]
> [ 29.805749] [drm:bochs_hw_init [bochs_drm]] *ERROR* Cannot request framebuffer
This is the problem.
> [ 29.805781] bochs-drm: probe of 0000:00:02.0 failed with error -16
> [ 30.129014] Trying to free nonexistent resource <00000000c0000000-00000000c0ffffff>
>
> Is the last one an issue?
Not critical. Probably the pci_release_regions() call, trying to free
all regions, including the one the driver could not request, so it warns
about that one.
cheers,
Gerd
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-01-13 7:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-10 1:33 bochs_drm: failed bochs_hw_init() results in panic Marek Marczykowski-Górecki
2020-01-10 5:35 ` Gerd Hoffmann
2020-01-11 0:07 ` Marek Marczykowski-Górecki
2020-01-13 7:03 ` Gerd Hoffmann
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.