- priority: 5 --> 2
- status: open --> closed-fixed
OriginalBugID: 3082 Bug
Version: 8.1
SubmitDate: '1999-10-11'
LastModified: '1999-11-02'
Severity: CRIT
Status: Released
Submitter: techsupp
ChangedBy: hobbs
OS: Other
OSVersion: UNIX System V Release 4 of NCR version 3.02
Machine: NA
FixedDate: '1999-11-02'
FixedInVersion: 8.2.2
ClosedDate: '2000-10-25'
Name:
Roy Glasser
Comments:
1. Using UNIX System V Release 4 of NCR v3.02
2. They have complied and made available Tcl/Tk 8.1ba2
3. Script given here dies as described.
4. PLEASE:
a. Is this reproducible by you?
b. Is there a reasonable workaround (without intermediate files)?
ReproducibleScript:
#! /usr/gnu/bin/wish8.1
wm geometry . +500+0
frame .meter -bg red
pack .meter
set Cnt 0
proc MT {} {
global Val Cnt
incr Cnt 1
puts "Cnt=$Cnt"
set Val [exec who | wc -l | wc -l | wc -l ]
}
proc Loop {} {
set i 1 ; while $i<2 {
MT
for {set u 1} {$u<20} {incr u 1} {
after 1
update
}
}
}
# ----------
Loop
# NOTE: Dies in 4000 to 14,000 iterations when
# more than two pipe symbols.
# MESG: Error in startup script: couldn't execute
# "who": not enough memory while executing
# "exec who | wc -l | wc -l | wc -l "
ObservedBehavior:
Crashes on "exec" line with "out of memory".
DesiredBehavior:
Should see output of exec command.
A exec mem leak was fixed recently that might solve this
problem. It is in the current 8.3 CVS sources.
-- 10/15/1999 hobbs
There are no know mem leaks with 8.2.2 at the Tcl level
(according to purify), including in exec.test.
-- 11/02/1999 hobbs