AnsweredAssumed Answered

Bug in Vivante i.MX6 Wayland drivers when destroying windows

Question asked by Andreas Cord-Landwehr on Apr 24, 2018
Latest reply on May 11, 2018 by Chris Healy
Branched to a new discussion

We are getting the following client-side crash with our compositor when destroying windows. Apparently, the proxy object is nullptr though it never shall be.

We are using SDK release 5.0.11.p8.4.

 

  1. Thread 2 (Thread 3662.3673):
  2. #0  wl_proxy_add_listener (proxy=0x0, implementation=0x74b621cc <gcsWL_FRAME_LISTENER>, data=data@entry=0x5e424d0c) at /usr/src/debug/wayland/1.9.0-r0/wayland-1.9.0/src/wayland-client.c:464
  3. No locals.
  4. #1  0x74b53544 in wl_callback_add_listener (data=0x5e424d0c, listener=0x74b621cc <gcsWL_FRAME_LISTENER>, wl_callback=<optimized out>) at /home/bamboo/automation/3.14.52-1.1.1/graphics_pkg/temp_build_dir/build-imx6qsabresd/tmp/sysroots/imx6qsabresd/usr/include/wayland-client-protocol.h:317
  5. No locals.
  6. #2  gcoOS_SetDisplayVirtualEx (Display=<optimized out>, Window=0x5e424c84, Context=0x5e424d0c, Surface=<optimized out>, Offset=0, X=0, Y=0) at gc_hal_user_wayland.c:1692
  7.         swapInterval = -1
  8.         ret = <optimized out>
  9.         i = <optimized out>
  10.         wl_window = 0x5e424c84
  11.         egl_buffer = 0x5e424d0c
  12.         wl_buffer = 0x5e457d40
  13.         display = 0x19d608
  14. #3  0x74a843ac in veglSetDisplayFlip (Display=Display@entry=0x19d6bc, Surface=<optimized out>, BackBuffer=BackBuffer@entry=0x5e4255dc) at gc_egl_platform.c:249
  15.         status = <optimized out>
  16. #4  0x74a7ec6c in veglSwapWorker (Display=0x19d6bc) at gc_egl_swap.c:741
  17.         display = 0x19d6bc
  18.         displayWorker = 0x5e4255cc
  19.         currWorker = 0x5e4255cc
  20.         bStop = 0
  21.         __user_ptr__ = <synthetic pointer>
  22. #5  0x75a4cf5c in start_thread (arg=0x65556440) at /usr/src/debug/glibc/2.24-r0/git/nptl/pthread_create.c:335
  23.         pd = 0x65556440
  24.         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {2123239463, 1853849923, 1700095040, 2130704288, 0, 338, 0, 0, 2130704288, 1700093820, 0 <repeats 54 times>}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
  25.         not_first_call = <optimized out>
  26.         robust = <optimized out>
  27.         pagesize_m1 = <optimized out>
  28.         sp = <optimized out>
  29.         freesize = <optimized out>
  30.         __PRETTY_FUNCTION__ = "start_thread"
  31. #6  0x75d42408 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:86 from /opt/sdk/cebis/sysroots/cortexa9hf-neon-mel-linux-gnueabi/lib/libc.so.6
  32. No locals.
  33. Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Outcomes