Blueprint got corrupted. I duplicated it manually, but Unreal always crashes when trying to replace its references

One of my blueprints got corrupted because I didn’t realize that if you add a variable to a struct when there is a data table based on that struct, it will become corrupted. There really ought to be some kind of a warning about that. Anyway, one of my blueprints used to have a variable which was of the type of one of the structs that got corrupted. That variable was since deleted from the blueprint, but the blueprint won’t compile because it keeps giving an error saying that that variable is of an invalid type. Even though that variable isn’t in my blueprint any more. I also can’t make a variable with the non-existent variable’s name, or it says that variable is already in use.

So I go about duplicating the entire corrupted blueprint manually, and then try to delete the original corrupted blueprint and replace its references with the new manually duplicated blueprint. Unsurprisingly, unreal crashes. I restart and try again and this time it gets sort of far, and seems like it’s replacing some things, but ultimately it tells me that it could not replace the references, some things broke, and I ought to restart the editor without saving. So I do that and try again, and it crashes. I restart the editor and try it again, and it crashes again. And again and again.

What am I supposed to do at this point?

If it helps, here is the error message:

LoginId:64d76897224601b1a8fc3390a3093632
EpicAccountId:0ca29132494b40b9a2608f66be95681e

 SEGV_NOOP at 0x0

UObjectBase::IsValidLowLevelFast(bool) const Address = 0x11035eef9 (filename not found) [in UE4Editor-CoreUObject.dylib]
FPersistentFrameCollectorArchive::operator<<(UObject*&) Address = 0x113bf2d4a (filename not found) [in UE4Editor-Engine.dylib]
UObjectProperty::SerializeItem(FArchive&, void*, void const*) const Address = 0x110280106 (filename not found) [in UE4Editor-CoreUObject.dylib]
UProperty::SerializeBinProperty(FArchive&, void*, int) Address = 0x1100c940f (filename not found) [in UE4Editor-CoreUObject.dylib]
UStruct::SerializeBin(FArchive&, void*) const Address = 0x1100c9093 (filename not found) [in UE4Editor-CoreUObject.dylib]
UBlueprintGeneratedClass::AddReferencedObjectsInUbergraphFrame(UObject*, FReferenceCollector&) Address = 0x113bbd0ba (filename not found) [in UE4Editor-Engine.dylib]
FFindReferencersArchive::ResetPotentialReferencer(UObject*) Address = 0x1100b499f (filename not found) [in UE4Editor-CoreUObject.dylib]
TFindObjectReferencers<UObject>::TFindObjectReferencers(TArray<UObject*, FDefaultAllocator>, UPackage*, bool, bool) Address = 0x118c0a001 (filename not found) [in UE4Editor-UnrealEd.dylib]
FReplaceReferenceHelper::FindAndReplaceReferences(TArray<UObject*, FDefaultAllocator> const&, TSet<UObject*, DefaultKeyFuncs<UObject*, false>, FDefaultSetAllocator>*, TArray<UObject*, FDefaultAllocator> const&, TMap<UObject*, UObject*, FDefaultSetAllocator, TDefaultMapKeyFuncs<UObject*, UObject*, false> > const&, TMap<FStringAssetReference, UObject*, FDefaultSetAllocator, TDefaultMapKeyFuncs<FStringAssetReference, UObject*, false> > const&) Address = 0x118bb3fe5 (filename not found) [in UE4Editor-UnrealEd.dylib]
FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner(TMap<UClass*, UClass*, FDefaultSetAllocator, TDefaultMapKeyFuncs<UClass*, UClass*, false> >&, UObject*, TSet<UObject*, DefaultKeyFuncs<UObject*, false>, FDefaultSetAllocator>*, bool, bool) Address = 0x118bbac09 (filename not found) [in UE4Editor-UnrealEd.dylib]
FBlueprintCompileReinstancer::ReplaceInstancesOfClass(UClass*, UClass*, UObject*, TSet<UObject*, DefaultKeyFuncs<UObject*, false>, FDefaultSetAllocator>*, bool, bool) Address = 0x118b86aa5 (filename not found) [in UE4Editor-UnrealEd.dylib]
ObjectTools::ConsolidateObjects(UObject*, TArray<UObject*, FDefaultAllocator>&, bool) Address = 0x118cdc158 (filename not found) [in UE4Editor-UnrealEd.dylib]
FAssetDeleteModel::DoReplaceReferences(FAssetData const&) Address = 0x11802ef32 (filename not found) [in UE4Editor-UnrealEd.dylib]
SDeleteAssetsDialog::ReplaceReferences() Address = 0x1184136cc (filename not found) [in UE4Editor-UnrealEd.dylib]
TBaseSPMethodDelegateInstance<false, SDeleteAssetsDialog, (ESPMode)0, FReply ()>::Execute() const Address = 0x1184f5d21 (filename not found) [in UE4Editor-UnrealEd.dylib]
SButton::OnMouseButtonUp(FGeometry const&, FPointerEvent const&) Address = 0x110fb2f3a (filename not found) [in UE4Editor-Slate.dylib]
FSlateApplication::RoutePointerUpEvent(FWidgetPath&, FPointerEvent&) Address = 0x110d6c06d (filename not found) [in UE4Editor-Slate.dylib]
FSlateApplication::ProcessMouseButtonUpEvent(FPointerEvent&) Address = 0x110d101ae (filename not found) [in UE4Editor-Slate.dylib]
FSlateApplication::OnMouseUp(EMouseButtons::Type, FVector2D) Address = 0x110d74b4a (filename not found) [in UE4Editor-Slate.dylib]
FMacApplication::ProcessEvent(FDeferredMacEvent const&) Address = 0x10f52ad8f (filename not found) [in UE4Editor-Core.dylib]
FMacApplication::ProcessDeferredEvents(float) Address = 0x10f528d3f (filename not found) [in UE4Editor-Core.dylib]
FSlateApplication::TickPlatform(float) Address = 0x110d39ab5 (filename not found) [in UE4Editor-Slate.dylib]
FSlateApplication::AddModalWindow(TSharedRef<SWindow, (ESPMode)0>, TSharedPtr<SWidget const, (ESPMode)0>, bool) Address = 0x110d4398e (filename not found) [in UE4Editor-Slate.dylib]
UEditorEngine::EditorAddModalWindow(TSharedRef<SWindow, (ESPMode)0>) const Address = 0x11857891c (filename not found) [in UE4Editor-UnrealEd.dylib]
ObjectTools::DeleteObjects(TArray<UObject*, FDefaultAllocator> const&, bool) Address = 0x118cda367 (filename not found) [in UE4Editor-UnrealEd.dylib]
ObjectTools::DeleteAssets(TArray<FAssetData, FDefaultAllocator> const&, bool) Address = 0x118cedd48 (filename not found) [in UE4Editor-UnrealEd.dylib]
FAssetContextMenu::ExecuteDelete() Address = 0x125ea6057 (filename not found) [in UE4Editor-ContentBrowser.dylib]
SContentBrowser::HandleDeleteCommandExecute() Address = 0x1260d0876 (filename not found) [in UE4Editor-ContentBrowser.dylib]
TBaseSPMethodDelegateInstance<false, SContentBrowser, (ESPMode)0, TTypeWrapper<void> ()>::Execute() const Address = 0x1261915db (filename not found) [in UE4Editor-ContentBrowser.dylib]
TBaseSPMethodDelegateInstance<false, SContentBrowser, (ESPMode)0, void ()>::ExecuteIfSafe() const Address = 0x12619167b (filename not found) [in UE4Editor-ContentBrowser.dylib]
FUICommandList::ExecuteAction(TSharedRef<FUICommandInfo const, (ESPMode)0>) const Address = 0x110d9b66d (filename not found) [in UE4Editor-Slate.dylib]
SMenuEntryBlock::OnClicked(bool) Address = 0x110ecfa9c (filename not found) [in UE4Editor-Slate.dylib]
SMenuEntryBlock::OnMenuItemButtonClicked() Address = 0x110ebc016 (filename not found) [in UE4Editor-Slate.dylib]
TBaseSPMethodDelegateInstance<false, SMenuEntryBlock, (ESPMode)0, FReply ()>::Execute() const Address = 0x110f58981 (filename not found) [in UE4Editor-Slate.dylib]
SButton::OnMouseButtonUp(FGeometry const&, FPointerEvent const&) Address = 0x110fb2f3a (filename not found) [in UE4Editor-Slate.dylib]
SMenuEntryButton::OnMouseButtonUp(FGeometry const&, FPointerEvent const&) Address = 0x110f5a158 (filename not found) [in UE4Editor-Slate.dylib]
FSlateApplication::RoutePointerUpEvent(FWidgetPath&, FPointerEvent&) Address = 0x110d6c06d (filename not found) [in UE4Editor-Slate.dylib]
FSlateApplication::ProcessMouseButtonUpEvent(FPointerEvent&) Address = 0x110d101ae (filename not found) [in UE4Editor-Slate.dylib]
FSlateApplication::OnMouseUp(EMouseButtons::Type, FVector2D) Address = 0x110d74b4a (filename not found) [in UE4Editor-Slate.dylib]
FMacApplication::ProcessEvent(FDeferredMacEvent const&) Address = 0x10f52ad8f (filename not found) [in UE4Editor-Core.dylib]
FMacApplication::ProcessDeferredEvents(float) Address = 0x10f528d3f (filename not found) [in UE4Editor-Core.dylib]
FSlateApplication::TickPlatform(float) Address = 0x110d39ab5 (filename not found) [in UE4Editor-Slate.dylib]
FSlateApplication::Tick() Address = 0x110d38fab (filename not found) [in UE4Editor-Slate.dylib]
FEngineLoop::Tick() Address = 0x10f2dd5fc (filename not found) [in UE4Editor]
GuardedMain(wchar_t const*) Address = 0x10f2e3ba2 (filename not found) [in UE4Editor]
-[UE4AppDelegate runGameThread:] Address = 0x10f2f153c (filename not found) [in UE4Editor]
-[FCocoaGameThread main] Address = 0x10f520366 (filename not found) [in UE4Editor-Core.dylib]
Unknown() Address = 0x7fffd6a26bcd (filename not found) [in Foundation]
_pthread_body Address = 0x7fffea98a9af (filename not found) [in libsystem_pthread.dylib]
_pthread_body Address = 0x7fffea98a8fb (filename not found) [in libsystem_pthread.dylib]
thread_start Address = 0x7fffea98a101 (filename not found) [in libsystem_pthread.dylib]

Thank you for your help. I am using 4.15.2 and mac OS 10.12.4.