|
From: SourceForge.net <no...@so...> - 2004-07-02 13:58:58
|
Bugs item #983660, was opened at 2004-07-01 16:31 Message generated for change (Comment added) made by dgp You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=983660&group_id=10894 Category: None Group: development: 8.5a2 Status: Open Resolution: None Priority: 9 Submitted By: Peter Spjuth (pspjuth) Assigned to: miguel sofer (msofer) Summary: Mem leak when getting error Initial Comment: If I repeat this: interp create testinterp catch {testinterp eval {lisx}} interp delete testinterp memory increases with each iteration. According to [memory info] 25 packets, 709 bytes, is lost each iteration. If I replace "lisx" with "list" so no error occurs, nothing leaks. testinterp eval {catch lisx} leaks as well This is run with current CVS HEAD on a WinXP machine. ---------------------------------------------------------------------- >Comment By: Don Porter (dgp) Date: 2004-07-02 09:58 Message: Logged In: YES user_id=80530 Change back to "lisx" and define [proc unknown args {}] in testinterp and the leak also goes away. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2004-07-02 09:56 Message: Logged In: YES user_id=80530 Change "lisx" to "error foo" and the leak goes away. Thus, I suspect the [unknown]/auto-loader instead of [return]/$::errorInfo. ---------------------------------------------------------------------- Comment By: miguel sofer (msofer) Date: 2004-07-01 18:06 Message: Logged In: YES user_id=148712 Oh my, leak confirmed in current HEAD under linux, no MEM_DEBUG (*). It is not present in 8.4.5. (*) method: infinite loop while 1 { interp create testinterp catch {testinterp eval {lisx}} interp delete testinterp after 100 } watched in top. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=983660&group_id=10894 |