Description

Crash when using "Convert to Seeded" on a Particle System Cascade module

This is a Regression as it does not occur in 4.10


Error message:

Assertion failed: *Offset < (uint32)InstancePayloadSize [Link Removed] [Line: 1425]

Source Context:

 1411       
 1412       uint32* Offset = SpriteTemplate->ModuleOffsetMap.Find(Module);
 1413       return (Offset != nullptr) ? *Offset : 0;
 1414       }
 1415       
 1416       uint8* FParticleEmitterInstance::GetModuleInstanceData(UParticleModule* Module)
 1417       {
 1418       // If there is instance data present, look up the modules offset
 1419       if (InstanceData)
 1420       {
 1421       uint32* Offset = SpriteTemplate->ModuleInstanceOffsetMap.Find(Module);
 1422       if (Offset)
 1423       {
 1424       check(*Offset < (uint32)InstancePayloadSize);
 1425 ***** return &(InstanceData[*Offset]);
 1426       }
 1427       }
 1428       return NULL;
 1429       }
 1430       
 1431       /**
 1432        *Get the pointer to the instance data allocated for type data module.
 1433        *
 1434        *@returnuint8*The pointer to the data
 1435        */
 1436       uint8* FParticleEmitterInstance::GetTypeDataModuleInstanceData()
 1437       {
 1438       if (InstanceData && (TypeDataInstanceOffset != -1))
 1439       {
 1440       return &(InstanceData[TypeDataInstanceOffset]);

Most recent user affected CL: 2946394

Logs:
[Link Removed]

Steps to Reproduce

1. Create a Particle System
2. Open it in Cascade
3. Right click on the Initial Velocity module
4. Select "Convert to Seeded"

Result: Crash
Expected: Module is converted to Seeded

Callstack
UE4Editor_Engine!FParticleEmitterInstance::GetModuleInstanceData() particleemitterinstances.cpp:1426 
UE4Editor_Engine!UParticleModuleSize_Seeded::Spawn() particlemodules_size.cpp:110 
UE4Editor_Engine!FParticleEmitterInstance::SpawnParticles() particleemitterinstances.cpp:2003 
UE4Editor_Engine!FParticleEmitterInstance::Spawn() particleemitterinstances.cpp:1958 
UE4Editor_Engine!FParticleEmitterInstance::Tick_SpawnParticles() particleemitterinstances.cpp:930 
UE4Editor_Engine!FParticleEmitterInstance::Tick() particleemitterinstances.cpp:722 
UE4Editor_Engine!UParticleSystemComponent::ComputeTickComponent_Concurrent() particlecomponents.cpp:4201 
UE4Editor_Engine!UParticleSystemComponent::TickComponent() particlecomponents.cpp:4131 
UE4Editor_Cascade!FCascade::Tick() cascade.cpp:1541 
UE4Editor_UnrealEd!FTickableEditorObject::TickObjects() tickableeditorobject.h:15 
UE4Editor_UnrealEd!UEditorEngine::Tick() editorengine.cpp:1123 
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() unrealedengine.cpp:370 
UE4Editor!FEngineLoop::Tick() launchengineloop.cpp:2644 
UE4Editor!GuardedMain() launch.cpp:142 
UE4Editor!GuardedMainWrapper() launchwindows.cpp:126 
UE4Editor!WinMain() launchwindows.cpp:200 
UE4Editor!__scrt_common_main_seh() exe_common.inl:264 
kernel32!<Unknown> 
ntdll!<Unknown> 

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Fixed
ComponentUE - Graphics Features
Affects Versions4.11.2
Target Fix4.12
Fix Commit2967497
Main Commit3023490
Release Commit2967497
CreatedMay 2, 2016
ResolvedMay 5, 2016
UpdatedMay 2, 2018