From: Matthew W. B. <mbi...@ai...> - 2003-10-22 16:02:44
|
Dear JScheme developers, We were wondering what this error means. It seems to come up after our program has been doing what it is supposed to for awhile, and it is accompanied by no other error message or Java exception. We were hoping you could shed some light on this: Fatal error allocating 12 bytesAborted Also, in a slightly related question, we were wondering if there is any way to tell how deep we are recursing or what the limit is. It seems as if we blow the stack a lot like this: > java.lang.StackOverflowError > at jsint.DynamicEnvironment.getValue(DynamicEnvironment.java:95) > at jsint.DynamicVariable.getDynamicValue(DynamicVariable.java:13) > at jsint.Scheme.execute(Scheme.java:484) > at jsint.Scheme.execute(Scheme.java:514) > at jsint.Procedure.makeArgArray(Procedure.java:142) > at jsint.Scheme.execute(Scheme.java:521) > at jsint.Scheme.execute(Scheme.java:497) > * at jsint.Procedure.makeArgArray(Procedure.java:142) > * at jsint.Scheme.execute(Scheme.java:521) Where the two starred lines repeat over and over again a great many times. Rewriting our procedure iteratively had no effect. I only got it to work by rewriting it in Java. I am sure there is no hidden infinite recursion somewhere in our code because it works for a short input. The code also allocates a lot of data on the heap. Is JScheme efficient with its memory and garbage collection? Do the heap and the stack share memory? Could this be the problem? We are running with -Xmx1024m. Any insight you have would be greatly appreciated. Regards, Matthew Bilotti -- matthew w. bilotti artificial intelligence laboratory massachusetts institute of technology |