Author Topic: Access violation writing location  (Read 1236 times)

When my UE4 dedicated server calls the servertravel function, an exception is thrown on line 272 of SubstanceTexture2D.cpp claiming an "Access violation writing location".
Code: [Select]
void USubstanceTexture2D::BeginDestroy()
{
//Route BeginDestroy.
Super::BeginDestroy();

if (OutputCopy)
{
//Reset output user data
OutputCopy->mUserData = 0;

//Nullify the pointer to this texture's address so that others see it has been destroyed
mUserData.Texture.Reset();

//Disable the output in the parent instance
if (ParentInstance && ParentInstance->Instance)
{
Substance::Helpers::ClearFromRender(ParentInstance);

auto ItOut = ParentInstance->Instance->getOutputs().begin();
for (; ItOut != ParentInstance->Instance->getOutputs().end(); ++ItOut)
{
if ((*ItOut)->mDesc.mUid == mUid)
{
(*ItOut)->mEnabled = false;
break;
}
}
}
}
}

The exception is thrown at "OutputCopy->mUserData = 0;". It takes a few crashes and restarts to get the next map to load, but once it has successfully loaded into the next map without crashing, it doesn't happen again in that build.

I am running 4.19
Last Edit: August 17, 2018, 03:26:25 pm

Hi @satansdildo,
We will work on a repro case and add a ticket for this bug.
Thank you for the report!  :D

Cheers!
-Dan
Software Engineer, Integrations
daniel.stover@allegorithmic.com

Hello,

Have you found a solution for this issue ? I'm still running into it and I don't know how to fix it.

Thanks !
Ben