[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#700015: libx11-6: crashes on systems using Mali graphics



On 8 February 2013 11:20, Julien Cristau <jcristau@debian.org> wrote:
> On Fri, Feb  8, 2013 at 11:17:11 +0100, Michal Suchanek wrote:

>>
>> The GLES library is not in position to call XInitThreads because it's
>> passed a X11 window id which was obtained by the application by a Xlib
>> call already.
>>
>> gnome-shell is not interested in threading so does not call XInitThreads.
>>
> Sounds like you're screwed then.
>
> Cheers,
> Julien

Actually, the GLES library tries to initialize the X threading after
the fact which leads to the uninitialized mutex. Since the mutex
allocation does nothing when threading is not initialized there are no
mutexes in objects created before. This is probably a bug in the
library.

Breakpoint 2, XInitThreads () at ../../src/locking.c:573
573     ../../src/locking.c: No such file or directory.
(gdb) bt full
#0  XInitThreads () at ../../src/locking.c:573
No locals.
#1  0xb6455f5e in __egl_platform_initialize () from
/usr/lib/arm-linux-gnueabihf/libEGL.so.1
No symbol table info available.
#2  0xb645143a in __egl_main_open_mali () from
/usr/lib/arm-linux-gnueabihf/libEGL.so.1
No symbol table info available.
#3  0xb6450440 in _egl_initialize () from
/usr/lib/arm-linux-gnueabihf/libEGL.so.1
No symbol table info available.
#4  0xb6450be8 in eglInitialize () from /usr/lib/arm-linux-gnueabihf/libEGL.so.1
No symbol table info available.
#5  0xb64f6a9e in ?? () from /usr/lib/arm-linux-gnueabihf/libcogl.so.9
No symbol table info available.
#6  0xb64f6a9e in ?? () from /usr/lib/arm-linux-gnueabihf/libcogl.so.9
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)


So yes, you are screwed.

Given the X and GLES interfaces it's not possible for threading
libraries to work unless applications go out of their way to be
compatible and call XInitThreads on their own.

Thanks

Michal


Reply to: