Index | Thread | Search

From:
Landry Breuil <landry@openbsd.org>
Subject:
Re: fail early in mesa/eglInitialize when on wayland
To:
tech@openbsd.org
Date:
Mon, 3 Nov 2025 10:35:06 +0100

Download raw body.

Thread
Le Mon, Nov 03, 2025 at 04:24:08PM +1100, Jonathan Gray a écrit :
> On Sat, Nov 01, 2025 at 06:33:19PM +0100, Landry Breuil wrote:
> > hi,
> > 
> > looking at the code, display->Platform is X11, since wayland support isnt
> > builtin:
> > 
> > #4  0x00000316849e3ee5 in dri2_initialize (disp=0x31632dbc5a0) at /usr/xenocara/lib/mesa/mk/libEGL/../../src/egl/drivers/dri2/egl_dri2.c:891
> > (gdb) p disp->Platform
> > $3 = _EGL_PLATFORM_X11
> 
> Do you see this because XGetXCBConnection() is passed a NULL argument?
> 
> Can't tell from the trace.

its not a null argument, but a wayland display object afaict.. which
sortof makes sense, since we're running on wayland. But we shouldnt get
into that codepath with that object :)

(gdb) p *dpy
$7 = {ext_data = 0x44fc6859470 <wl_display_interface>, free_funcs =
0x44fc685a468 <display_listener>, fd = 1, conn_checker = 0,
proto_major_version = 1714681088, proto_minor_version = 1104, vendor =
0x4506633f5f8 "\370\3653fP\004", resource_base = 4294967296, 
  resource_mask = 4743358575872, resource_id = 0, resource_shift = 0,
resource_alloc = 0x0, byte_order = 0, bitmap_unit = 0, bitmap_pad = 0,
bitmap_bit_order = 0, nformats = 1714622944, pixmap_format = 0x0,
vnumber = 0, release = 0, head = 0x0, tail = 0x0, qlen = 3, 
  last_request_read = 16, request = 16, last_req = 0x45066352b50 "",
buffer = 0x0, bufptr = 0x0, bufmax = 0x0, max_request_size = 1, db =
0x4506633f5c8, synchandler = 0x4506633f5c8, display_name = 0x4506633f5d8
"\330\3653fP\004", default_screen = 1714681304, 
  nscreens = 1104, screens = 0x4506633f500, motion_buffer =
4743358477584, flags = 4743358576120, min_keycode = 1714681336,
max_keycode = 1104, keysyms = 0x4506633f608, modifiermap =
0x4506633f608, keysyms_per_keycode = 1714681088, 
  xdefaults = 0x4506631ae50 "Default Queue", scratch_buffer =
0x4506631c900 "", scratch_length = 0, ext_number = 1714760304, ext_procs
= 0xdfdfdfdfdfdfdfdf, event_vec = {0xdfdfdfdfdfdfdfdf <repeats 128
times>}, wire_vec = {0xdfdfdfdfdfdfdfdf <repeats 128 times>}, 
  lock_meaning = 16131858542891098079, lock = 0xdfdfdfdfdfdfdfdf,
async_handlers = 0xdfdfdfdfdfdfdfdf, bigreq_size = 16131858542891098079,
lock_fns = 0xdfdfdfdfdfdfdfdf, idlist_alloc = 0xdfdfdfdfdfdfdfdf,
key_bindings = 0xdfdfdfdfdfdfdfdf, 
  cursor_font = 16131858542891098079, atoms = 0xdfdfdfdfdfdfdfdf,
mode_switch = 3755991007, num_lock = 3755991007, context_db =
0xdfdfdfdfdfdfdfdf, error_vec = 0xdfdfdfdfdfdfdfdf, cms = {
    defaultCCCs = 0xdfdfdfdfdfdfdfdf <error: Cannot access memory at
address 0xdfdfdfdfdfdfdfdf>, clientCmaps = 0xdfdfdfdfdfdfdfdf <error:
Cannot access memory at address 0xdfdfdfdfdfdfdfdf>, 
    perVisualIntensityMaps = 0xdfdfdfdfdfdfdfdf <error: Cannot access
memory at address 0xdfdfdfdfdfdfdfdf>}, im_filters = 0xdfdfdfdfdfdfdfdf,
qfree = 0xdfdfdfdfdfdfdfdf, next_event_serial_num =
16131858542891098079, flushes = 0xdfdfdfdfdfdfdfdf, 
  im_fd_info = 0xdfdfdfdfdfdfdfdf, im_fd_length = -538976289,
conn_watchers = 0xdfdfdfdfdfdfdfdf, watcher_count = -538976289, filedes
= 0xdfdfdfdfdfdfdfdf <error: Cannot access memory at address
0xdfdfdfdfdfdfdfdf>, savedsynchandler = 0xdfdfdfdfdfdfdfdf, 
  resource_max = 16131858542891098079, xcmisc_opcode = -538976289,
xkb_info = 0xdfdfdfdfdfdfdfdf, trans_conn = 0xdfdfdfdfdfdfdfdf, xcb =
0xdfdfdfdfdfdfdfdf, next_cookie = 3755991007, generic_event_vec =
{0xdfdfdfdfdfdfdfdf <repeats 128 times>}, generic_event_copy_vec = {
    0xdfdfdfdfdfdfdfdf <repeats 120 times>, 0x36, 0x450a1c71660
<PredicateWidenableBranchGuards>, 0x6572702d706f6f6c,
0x6e6f697461636964, 0x616369646572702d, 0x6e656469772d6574,
0x6172622d656c6261, 0x6f742d736568636e}, cookiejar = 0xdf0074706f65642d, 
  error_threads = 0xdfdfdfdfdfdfdfdf, exit_handler = 0xdfdfdfdfdfdfdfdf,
exit_handler_data = 0xdfdfdfdfdfdfdfdf, in_ifevent = 3755991007,
ifevent_thread = 0xdfdfdfdfdfdfdfdf}