From: <no...@so...> - 2002-08-29 09:35:21
|
Bugs item #597924, was opened at 2002-08-20 12:06 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=597924&group_id=10894 Category: 80. Thread Package Group: None Status: Open Resolution: None Priority: 9 Submitted By: miguel sofer (msofer) Assigned to: Zoran Vasiljevic (vasiljevic) >Summary: win: "Can't create a new thread" Initial Comment: From clt: [cygwin on WinNT] The script below (attached) seems to crash reliably for me after somewhere around 340 iterations. In the project where I found the problem (much too big and messy be of much use in diagnosis I think), I was creating threads at much greater intervals (e.g 30 seconds) and getting crashes with fewer iterations than in this test script, so maybe it is just related to the memory leaks. I've yet to try checking out new code and recompiling. Cheers, Julian ---------------------------------------------------------------------- >Comment By: Zoran Vasiljevic (vasiljevic) Date: 2002-08-29 01:35 Message: Logged In: YES user_id=95086 URKS? traceroute??? Can you please avoid any execs in the worker thread and see if the error persists? I'm sorry for all this fuss, but It seems to me that we're hitting some other, thread-unrelated, problem. ---------------------------------------------------------------------- Comment By: Julian Noble (juliannoble) Date: 2002-08-28 09:42 Message: Logged In: YES user_id=598324 worse news... I've now received the "can't create a new thread" error from an application that uses a simple pool of 3 threads instead of continually creating and destroying. The application had simply stalled without apparent error, and when I typed thread::create "puts test" at the prompt I got the error. The pool is extremely simple - there should usually be at most 2 threads in use, and after the initial pool creation it doesn't use thread::create at all. It just has 2 timers that every 30 seconds send a message to the first free thread to do a traceroute. This may also be the source of a mystery error in another app I have where after hours of use it just stops communicating with another process. ---------------------------------------------------------------------- Comment By: Julian Noble (juliannoble) Date: 2002-08-27 11:32 Message: Logged In: YES user_id=598324 hmm.. after running the while loop... it gives an error at around iteration 350 or so. Then I can interactively run: thread::create "puts x" as many times as I want, but then if I run: thread::create "puts x; thread::wait" I can no longer run thread::create "puts x" at all without the error. ---------------------------------------------------------------------- Comment By: Julian Noble (juliannoble) Date: 2002-08-27 11:21 Message: Logged In: YES user_id=598324 No, the simple while loop gives the same "can't create new thread" error. For some reason I seem to be able to run the line: thread::create "puts xxx" interactively as many times as I want after the while loop has terminated... Try to run it in a for or while loop again - and it performs one iteration only. ---------------------------------------------------------------------- Comment By: miguel sofer (msofer) Date: 2002-08-24 04:08 Message: Logged In: YES user_id=148712 Is this dependent on the async mechanism? What happens with package require Thread set i 0 while 1 { thread::create "puts [incr i]" } ---------------------------------------------------------------------- Comment By: Julian Noble (juliannoble) Date: 2002-08-21 14:36 Message: Logged In: YES user_id=598324 CVS'ed with the tag HEAD a few hours ago and rebuilt tcl and thread - problem still exists, though now consistently getting slightly higher iterations from the crash.tcl script than before, 400 - 600 though this may well be related to a drop in the number of other apps running on my machine. used mingw, configured as follows: tcl: --enable-threads --prefix=e:/tcl thread: --enable-threads --with-tcl=e:/tcl/lib -- prefix=e:/webpub/pvt/pcm_sys/tcl Error occurs on both dual & single CPU machines - also occurs in thread2.2 One time I got 3 junk characters as final output from the test script instead of the usual "can't create a new thread" error being raised. I don't know if it's even slightly relevant, but the chars were a rightwards pointing triangle,r & I. ---------------------------------------------------------------------- Comment By: Andreas Kupries (andreas_kupries) Date: 2002-08-20 13:53 Message: Logged In: YES user_id=75003 Update: I got crashes without Windows Task Manager now too, but in much higher ranges: 1691 iterations for example. ---------------------------------------------------------------------- Comment By: miguel sofer (msofer) Date: 2002-08-20 13:15 Message: Logged In: YES user_id=148712 Andreas succesfully reproduce the crash under strange circumstances: it will only crash with "Can't create a new thread" if the Windows Task Manager is open. Memory reqs are fairly constant, there doesn't seem to be a leak there. This was built using cygwin for configure/make, compiled with MSVC++. The new allocator was *not* used. My guess is that the mingw build of the original report was hitting both this bug and also the new allocator bug #597936. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=597924&group_id=10894 |