Nefunguje synchronizace threads
Supportní databáze (aj_pthread7.0)
Platí pro
SuSE Linux: Verze 7.0
Symptomy:
Je chybná synchronizace programů používajících threads.
Postiženy jsou pouze programy, které používají knihovnu libpthread, o čemž
se můžete přesvědčit příkazem
ldd /bin/progam
pokud se ve výstupu objeví libpthread.so tak můžete mít s tímto programem
problémy.
Příčina:
Knihovna pthread obsahuje chybu v Mutex implementaci.
Systémy, které jsou postiženy jsou SuSE 7.0 pro ix86 a pro Sparc. Jiných
platforem se to netýká.
Řešení:
Na našem FTP serveru se nacházejí nové balíky shlibs a libc, které tento
problém odstraňují.
Jako alternativní řešení je možnost používat jiný Mutex (pouze ten "normální"
je chybný), např. příkazem:
pthread_mutexattr_settype (&mutattr, PTHREAD_MUTEX_ERRORCHECK_NP);
Hackem pak je používání LD_LIBRARY_PATH pro nahrazení pouze libpthread.so.
K tomu je třeba mít v systému opravenou libpthread.so a proměnnou prostředí
LD_LIBRARY_PATH uvedenou v cestě, která obsahuje libpthread.so. Poté je možné
program spustit.
Klíčová slova: GLIBC, THREADS, PTHREAD, MUTEX
Zpětná vazba vítána: Send Mail to aj@suse.de (Uveďte prosím následující klíčové slovo: SDB-aj_pthread7.0
)
SDB-aj_pthread7.0, Copyright SuSE Linux AG, Nürnberg, Germany
- Verze: 22. Aug 2000
SuSE Linux AG - Poslední změnu: 19. Sep 2000 provedl aj (sdb_gen 1.40.0)