lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Some interesting problems...(Lua 3.2, on an embedded system)

We are executing a script that performs a series of "dofile()" 
calls.  Each of the scripts executed therein is only loading 
functions, not executing any code.  So, we use this as a mechanism to 
load up utility functions, etc. for later use.

However, it seems that there is some limit to the number of times, or 
the complexity, or something of such operations.  When we do this, 
memory is being corrupted somewhere.  What we have found is that it 
seems to be related to the number of dofile() calls, and not 
specifically to the scripts themselves.  In order to test this, we 
built a script that in turn executes another script a bunch of 
times.  By varying the number of times that the second script is 
called by the first, we can either cause the problem or not.  
Remember, the script being called is the SAME script. So the form of 
this is:

dofile('SOME_SCRIPT.LUA')

SOME_SCRIPT.LUA
  dofile('ANOTHER_SCRIPT')
  dofile('ANOTHER_SCRIPT')
  .
  .
  .
  dofile('ANOTHER_SCRIPT')

If we break the SOME_SCRIPT.LUA into separate scripts containing 
fewer calls to dofile() and execute them separately, things seem to 
work.

Is there some limit that we aren't aware of?  Stacks, global 
namespaces, etc.?


Any help is appreciated!!!

Todd