Description of problem: System function pthread_create() fails with segmentation fault. Originally detected problem with MySQL-4.x and MySQL-5.x series. Program dies early in the startup always in pthread_create() function call. I have included here a small test program that demonstrates the problem, using only system libraries. By switching to Linuxthreads the problem goes away. Switing back to NPTL (version 0.60) the problem appears again. Also gdb (provided with the OS as well as new one compiled from source) does not work when NPTL is enabled, but it works with LT enabled. The symptom with gdb is that it always throws error: "Error while reading shared library symbols: Cannot find new threads: generic error Cannot find user-level thread for LWP 31611: generic error" Version-Release number of selected component (if applicable): glibc-2.3.2-95.37 gdb version GNU gdb Red Hat Linux (6.3.0.0-1.62rh) kernel version 2.4.33.3 How reproducible: Always. Steps to Reproduce: # First ensure NPTL is in use shell> export LD_ASSUME_KERNEL= # Check shell> getconf GNU_LIBPTHREAD_VERSION NPTL 0.60 # Compile the test program (attached) shell> gcc thr_test_min.c -lpthread # Run shell> ./a.out Init ok. Creating 100000 threads Segmentation fault Expected results: # Using LinuxThreads the program creates threads successfully shell> export LD_ASSUME_KERNEL=2.4.1 # Check shell> getconf GNU_LIBPTHREAD_VERSION linuxthreads-0.10 shell> ./a.out Init ok. Creating 100000 threads 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 2900 3000 3100 3200 3300 3400 3500 3600 3700 3800 3900 4000 ... 100000 end Additional info: Problem originally detected with MySQL database engine.
Created attachment 146185 [details] Test program for reproducing the problem
*** This bug has been marked as a duplicate of 223788 ***