pthread_mutex_cond_lock_full
上周使用pthread_cond_wait时遇到一个从来没见过的错误,程序core在这里:
../nptl/pthread_mutex_lock.c:350: __pthread_mutex_cond_lock_full: Assertion `(-(e)) != 3 || !robust' failed.
经过观察和分析,推断是mutex的状态被破坏了。
排查代码,主线程退出时,mutex对象被析构,些时恰好有一个纯程在使用它,于是就core了。