touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #130494
[Bug 1526658] Re: Mir may use incompatible client platform to validate server display and crash in XGetXCBConnection()
** Also affects: mir (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to mir in Ubuntu.
https://bugs.launchpad.net/bugs/1526658
Title:
Mir may use incompatible client platform to validate server display
and crash in XGetXCBConnection()
Status in Mir:
Fix Committed
Status in mir package in Ubuntu:
New
Bug description:
The mir egl platform fails to load under certain circumstances
producing the following stack trace:
#0 0x00007ffff3a996e7 in XGetXCBConnection () from /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1
#1 0x00007ffff534dc74 in dri2_initialize_x11_dri2 (drv=<optimized out>, disp=0x6d1b90) at ../../../../src/egl/drivers/dri2/platform_x11.c:1268
#2 dri2_initialize_x11 (drv=<optimized out>, disp=0x6d1b90) at ../../../../src/egl/drivers/dri2/platform_x11.c:1357
#3 0x00007ffff5347adf in _eglMatchAndInitialize (dpy=0x6d1b90) at ../../../../src/egl/main/egldriver.c:261
#4 0x00007ffff5347b99 in _eglMatchDriver (dpy=dpy@entry=0x6d1b90, test_only=test_only@entry=0) at ../../../../src/egl/main/egldriver.c:292
#5 0x00007ffff5343b32 in eglInitialize (dpy=0x6d1b90, major=0x7fffffffdac8, minor=0x7fffffffdacc) at ../../../../src/egl/main/eglapi.c:482
#6 0x00007ffff686cc1f in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36
#7 0x00007ffff686cd7b in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36
#8 0x00007ffff686d420 in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36
#9 0x00007ffff59dd82c in mir::graphics::OverlappingOutputGrouping::for_each_group(std::function<void (mir::graphics::OverlappingOutputGroup const&)> const&) () from /usr/lib/x86_64-linux-gnu/libmirplatform.so.11
#10 0x00007ffff686de6b in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36
#11 0x00007ffff686e450 in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36
#12 0x00007ffff67fef3c in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36
#13 0x00007ffff67ff87d in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36
#14 0x00007ffff67fde31 in mir::DefaultServerConfiguration::the_display() () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36
In the given case a 0.17.1 mirclient9 was combined with a 0.18 mirserver36. mirserver36 is compatible with mirclient9. The mirserver36 works with mirclient9. The significant difference lies in the client and server platforms. The native display used for egl initialization is created by the server. Mesa then uses a function from the client platform to validate the native display. For yet unknown reason the 0.17.1 libmirclient9 did select mesa.so.2 (from mir-client-platform-mesa2 0.14). Thus the validation failed.
It did so probably because that version was a left over of the 0.14 release with a partially bumped ABI. So the remaining issue is that there is an ABI we have to care about between the native EGL Display given to mesa, and the client platform that validates it.
To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1526658/+subscriptions