Login crash on rockchip (Pinebook Pro) after !2578
After !2578 (merged) / 58c3734d I get the following crash when trying to log in on a Pinebook Pro:
(gdb) bt full
#0 0x0000ffff93268b68 in dri_unbind_context (cPriv=cPriv@entry=0xaaaab6e369d0) at ../src/gallium/frontends/dri/dri_context.c:266
screen = <optimized out>
ctx = 0xaaaab6f2bb90
st = <optimized out>
stapi = <optimized out>
#1 0x0000ffff9326cedc in driUnbindContext (pcp=0xaaaab6e369d0) at ../src/gallium/frontends/dri/dri_util.c:763
pdp = 0x0
prp = <optimized out>
__PRETTY_FUNCTION__ = "driUnbindContext"
#2 0x0000ffffa6c90d80 in dri2_make_current (disp=0xaaaab6ece6f0, dsurf=0x0, rsurf=0x0, ctx=<optimized out>) at ../src/egl/drivers/dri2/egl_dri2.c:1814
old_cctx = 0xaaaab6e369d0
dri2_dpy = 0xaaaab6eced00
dri2_ctx = 0xaaaab6d97900
old_disp = 0xaaaab6f4ed40
old_dri2_dpy = 0xaaaab6f4f350
old_ctx = 0xaaaab6eb14a0
old_dsurf = 0x0
old_rsurf = 0x0
tmp_dsurf = 0xaaaab6ece6f0
tmp_rsurf = 0x0
ddraw = <optimized out>
rdraw = <optimized out>
cctx = <optimized out>
egl_error = 12288
__PRETTY_FUNCTION__ = "dri2_make_current"
#3 0x0000ffffa6c8627c in eglMakeCurrent (dpy=dpy@entry=0xaaaab6ece6f0, draw=draw@entry=0x0, read=read@entry=0x0, ctx=ctx@entry=0xaaaab6d97900) at ../src/egl/main/eglapi.c:907
read_surf = 0x0
ret = <optimized out>
__func__ = "eglMakeCurrent"
#4 0x0000ffffaa1534a4 in meta_egl_make_current (egl=egl@entry=0xaaaab6d871b0, display=display@entry=0xaaaab6ece6f0, draw=draw@entry=0x0, read=read@entry=0x0, context=context@entry=0xaaaab6d97900, error=error@entry=0xffffddd56ef0)
at ../src/backends/meta-egl.c:698
#5 0x0000ffffaa1b86e8 in init_secondary_gpu_data_gpu (error=0xffffddd56ef0, renderer_gpu_data=0xaaaab6f45ae0) at ../src/backends/native/meta-renderer-native.c:1621
renderer_native = 0xaaaab6eedb80
egl_display = 0xaaaab6ece6f0
cogl_context = <optimized out>
egl = 0xaaaab6d871b0
ret = 0
egl_context = 0xaaaab6d97900
missing_gl_extensions = 0xaaaab6d8dc20
render_device = <optimized out>
egl_config = 0xaaaab6ed0380
cogl_display = <optimized out>
error = 0x0
renderer_gpu_data = 0xaaaab6f45ae0
backend_native = <optimized out>
render_device = <optimized out>
renderer = <optimized out>
backend = <optimized out>
device_path = <optimized out>
__func__ = "meta_renderer_native_create_renderer_gpu_data"
renderer_gpu_data = <optimized out>
#6 init_secondary_gpu_data (renderer_gpu_data=0xaaaab6f45ae0) at ../src/backends/native/meta-renderer-native.c:1683
--Type <RET> for more, q to quit, c to continue without paging--c
error = 0x0
renderer_gpu_data = 0xaaaab6f45ae0
backend_native = <optimized out>
render_device = <optimized out>
renderer = <optimized out>
backend = <optimized out>
device_path = <optimized out>
__func__ = "meta_renderer_native_create_renderer_gpu_data"
renderer_gpu_data = <optimized out>
#7 create_renderer_gpu_data_gbm (gpu_kms=0xaaaab6d8dc20, render_device=<optimized out>, renderer_native=0xaaaab6eedb80) at ../src/backends/native/meta-renderer-native.c:1716
renderer_gpu_data = 0xaaaab6f45ae0
backend_native = <optimized out>
render_device = <optimized out>
renderer = <optimized out>
backend = <optimized out>
device_path = <optimized out>
__func__ = "meta_renderer_native_create_renderer_gpu_data"
renderer_gpu_data = <optimized out>
#8 meta_renderer_native_create_renderer_gpu_data (error=0xffffddd56f08, gpu_kms=0xaaaab6d8dc20, renderer_native=0xaaaab6eedb80) at ../src/backends/native/meta-renderer-native.c:1787
backend_native = <optimized out>
render_device = <optimized out>
renderer = <optimized out>
backend = <optimized out>
device_path = <optimized out>
__func__ = "meta_renderer_native_create_renderer_gpu_data"
renderer_gpu_data = <optimized out>
#9 create_renderer_gpu_data (renderer_native=renderer_native@entry=0xaaaab6eedb80, gpu_kms=0xaaaab6d8dc20, error=error@entry=0xffffddd573a0) at ../src/backends/native/meta-renderer-native.c:1832
renderer_gpu_data = <optimized out>
#10 0x0000ffffaa1b92f4 in meta_renderer_native_initable_init (initable=<optimized out>, cancellable=<optimized out>, error=0xffffddd573a0) at ../src/backends/native/meta-renderer-native.c:2042
gpu_kms = <optimized out>
use_kms_modifiers_debug_env = <optimized out>
renderer_native = 0xaaaab6eedb80
renderer = <optimized out>
backend = 0xaaaab6d84150
gpus = <optimized out>
l = 0xaaaab6f23c20 = {0xaaaab6d8dc20}
#11 0x0000ffffab173b64 in g_initable_new_valist () at /usr/lib/libgio-2.0.so.0
#12 0x0000ffffab173c34 in g_initable_new () at /usr/lib/libgio-2.0.so.0
#13 0x0000ffffaa1ba1a0 in meta_renderer_native_new (backend_native=<optimized out>, error=<optimized out>) at ../src/backends/native/meta-renderer-native.c:2159
#14 0x0000ffffaa19441c in meta_backend_native_create_renderer (backend=0xaaaab6d84150, error=0xffffddd573a0) at ../src/backends/native/meta-backend-native.c:321
native = <optimized out>
renderer_native = <optimized out>
#15 0x0000ffffaa0a2854 in meta_backend_create_renderer (error=0xffffddd573a0, backend=0xaaaab6d84150) at ../src/backends/meta-backend.c:981
backend = 0xaaaab6d84150
priv = 0xaaaab6d84040
#16 meta_backend_initable_init (initable=<optimized out>, cancellable=<optimized out>, error=0xffffddd573a0) at ../src/backends/meta-backend.c:1214
backend = 0xaaaab6d84150
priv = 0xaaaab6d84040
#17 0x0000ffffab173b64 in g_initable_new_valist () at /usr/lib/libgio-2.0.so.0
#18 0x0000ffffab173c34 in g_initable_new () at /usr/lib/libgio-2.0.so.0
#19 0x0000ffffaa0f7b14 in meta_context_real_setup (context=<optimized out>, error=<optimized out>) at ../src/meta/meta-context.h:32
priv = 0xaaaab6d7b050
backend = <optimized out>
#20 0x0000ffffaa0f73d8 in meta_context_main_setup (context=0xaaaab6d7b0c0, error=0xffffddd573a0) at ../src/core/meta-context-main.c:389
context_main = 0xaaaab6d7b0c0
#21 0x0000ffffaa0f8848 in meta_context_setup (context=context@entry=0xaaaab6d7b0c0, error=error@entry=0xffffddd573a0) at ../src/core/meta-context.c:389
priv = 0xaaaab6d7b050
compositor_type = <optimized out>
__func__ = "meta_context_setup"
#22 0x0000aaaab22823d0 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:532
context = 0xaaaab6d7b0c0
error = 0x0
ecode = 0
While this indicates a driver bug (we shouldn't crash within the driver even when feeding bad value), it looks like we wouldn't want to end there in the first place.
Edited by Robert Mader