So I have been trying to go through Brandon Garvin’s tutorial on integrating PolyVox into Unreal Engine here: https://garvinized.com/posts/2016/voxel-terrain-in-unreal-engine-4-part-1-getting-setup/
I think I understand how this is all fitting together, but try as I might, I consistently get a crash in the UE4Editor-Core.dll whenever I try to simulate the world after applying his code. Obviously it is going to be hard to tell me what I am doing wrong from a very vague stack trace, but I am hoping someone has enough experience with this to give me some ideas where to start looking. I’m very new to Unreal Engine, and my C++ is very rusty as I am primarily a business application developer using VB.Net and a bit of C#.
I’m assuming I’m doing something wrong, but it seems like it would have to be very wrong to cause a crash in the core dll.
Anyway, here is the Stack Trace I get on the crash:
UE4Editor-Core.dll!rml::internal::Block::privatizePublicFreeList(void) Unknown
UE4Editor-Core.dll!rml::internal::Bin::getPublicFreeListBlock(void) Unknown
UE4Editor-Core.dll!rml::internal::ExtMemoryPool::initTLS(void) Unknown
UE4Editor-Core.dll!scalable_malloc() Unknown
> UE4Editor-Core.dll!FMallocTBB::Malloc(unsigned __int64 Size=424, unsigned int Alignment=0) Line 44 C++
UE4Editor-Core.dll!`anonymous namespace'::FICUOverrides::Malloc(const void * context=0x0000000000000000, unsigned __int64 size) Line 38 C++
icuuc53.dll!0000000049fc4034() Unknown
icuuc53.dll!0000000049fc3de3() Unknown
icuuc53.dll!000000004a0ac1ec() Unknown
UE4Editor-Core.dll!FICUBreakIteratorManager::CreateCharacterBoundaryIterator() Line 33 C++
UE4Editor-Core.dll!FBreakIterator::CreateCharacterBoundaryIterator() Line 11 C++
UE4Editor-Slate.dll!FTextLayout::FTextLayout() Line 1086 C++
UE4Editor-Slate.dll!FSlateTextLayout::FSlateTextLayout(FTextBlockStyle InDefaultTextStyle={...}) Line 21 C++
UE4Editor-Slate.dll!FSlateTextLayout::Create(FTextBlockStyle InDefaultTextStyle={...}) Line 10 C++
UE4Editor-Slate.dll!FTextBlockLayout::FTextBlockLayout(FTextBlockStyle InDefaultTextStyle={...}, const TOptional<enum ETextShapingMethod> InTextShapingMethod={...}, const TOptional<enum ETextFlowDirection> InTextFlowDirection={...}, const TBaseDelegate<TSharedRef<FSlateTextLayout,0>,FTextBlockStyle> & InCreateSlateTextLayout={...}, TSharedRef<ITextLayoutMarshaller,0> InMarshaller={...}, TSharedPtr<IBreakIterator,0> InLineBreakPolicy={...}) Line 13 C++
UE4Editor-Slate.dll!MakeUnique<FTextBlockLayout,FTextBlockStyle const & __ptr64,TOptional<enum ETextShapingMethod> const & __ptr64,TOptional<enum ETextFlowDirection> const & __ptr64,TBaseDelegate<TSharedRef<FSlateTextLayout,0>,FTextBlockStyle>,TSharedRef<FPlainTextLayoutMarshaller,0>,TSharedPtr<IBreakIterator,0> const & __ptr64>(const FTextBlockStyle & <Args_0>={...}, const TOptional<enum ETextShapingMethod> & <Args_1>={...}, const TOptional<enum ETextFlowDirection> & <Args_2>={...}, TBaseDelegate<TSharedRef<FSlateTextLayout,0>,FTextBlockStyle> && <Args_3>={...}, TSharedRef<FPlainTextLayoutMarshaller,0> && <Args_4>={...}, const TSharedPtr<IBreakIterator,0> & <Args_5>={...}) Line 367 C++
UE4Editor-Slate.dll!STextBlock::Construct(const STextBlock::FArguments & InArgs={...}) Line 49 C++
UE4Editor-Slate.dll!TDecl<STextBlock,RequiredArgs::T0RequiredArgs>::operator<<=(const STextBlock::FArguments & InArgs={...}) Line 1079 C++
UE4Editor-Slate.dll!SMultiBoxWidget::AddBlockWidget(const FMultiBlock & Block, TSharedPtr<SHorizontalBox,0> HorizontalBox={...}, TSharedPtr<SVerticalBox,0> VerticalBox={...}, EMultiBlockLocation::Type InLocation=None, bool bSectionContainsIcons=false) Line 562 C++
UE4Editor-Slate.dll!SMultiBoxWidget::BuildMultiBoxWidget() Line 655 C++
UE4Editor-Slate.dll!FMultiBox::MakeWidget(bool bSearchable) Line 274 C++
UE4Editor-Slate.dll!FMenuBuilder::MakeWidget() Line 169 C++
UE4Editor-DetailCustomizations.dll!FComponentTransformDetails::BuildTransformFieldLabel(ETransformField::Type TransformField) Line 131 C++
UE4Editor-DetailCustomizations.dll!FComponentTransformDetails::GenerateChildContent(IDetailChildrenBuilder & ChildrenBuilder={...}) Line 492 C++
UE4Editor-PropertyEditor.dll!FDetailCustomBuilderRow::OnGenerateChildren(TArray<TSharedRef<IDetailTreeNode,0>,FDefaultAllocator> & OutChildren={...}) Line 60 C++
UE4Editor-PropertyEditor.dll!FDetailItemNode::GenerateChildren(bool bUpdateFilteredNodes) Line 231 C++
UE4Editor-PropertyEditor.dll!FDetailCategoryImpl::GenerateNodesFromCustomizations(const TArray<FDetailLayoutCustomization,FDefaultAllocator> & InCustomizationList={...}, bool bDefaultLayouts=false, TArray<TSharedRef<IDetailTreeNode,0>,FDefaultAllocator> & OutNodeList={...}, bool & bOutLastItemHasMultipleColumns=false) Line 627 C++
UE4Editor-PropertyEditor.dll!FDetailCategoryImpl::GenerateChildrenForSingleLayout(const FName RequiredGroupName={...}, bool bDefaultLayout, bool bNeedsGroup, const TArray<FDetailLayoutCustomization,FDefaultAllocator> & LayoutList={...}, TArray<TSharedRef<IDetailTreeNode,0>,FDefaultAllocator> & OutChildren={...}, bool & bOutLastItemHasMultipleColumns=false) Line 649 C++
UE4Editor-PropertyEditor.dll!FDetailCategoryImpl::GenerateChildrenForLayouts() Line 674 C++
UE4Editor-PropertyEditor.dll!FDetailCategoryImpl::GenerateLayout() Line 834 C++
UE4Editor-PropertyEditor.dll!FDetailLayoutBuilderImpl::BuildCategories(const TMap<FName,TSharedPtr<FDetailCategoryImpl,0>,FDefaultSetAllocator,TDefaultMapKeyFuncs<FName,TSharedPtr<FDetailCategoryImpl,0>,0> > & CategoryMap, TArray<TSharedRef<FDetailCategoryImpl,0>,FDefaultAllocator> & OutSimpleCategories={...}, TArray<TSharedRef<FDetailCategoryImpl,0>,FDefaultAllocator> & OutAdvancedCategories={...}) Line 141 C++
UE4Editor-PropertyEditor.dll!FDetailLayoutBuilderImpl::GenerateDetailLayout() Line 174 C++
UE4Editor-PropertyEditor.dll!SDetailsViewBase::UpdatePropertyMap() Line 1289 C++
UE4Editor-PropertyEditor.dll!SDetailsView::PostSetObject() Line 673 C++
UE4Editor-PropertyEditor.dll!SDetailsView::SetObjectArrayPrivate(const TArray<TWeakObjectPtr<UObject,FWeakObjectPtr>,FDefaultAllocator> & InObjects={...}) Line 485 C++
UE4Editor-PropertyEditor.dll!SDetailsView::SetObjects(const TArray<UObject *,FDefaultAllocator> & InObjects={...}, bool bForceRefresh, bool bOverrideLock) Line 324 C++
UE4Editor-LevelEditor.dll!SActorDetails::SetObjects(const TArray<UObject *,FDefaultAllocator> & InObjects={...}, bool bForceRefresh) Line 205 C++
UE4Editor-LevelEditor.dll!SLevelEditor::OnActorSelectionChanged(const TArray<UObject *,FDefaultAllocator> & NewSelection={...}, bool bForceRefresh) Line 1458 C++
UE4Editor-LevelEditor.dll!TBaseSPMethodDelegateInstance<0,SLevelEditor,0,TTypeWrapper<void> __cdecl(TArray<UObject * __ptr64,FDefaultAllocator> const & __ptr64,bool)>::Execute(const TArray<UObject *,FDefaultAllocator> & <Params_0>={...}, bool <Params_1>) Line 317 C++
UE4Editor-LevelEditor.dll!TBaseSPMethodDelegateInstance<0,SLevelEditor,0,void __cdecl(TArray<UObject * __ptr64,FDefaultAllocator> const & __ptr64,bool)>::ExecuteIfSafe(const TArray<UObject *,FDefaultAllocator> & <Params_0>={...}, bool <Params_1>) Line 424 C++
UE4Editor-LevelEditor.dll!TBaseMulticastDelegate<void,TArray<UObject * __ptr64,FDefaultAllocator> const & __ptr64,bool>::Broadcast(const TArray<UObject *,FDefaultAllocator> & <Params_0>={...}, bool <Params_1>) Line 921 C++
UE4Editor-UnrealEd.dll!UUnrealEdEngine::UpdateFloatingPropertyWindowsFromActorList(const TArray<UObject *,FDefaultAllocator> & ActorList={...}, bool bForceRefresh) Line 68 C++
UE4Editor-UnrealEd.dll!UUnrealEdEngine::UpdateFloatingPropertyWindows(bool bForceRefresh) Line 59 C++
UE4Editor-UnrealEd.dll!UEditorEngine::CreatePIEGameInstance(int InPIEInstance, bool bInSimulateInEditor=false, bool bAnyBlueprintErrors=false, bool bStartInSpectatorMode=true, bool bRunAsDedicated=false, float PIEStartTime=16795114.0) Line 3346 C++
UE4Editor-UnrealEd.dll!UEditorEngine::PlayInEditor(UWorld * InWorld=0x000000003916ab00, bool bInSimulateInEditor=234) Line 2426 C++
UE4Editor-UnrealEd.dll!UEditorEngine::StartQueuedPlayMapRequest() Line 1141 C++
UE4Editor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds=0.0255938433, bool bIdleMode=false) Line 1306 C++
UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 371 C++
UE4Editor.exe!FEngineLoop::Tick() Line 2834 C++
UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance=0x0000000000553c8e, HINSTANCE__ * hPrevInstance=0x000000000000000a, int nCmdShow=0) Line 156 C++
UE4Editor.exe!GuardedMainWrapper(const wchar_t * CmdLine=0x0000000000553c8e, HINSTANCE__ * hInInstance=0x0000000000000000, HINSTANCE__ * hPrevInstance=0x000000000000000a, int nCmdShow=-432979392) Line 126 C++
UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance=0x000000013f930000, HINSTANCE__ * hPrevInstance=0x0000000000000000, char * __formal=0x0000000000000000, int nCmdShow=10) Line 202 C++
UE4Editor.exe!__scrt_common_main_seh() Line 264 C++
kernel32.dll!0000000076f859cd() Unknown
ntdll.dll!00000000770ba2e1() Unknown