Mir

Comment 1 for bug 1364637

Revision history for this message
Alexandros Frantzis (afrantzis) wrote : Re: SIGTERM to server with connected client causes crash

The problem seems to be that we are getting a vsync callback after the HWCCommonDevice class has been destroyed (verified with debug prints in ~HWCCommonDevice() and vsync_hook()). Not sure how to solve this (can we unregister the hooks on HWCCommonDevice destruction, does vsync_hook need to handle a destroyed "self"?), so leaving it to our Android resident experts.

The best backtrace I could get is:

Thread 2 (Thread 0xb61563e0 (LWP 24473)):
#0 0xb69c88e6 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb69d705e in raise () from /lib/arm-linux-gnueabihf/libc.so.6
#2 0xb69d7d4e in abort () from /lib/arm-linux-gnueabihf/libc.so.6
#3 0xb6b89184 in __gnu_cxx::__verbose_terminate_handler() ()
   from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#4 0xb6b879b4 in ?? () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#5 0xb6b87a0a in std::terminate() () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#6 0xb6b88332 in __cxa_pure_virtual () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#7 0xb63fac0a in mir::graphics::android::HWCCommonDevice::notify_vsync (this=0xcc660)
    at /storage/work/mir/src/platform/graphics/android/hwc_common_device.cpp:85
#8 0xb63faa16 in (anonymous namespace)::vsync_hook (procs=0xcc66c)
    at /storage/work/mir/src/platform/graphics/android/hwc_common_device.cpp:38
#9 0xb6164bf8 in ?? ()