lua-users home
lua-l archive

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


How many threads do you have? It would help if you could print which
thread you are traversing.
3 threads and trace shows one executing.

> It appears my environment is being collected.
Why do you think this?
The address of the the environment is erased from the stack
incorrectly (methinks) and the environment does not exist
after it is erased. and the Lua code fails.

I think (maybe) I can create a test program for this case that will fail,
would this be a better approach?

If you suspect that the problem is with the environment (and not with the
stack), then that trace is not going to be very useful. You should instead
check whether the environment is being marked. That is done a few lines up:

  markvalue(g, gt(l));

Will do.
The problem is with the environment and the stack.

Sorry about this I have *never* looked at the GC code before (or
had a reason too) and I am fumbling my way around here.

DB