Description

When creating a Curve and filtering the keys with a Fourier Transform, the engine crashes. The engine doesn't crash when the Bake, Euler, or Simplify options. It only crashes if there are a minimum of 3 keys. It also only occurs if the Response setting for the Fourier Transform is set to Chebyshev, Butterworth does not crash.

Tested in //UE4/Release-4.25 @ CL 14469661 and the crash did not occur, so marking as a Regression

Steps to Reproduce
  1. Right-click in the content browser
  2. Select Miscellaneous > Curve > CurveFloat
  3. Open the Curve asset you created
  4. Right-click > Add key to place a point
  5. Place 3 points on the curve
  6. Drag-select all of the points
  7. Right Click and select Filter
  8. Select Fourier Transform (FFT)

RESULT:

**The engine crashes

EXPECTED:

The user is able to use a FFT filter on a curve without crashing

 

Callstack
ntdll!7fff58f80000  + 9ce14
KERNELBASE!7fff55f20000  + 41e93
UE4Editor-Core!ReportCrash(_EXCEPTION_POINTERS *) [WindowsPlatformCrashContext.cpp:1574]
UE4Editor!7ff60d9c0000  + 3b16f
VCRUNTIME140!7fff455d0000  + e3e0
ntdll!7fff58f80000  + a1eef
ntdll!7fff58f80000  + 6aad9
ntdll!7fff58f80000  + a0b5e
UE4Editor-Core!__TBB_LockByte(unsigned char &) [tbb_machine.h:937]
UE4Editor-Core!static void rml::internal::freeSmallObject(void *) [frontend.cpp:2522]
UE4Editor-Core!static void rml::internal::internalFree(void *) [frontend.cpp:2645]
UE4Editor-Core!scalable_realloc  [frontend.cpp:2989]
UE4Editor-Core!FMallocTBB::Realloc(void *,unsigned __int64,unsigned int) [MallocTBB.cpp:138]
UE4Editor-Core!FMemory::Realloc(void *,unsigned __int64,unsigned int) [FMemory.inl:56]
UE4Editor-PropertyEditor!TDelegate<FText ,FDefaultDelegateUserPolicy>::~TDelegate<FText ,FDefaultDelegateUserPolicy>() [DelegateSignatureImpl.inl:336]
UE4Editor-PropertyEditor!7ffed7190000  + 1409f6
UE4Editor-PropertyEditor!SNumericEntryBox<float>::Construct(SNumericEntryBox<float>::FArguments const &) [SNumericEntryBox.h:209]
UE4Editor-PropertyEditor!TDecl<SNumericEntryBox<float>,RequiredArgs::T0RequiredArgs>::operator<<=(SNumericEntryBox<float>::FArguments const &) [DeclarativeSyntaxSupport.h:1122]
UE4Editor-PropertyEditor!SPropertyEditorNumeric<float>::Construct(SPropertyEditorNumeric<float>::FArguments const &,TSharedRef<FPropertyEditor,0> const &) [SPropertyEditorNumeric.h:352]
UE4Editor-PropertyEditor!class TSharedRef<SPropertyEditorNumeric<float>,0> TDecl<SPropertyEditorNumeric<float>,RequiredArgs::T1RequiredArgs<TSharedRef<FPropertyEditor,0> const &> >::operator<<=(const struct SPropertyEditorNumeric<float>::FArguments & const) [DeclarativeSyntaxSupport.h:1122]
UE4Editor-PropertyEditor!SPropertyValueWidget::ConstructPropertyEditorWidget(TSharedPtr<FPropertyEditor,0> &,TSharedPtr<IPropertyUtilities,0>,TSharedRef<SWidget,0>) [PropertyEditorHelpers.cpp:208]
UE4Editor-PropertyEditor!SPropertyValueWidget::Construct(SPropertyValueWidget::FArguments const &,TSharedPtr<FPropertyEditor,0>,TSharedPtr<IPropertyUtilities,0>) [PropertyEditorHelpers.cpp:85]
UE4Editor-PropertyEditor!class TSharedRef<SPropertyValueWidget,0> TDecl<SPropertyValueWidget,RequiredArgs::T2RequiredArgs<TSharedPtr<FPropertyEditor,0> const &,TSharedPtr<IPropertyUtilities,0> &&> >::operator<<=(const struct SPropertyValueWidget::FArguments & const) [DeclarativeSyntaxSupport.h:1122]
UE4Editor-PropertyEditor!FDetailPropertyRow::MakeValueWidget(FDetailWidgetRow &,TSharedPtr<FDetailWidgetRow,0>,bool) [DetailPropertyRow.cpp:826]
UE4Editor-PropertyEditor!FDetailPropertyRow::GetWidgetRow() [DetailPropertyRow.cpp:221]
UE4Editor-PropertyEditor!FDetailLayoutCustomization::GetWidgetRow() [DetailCategoryBuilderImpl.cpp:98]
UE4Editor-PropertyEditor!FDetailItemNode::GenerateStandaloneWidget(FDetailWidgetRow &) [DetailItemNode.cpp:275]
UE4Editor-PropertyEditor!FDetailTreeNode::CreateNodeWidgets() [DetailTreeNode.cpp:11]
UE4Editor-CurveEditor!SCurveKeyDetailPanel::PropertyRowsRefreshed() [SCurveKeyDetailPanel.cpp:108]
UE4Editor-CurveEditor!TBaseSPMethodDelegateInstance<0,SCurveKeyDetailPanel,0,void ,FDefaultDelegateUserPolicy>::ExecuteIfSafe() [DelegateInstancesImpl.h:307]
UE4Editor-PropertyEditor!TMulticastDelegate<void ,FDefaultDelegateUserPolicy>::Broadcast() [DelegateSignatureImpl.inl:955]
UE4Editor-PropertyEditor!FPropertyRowGenerator::UpdateDetailRows() [PropertyRowGenerator.cpp:577]
UE4Editor-PropertyEditor!FPropertyRowGenerator::ValidatePropertyNodes(TArray<TSharedPtr<FComplexPropertyNode,0>,TSizedDefaultAllocator<32> > const &) [PropertyRowGenerator.cpp:653]
UE4Editor-PropertyEditor!FPropertyRowGenerator::Tick(float) [PropertyRowGenerator.cpp:352]
UE4Editor-UnrealEd!FTickableEditorObject::TickObjects(float) [TickableEditorObject.h:45]
UE4Editor-UnrealEd!UEditorEngine::Tick(float,bool) [EditorEngine.cpp:1501]
UE4Editor-UnrealEd!UUnrealEdEngine::Tick(float,bool) [UnrealEdEngine.cpp:426]
UE4Editor!7ff60d9c0000  + 9bda
UE4Editor!7ff60d9c0000  + 211ac
UE4Editor!7ff60d9c0000  + 2128a
UE4Editor!7ff60d9c0000  + 352ed
UE4Editor!7ff60d9c0000  + 3801a
KERNEL32!7fff57fc0000  + 17c24
ntdll!7fff58f80000  + 6d721

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-111572 in the post.

1
Login to Vote

Fixed
ComponentUE - Anim - Sequencer
Affects Versions4.26.1
Target Fix4.27
Fix Commit16402064
Release Commit16404345
CreatedMar 19, 2021
ResolvedMay 20, 2021
UpdatedApr 25, 2023