[Pkg-tcltk-devel] Bug#818697: Bug#818697: libtcl8.6: Segv in Tcl_FinalizeNotifier()
Sergei Golovan
sgolovan at nes.ru
Sun Mar 20 09:24:26 UTC 2016
Hi Hirofumi,
Thank you for the bug report!
On Sat, Mar 19, 2016 at 11:06 PM, OGAWA Hirofumi
<hirofumi at mail.parknet.co.jp> wrote:
>
> When closing wish, process die at
>
> pthread_cond_wait(¬ifierCV, ¬ifierMutex);
>
> if cpu is supporting HLE/RTM. (xend instruction doesn't allow to use without
> xbegin)
>
> Tcl_FinalizeNotifier() is using following combination
>
> pthread_mutex_lock(¬ifierInitMutex);
> pthread_cond_wait(¬ifierCV, ¬ifierMutex);
> pthread_mutex_unlock(¬ifierInitMutex);
>
> From history, this is clearly conversion mistake. notifierInitMutex should be
> notifierMutex (no Init).
I'm not sure that the correct way to fix this is to replace
notifierInitMutex by notifierMutex. The notifierInitMutex was
introduced recently, and I think it was intentional. So, maybe to fix
this we should go the other way: replace notifierMutex by
notifierInitMutex in pthread_cond_wait? Could you try and comment on
this as well? I don't have access to hardware with HLE/RTM extensions,
so can't test myself.
Cheers!
--
Sergei Golovan
More information about the Pkg-tcltk-devel
mailing list