|
From: | Judd Storrs |
Subject: | [Octave-bug-tracker] [bug #29491] recursive source() causes segfault |
Date: | Mon, 12 Apr 2010 20:35:35 +0000 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100402 Ubuntu/9.10 (karmic) Firefox/3.5.9 |
Follow-up Comment #8, bug #29491 (project octave): That's interesting. I'm guessing that what happens is that each time tt is reparsed a new function object is created--the new object is distinct from the prior one for stack popping. So tt.m blows past the 255 limit. I don't think this is intentional? Should replacing/reparsing an already-executed function be forbidden when the function is already on the stack? That may get get difficult. Relative recursion limits are always going to open things it up to gaming. On the other hand, the advantage of the per-function stuff is that it always fails the same way no matter how deep you were when you started the nested/recursive call. Imagine you have a function that goes 254 deep before starting to return. From the prompt it will never fail but when included in a function users will get a recursion error. I think that could be confusing to users. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?29491> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/
[Prev in Thread] | Current Thread | [Next in Thread] |