summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/1727.toml
blob: ba6f90cd1783066901f89be5b51b45c8c9b993cd (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
id = 1727
title = "virtio-gpu-gl-pci console tries to make GL context before widget is realized leading to crash"
state = "closed"
created_at = "2023-06-24T08:05:26.111Z"
closed_at = "2023-12-22T11:08:42.414Z"
labels = ["GUI", "Stable::to backport", "device:virtio", "kind::Bug", "workflow::Patch available"]
url = "https://gitlab.com/qemu-project/qemu/-/issues/1727"
host-os = "Arch Linux"
host-arch = "x86"
qemu-version = "freshly cloned at commit b455ce4c2f300c8ba47cba7232dd03261368a4cb"
guest-os = "n/a"
guest-arch = "n/a"
description = """When `-vga none` is added to the command line, there is no crash.

When it is not, two `GtkGLArea` widgets are created: one for VGA and one for `virtio-gpu-gl-pci`. Only the first one is realized, but the virgl code tries to create a GL context for the second. In `gd_gl_area_create_context`, `gtk_widget_get_window(vc->gfx.drawing_area)` evaluates to NULL a crash follows:

```
qemu: Gdk: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
qemu: Gdk: gdk_gl_context_set_required_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_realize: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_make_current: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_get_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gtk: gtk_gl_area_make_current: assertion 'gtk_widget_get_realized (widget)' failed
qemu: Gdk: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
qemu: Gdk: gdk_gl_context_set_required_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_realize: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_make_current: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_get_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gtk: gtk_gl_area_make_current: assertion 'gtk_widget_get_realized (widget)' failed
qemu: Gdk: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
qemu: Gdk: gdk_gl_context_set_required_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_realize: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_make_current: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_get_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gtk: gtk_gl_area_make_current: assertion 'gtk_widget_get_realized (widget)' failed
qemu: Gdk: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
qemu: Gdk: gdk_gl_context_set_required_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_realize: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_make_current: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_get_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gtk: gtk_gl_area_make_current: assertion 'gtk_widget_get_realized (widget)' failed
qemu: Gdk: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
qemu: Gdk: gdk_gl_context_set_required_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_realize: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_make_current: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_get_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gtk: gtk_gl_area_make_current: assertion 'gtk_widget_get_realized (widget)' failed
qemu: Gdk: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
qemu: Gdk: gdk_gl_context_set_required_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_realize: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_make_current: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_get_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gtk: gtk_gl_area_make_current: assertion 'gtk_widget_get_realized (widget)' failed
qemu: Gdk: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
qemu: Gdk: gdk_gl_context_set_required_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_realize: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_make_current: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_get_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gtk: gtk_gl_area_make_current: assertion 'gtk_widget_get_realized (widget)' failed
qemu: Gdk: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
qemu: Gdk: gdk_gl_context_set_required_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_realize: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_make_current: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_get_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gtk: gtk_gl_area_make_current: assertion 'gtk_widget_get_realized (widget)' failed
qemu: Gdk: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
qemu: Gdk: gdk_gl_context_set_required_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_realize: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_make_current: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_get_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gtk: gtk_gl_area_make_current: assertion 'gtk_widget_get_realized (widget)' failed
qemu: Gdk: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
qemu: Gdk: gdk_gl_context_set_required_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_realize: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_make_current: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_get_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gtk: gtk_gl_area_make_current: assertion 'gtk_widget_get_realized (widget)' failed
qemu: Gdk: gdk_window_create_gl_context: assertion 'GDK_IS_WINDOW (window)' failed
qemu: Gdk: gdk_gl_context_set_required_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_realize: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_make_current: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gdk: gdk_gl_context_get_version: assertion 'GDK_IS_GL_CONTEXT (context)' failed
qemu: Gtk: gtk_gl_area_make_current: assertion 'gtk_widget_get_realized (widget)' failed
qemu: Gdk: gdk_gl_context_make_current: assertion 'GDK_IS_GL_CONTEXT (context)' failed
gl_version 0 - compat profile
WARNING: running without ARB/KHR robustness in place may crash
qemu-system-x86_64: ../libepoxy/src/dispatch_common.c:872: epoxy_get_proc_address: Assertion `0 && "Couldn't find current GLX or EGL context.\\n"' failed.
```"""
reproduce = """1. Get OVMF. On Arch Linux, you can install the `edk2-ovmf` package. On other distros, find a similar package and modify the path in the command accordingly.
2. Run the command above."""
additional = "n/a"