Mir

Activity log for bug #1526658

Date Who What changed Old value New value Message
2015-12-16 08:07:28 Andreas Pokorny bug added bug
2015-12-16 08:10:54 Andreas Pokorny description The mir egl platform fails to load on kvm with qxl enabled. As a result it falls back to trying x11 through xcb. == SegvAnalysis ================================= Segfault happened at: 0x7ff571bb26e7 <XGetXCBConnection+7>: mov (%rax),%rax PC (0x7ff571bb26e7) ok source "(%rax)" (0x00000000) not located in a known VMA region (needed readable region)! destination "%rax" ok Stack memory exhausted (SP below stack segment) == Stacktrace ================================= #0 0x00007ff571bb26e7 in XGetXCBConnection () from /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 No symbol table info available. #1 0x00007ff56c58ac74 in ?? () from /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1 No symbol table info available. #2 0x00007ff56c584adf in ?? () from /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1 No symbol table info available. #3 0x00007ff56c584b99 in ?? () from /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1 No symbol table info available. #4 0x00007ff56c580b32 in eglInitialize () from /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1 No symbol table info available. #5 0x00007ff56cd7cc1f in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36 No symbol table info available. #6 0x00007ff56cd7cd7b in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36 No symbol table info available. #7 0x00007ff56cd7d420 in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36 No symbol table info available. #8 0x00007ff56be7882c 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 No symbol table info available. #9 0x00007ff56cd7de6b in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36 No symbol table info available. #10 0x00007ff56cd7e450 in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36 No symbol table info available. #11 0x00007ff56cd0ef3c in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36 No symbol table info available. #12 0x00007ff56cd0f87d in ?? () from /usr/lib/x86_64-linux-gnu/libmirserver.so.36 No symbol table info available. #13 0x00007ff56cd0de31 in mir::DefaultServerConfiguration::the_display() () from /usr/lib/x86_64-linux-gnu/libmirserver.so.3 The mir egl platform fails to load on kvm with qxl enabled. As a result it falls back to trying x11 through xcb. #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
2015-12-16 19:38:06 Andreas Pokorny summary eglInitialize crashes on kvm qxl with mir mir may use incompatible client platform to validate server display
2015-12-16 20:04:08 Andreas Pokorny description The mir egl platform fails to load on kvm with qxl enabled. As a result it falls back to trying x11 through xcb. #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 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.
2015-12-17 09:51:51 Daniel van Vugt mir: importance Undecided High
2015-12-17 09:51:55 Daniel van Vugt mir: status New Triaged
2015-12-17 09:52:45 Daniel van Vugt mir: milestone 0.19.0
2015-12-17 22:57:19 Andreas Pokorny 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. 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.
2015-12-22 07:38:54 Daniel van Vugt branch linked lp:~vanvugt/mir/fix-1527449
2016-01-11 03:56:04 Daniel van Vugt mir: assignee Daniel van Vugt (vanvugt)
2016-01-11 03:56:07 Daniel van Vugt mir: status Triaged In Progress
2016-01-11 04:01:29 Daniel van Vugt summary mir may use incompatible client platform to validate server display Mir may use incompatible client platform to validate server display and crash in XGetXCBConnection()
2016-01-19 16:08:01 Daniel van Vugt branch linked lp:~vanvugt/mir/fix-1527449-Plugin
2016-01-19 16:08:15 Daniel van Vugt branch linked lp:~vanvugt/mir/fix-1527449-make_module_ptr
2016-01-19 23:02:42 Brandon Schaefer mir: milestone 0.19.0 0.20.0
2016-01-21 00:16:12 Daniel van Vugt branch linked lp:~vanvugt/mir/fix-1527449-make_module_ptr-2
2016-01-21 22:09:11 PS Jenkins bot mir: status In Progress Fix Committed
2016-01-21 22:21:12 Daniel van Vugt bug task added mir (Ubuntu)
2016-01-28 02:49:45 Daniel van Vugt mir: milestone 0.20.0 0.19.0
2016-01-29 01:28:25 Launchpad Janitor mir (Ubuntu): status New Confirmed
2016-01-29 01:29:18 Daniel van Vugt summary Mir may use incompatible client platform to validate server display and crash in XGetXCBConnection() Mir clients (including Unity8 itself) crash in XGetXCBConnection() if multiple versions of mir-client-platform-mesa are installed.
2016-01-29 01:29:22 Daniel van Vugt mir (Ubuntu): importance Undecided High
2016-01-29 01:29:26 Daniel van Vugt mir (Ubuntu): status Confirmed Triaged
2016-01-29 11:48:08 Alan Griffiths branch linked lp:~alan-griffiths/mir/fix-1526658
2016-02-01 01:52:24 Daniel van Vugt mir: status Fix Committed Fix Released
2016-02-01 01:52:30 Daniel van Vugt mir (Ubuntu): status Triaged Fix Released
2016-02-01 09:20:19 Daniel van Vugt branch linked lp:~vanvugt/mir/kill-leaky-modules
2016-02-02 13:17:09 PS Jenkins bot mir: status Fix Released Fix Committed
2016-02-03 01:22:18 Daniel van Vugt mir: status Fix Committed Fix Released
2016-02-03 06:28:14 Launchpad Janitor branch linked lp:mir/0.19
2016-02-03 06:38:16 Daniel van Vugt nominated for series mir/0.19
2016-02-03 06:38:16 Daniel van Vugt bug task added mir/0.19
2016-02-03 06:38:23 Daniel van Vugt mir/0.19: status New Fix Committed
2016-02-03 06:38:26 Daniel van Vugt mir/0.19: milestone 0.19.1
2016-02-03 06:38:32 Daniel van Vugt bug task deleted mir/0.19
2016-02-10 03:55:53 Daniel van Vugt branch unlinked lp:mir/0.19