phire@nirrit:~$ valgrind --tool=helgrind vim ==1103== Helgrind, a thread error detector ==1103== Copyright (C) 2007-2013, and GNU GPL'd, by OpenWorks LLP et al. ==1103== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info ==1103== Command: vim ==1103== ==1103== ---Thread-Announcement------------------------------------------ ==1103== ==1103== Thread #1 is the program's root thread ==1103== ==1103== ---------------------------------------------------------------- ==1103== ==1103== Thread #1 unlocked a not-locked lock at 0xCE59D08 ==1103== at 0x4C30394: pthread_mutex_unlock (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==1103== by 0xCC0826B: ??? (in /usr/lib/nvidia/libEGL.so.352.41) ==1103== by 0xCB98A21: ??? (in /usr/lib/nvidia/libEGL.so.352.41) ==1103== by 0xCC1CEA0: ??? (in /usr/lib/nvidia/libEGL.so.352.41) ==1103== by 0x7EBDF87: __run_exit_handlers (in /usr/lib/libc-2.22.so) ==1103== by 0x7EBDFD4: exit (in /usr/lib/libc-2.22.so) ==1103== by 0x52FFDA: mch_exit (in /usr/bin/vim) ==1103== by 0x49372B: ??? (in /usr/bin/vim) ==1103== by 0x499764: do_cmdline (in /usr/bin/vim) ==1103== by 0x509432: ??? (in /usr/bin/vim) ==1103== by 0x512ACE: normal_cmd (in /usr/bin/vim) ==1103== by 0x5EF004: main_loop (in /usr/bin/vim) ==1103== Lock at 0xCE59D08 was first observed ==1103== at 0x4C2FF0E: pthread_mutex_lock (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==1103== by 0xCC0835B: ??? (in /usr/lib/nvidia/libEGL.so.352.41) ==1103== by 0xCB99E58: ??? (in /usr/lib/nvidia/libEGL.so.352.41) ==1103== by 0xCB9A17F: ??? (in /usr/lib/nvidia/libEGL.so.352.41) ==1103== by 0xCB99DBF: ??? (in /usr/lib/nvidia/libEGL.so.352.41) ==1103== by 0xCB98A21: ??? (in /usr/lib/nvidia/libEGL.so.352.41) ==1103== by 0xCC1CEA0: ??? (in /usr/lib/nvidia/libEGL.so.352.41) ==1103== by 0x7EBDF87: __run_exit_handlers (in /usr/lib/libc-2.22.so) ==1103== by 0x7EBDFD4: exit (in /usr/lib/libc-2.22.so) ==1103== by 0x52FFDA: mch_exit (in /usr/bin/vim) ==1103== by 0x49372B: ??? (in /usr/bin/vim) ==1103== by 0x499764: do_cmdline (in /usr/bin/vim) ==1103== Address 0xce59d08 is in the Data segment of /usr/lib/nvidia/libEGL.so.352.41 ==1103== ==1103== ==1103== ---------------------------------------------------------------- ==1103== ==1103== Thread #1's call to pthread_mutex_destroy failed ==1103== with error code 16 (EBUSY: Device or resource busy) ==1103== at 0x4C2FD15: pthread_mutex_destroy (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==1103== by 0xCC08277: ??? (in /usr/lib/nvidia/libEGL.so.352.41) ==1103== by 0xCB98A21: ??? (in /usr/lib/nvidia/libEGL.so.352.41) ==1103== by 0xCC1CEA0: ??? (in /usr/lib/nvidia/libEGL.so.352.41) ==1103== by 0x7EBDF87: __run_exit_handlers (in /usr/lib/libc-2.22.so) ==1103== by 0x7EBDFD4: exit (in /usr/lib/libc-2.22.so) ==1103== by 0x52FFDA: mch_exit (in /usr/bin/vim) ==1103== by 0x49372B: ??? (in /usr/bin/vim) ==1103== by 0x499764: do_cmdline (in /usr/bin/vim) ==1103== by 0x509432: ??? (in /usr/bin/vim) ==1103== by 0x512ACE: normal_cmd (in /usr/bin/vim) ==1103== by 0x5EF004: main_loop (in /usr/bin/vim) ==1103== ==1103== ==1103== For counts of detected and suppressed errors, rerun with: -v ==1103== Use --history-level=approx or =none to gain increased speed, at ==1103== the cost of reduced accuracy of conflicting-access information ==1103== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)