On Fri, 6 Feb 2004, Julian Elischer wrote: > > On Fri, 6 Feb 2004, Daniel Eischen wrote: > > > On Fri, 6 Feb 2004, Daniel Eischen wrote: > > > > > On Sat, 7 Feb 2004, Hye-Shik Chang wrote: > > > > > > > > Thank you very much! > > > > py-bsddb unittest is successfully passed with your fixes. And almost > > > > all of python regression test set is okay except test_threaded_import. > > > > > > > > alice(perky):/usr/local/lib/python2.3/test% sudo python test_threaded_import.py > > > > Trying 20 threads ... OK. > > > > Trying 50 threads ... > > > > Traceback (most recent call last): > > > > File "test_threaded_import.py", line 56, in ? > > > > test_main() > > > > File "test_threaded_import.py", line 50, in test_main > > > > thread.start_new_thread(task, ()) > > > > thread.error: can't start new thread > > > > > > > > FYI, python's thread creation routine is located on > > > > work/Python-2.3.3/Python/thread_pthread.h:188. > > > > > > How many threads does it try after "Trying 50 threads..."? You > > > may have to increase kern.threads.max_threads_per_proc. > > > > Arghh. It's creating system scope threads, so you have > > to adjust kern.threads.max_groups_per_proc. > > Why? System scope threads each have their own KSEG/KSE pair. The default thread limits in the kernel are: kern.threads.max_threads_per_proc: 150 kern.threads.max_groups_per_proc: 50 By default there are 2 KSEGs for a threaded process in libpthread: one for scope process threads and one for the signal handling thread. That leaves 48 for left for application use. Those limits are arbitrary, so you can raise/lower them if you don't like them. I thought you came up with those limits ;-) -- Dan EischenReceived on Fri Feb 06 2004 - 12:32:18 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:42 UTC