• Advertisement
Sign in to follow this  

crash on asCContext::CleanStackFrame()

This topic is 1866 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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
Advertisement
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
Sign in to follow this  

  • Advertisement