Sign in to follow this  
_Engine_

crash on asCContext::CleanStackFrame()

Recommended Posts

_Engine_    310
Hi!

We encountered with crash in

as_context.cpp, line: 4159

// Only destroy the object if it is truly alive
if( liveObjects[n] > 0 )
{
asSTypeBehaviour *beh = &m_currentFunction->objVariableTypes[n]->beh;
if( beh->destruct )
m_engine->CallObjectMethod((void*)(asPWORD*)&m_regs.stackFramePointer[-pos], beh->destruct); // crash here
}

looks like problem occurs when using script function like

string FormatInt(int val)
{
if (val < 10) return "0" + val;

return "" + val;
}

void SomeFunc()
{
...
Log(FormatInt(a) + ":" + FormatInt(b) + ":" + FormatInt(d));
...
}

so problem definitely in returning string in function as result. That's lead to illegal stack and crash.

And worse of all of this - crash occures on IOS and on Android and not on PC. SO we can't provide sample to you. Edited by _Engine_

Share this post


Link to post
Share on other sites
WitchLord    4677
What version of AngelScript are you using?

Does the crash always happen in the same place? Or is it an intermittent problem?

What was the reason for the script exception to begin with? Can you print the callstack of the context before releasing? (See helper function PrintException() for aid).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this