Archived

This forum has been archived. Please start a new discussion on GitHub.

Problems with Thread library

Hi

Are there any known cases, in which Ice influences the behaviour of the pthread library?
The problem I am encountering is, that __pthread_wait_for_restart_signal() and therefore pthread_cond_wait() doesn't return.
This affects IceUtil::Monitors as well, as other functions using the pthread-library and only occurs, if I'm actually using the Ice-Runtime and IceUtil::Threads, Mutexes and Monitors.

I would be very gratefull for any help or suggestion provided.

Thnx

Gerald

Comments

  • bernard
    bernard Jupiter, FL
    Hi Gerald,

    You are probably using the new POSIX threads with RedHat 9 (or similar). We spent quite some time trying to figure out what is going on with these signal functions! It looks like this new POSIX library is not very stable, and many other applications have similar problems. As documented in the INSTALL.LINUX file, you should disable this new library with
    export LD_ASSUME_KERNEL=2.4.1
    

    Best regards,
    Bernard
  • I'm Sorry

    I'm using SuSe Linux 8.1.
    My Kernel-Version is 2.4.19.

    So far, the Thread Library worked really fine and I haven't encountered any problems.
    I assume I made a mistake. But unfortunatly I can't trace back the reason why the restart_signal doesn't work anymore.
    I had hoped, you could provide me with a direction to search.

    I would be really gratefull for ANY suggestions.

    Thanx

    Gerald
  • bernard
    bernard Jupiter, FL
    Hi Gerald,

    I am actually also using SuSE 8.1 (2.4.19-64GB-SMP) on a Pentium IV with HT, and I have never experienced such problem. If you could narrow it down to a test-case, I could easily try it myself!

    Ice does not do anything special with Pthreads. We use signals in the IceUtil::CtrlCHandler implementation -- and there are some problems with signals and LinuxThreads. However I doubt this code is causing the problem you're seeing.

    Cheers,
    Bernard