[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Porting with Guix
From: |
Manolis Ragkousis |
Subject: |
Re: Porting with Guix |
Date: |
Sat, 7 Jan 2017 19:23:56 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 |
Hello everyone,
Continuing my last email the deadlock in "gctest" originates from file
phtread_support.c:2007
#ifndef NO_PTHREAD_TRYLOCK
if (1 == GC_nprocs || GC_collecting) {
pthread_mutex_lock(&GC_allocate_ml)
} else {
GC_generic_lock(&GC_allocate_ml);
}
When it tries to lock GC_allocate_ml, it's already used and so
pthread_mutex_lock locks the whole program.
(gdb) p GC_allocate_ml
$2 = {__held = 1, __lock = 0, __cthreadscompat1 = 0x0, __queue = 0x0,
__attr = 0x0, __data = 0x0, __owner = 0x0, __locks = 0}
This appears to happen after a thread switch.
I will report back when I have more.
Manolis