Jump to content

[SOLVED] maximum namespace is is 32767


photo

Recommended Posts

Posted

If I run my program for long enough, I get:
 


NameSpace::NameSpace(): maximum namespace is is 32767

Expression::run_0(): bad expression

I tried having the expressions be class_manage()'ed, in the hopes that deleting them would recycle past used anonymous namespaces.
But, it continues to have the problem.




Michael Zhang

 

Posted

NameSpace::NameSpace(): maximum namespace is is 32767

 

You have exceeded interpreter limit of namespace instances. I would guess there is some kind of object leakage in your code. You should post minimal test case for problem reproduction.

  • 2 weeks later...
Posted

There really seems to be a bug with deleting expression namespace instances. Right now our developers are head and ears in work implementing large coordinates support, but approximately in a week they will be able to check it.

Posted

There really seems to be a bug with deleting expression namespace instances. Right now our developers are head and ears in work implementing large coordinates support, but approximately in a week they will be able to check it.

Okay, I assume this is in response to the test case I sent by e-mail?

I am looking forward to the solution.

 

 

Thanks

  • 3 weeks later...
Posted

Okay, I assume this is in response to the test case I sent by e-mail?

I am looking forward to the solution.

 

 

Thanks

 

Any update on this issue?

Posted

Not yet :( But new coordinates implementation is almost over, so your issue will be dealt with really soon.

Posted

Not yet :( But new coordinates implementation is almost over, so your issue will be dealt with really soon.

 

Please make sure that it is fixed in the next release, it's very frustrating to not be able to run the program for an extended period of time before crash. Thank you.

  • 2 weeks later...
Posted

It turned out expressions can't be created and deleted every frame. They are intended to be created once, for example, on world load, rather than dynamically. It is not only the matter of namespace instances limit. The memory will eventually run out in any case as each time the space is allocated for newly added code. If you need to execute something this often, it is more rational to create a normal function instead.

Posted

It turned out expressions can't be created and deleted every frame. They are intended to be created once, for example, on world load, rather than dynamically. It is not only the matter of namespace instances limit. The memory will eventually run out in any case as each time the space is allocated for newly added code. If you need to execute something this often, it is more rational to create a normal function instead.

 

Hello,

 

I am using Expressions to execute member functions from C++. If I cannot use Expressions, how do you recommend I achieve this?

I do not wish to create a global function for each object/member combination I need to access from C++.

Posted

Our devs use the following approach:

 

// UnigineScript
executeMember (int instance, string method_name) {
  instance.call("method_name");
}

// C++
Unigine::Variable instance;
engine->runWorld("executeMember", instance, "method_name");

  • 1 year later...
×
×
  • Create New...