#803 closed fixme (wontfix)

test deadlock: test-threadpool sync-joinable

Reported by: Ichthyostega Owned by: Christian Thäter
Priority: normal Milestone: 0integration
Component: lumieraVault Keywords:
Sub Tickets: Parent Tickets:

Description

The sync-joinable test runs into a deadlock.

The situation is as follows:

  • the main thread (running the test function) blocks waiting on the join()
  • the 'master' thread blocks waiting on (test-threadpool, 99)
      lumiera_thread_sync_other (worker); // wait until the arguments are sent
    
  • but the worker thread doesn't even start the thread function; it blocks in threads.c, 95
    static void*
    thread_loop (void* thread)
    {
    ...
    ...
      LUMIERA_CONDITION_SECTION (cond_sync, &t->signal)
        {
          t->rh = &lumiera_lock_section_.rh;
    
          do {
            lumiera_threadpool_release_thread(t);
            LUMIERA_CONDITION_WAIT (t->state != LUMIERA_THREADSTATE_IDLE);
            
    >>>^^^^^Waiting here        
    ...
    
            // NULL function means: no work to do
            INFO (threads, "function %p", t->function);
            if (t->function)
              t->function (t->arguments);    
    

Change history (1)

comment:1 by Ichthyostega, at 2026-09-26T02:39:46Z

Resolution: → wontfix
Status: new → closed

Obsoleted through the switch to C++17 threading support,
which happened in changeset:997fc36c8/Lumiera (09/23-10/23)

Note: See TracTickets for help on using tickets.