Description

The editor crashes with an Access Violation if a node that was copied and pasted from the Blueprint Diff tools is removed via an undo.

Regression?: No
This issue also occurred in 4.16

Branches tested:
4.16.3-3561208+++UE4+Release-4.16
4.17.1-3586342+++UE4+Release-4.17
4.18.0-3582225+++UE4+Main

Steps to Reproduce
  1. Open a project that is part of a Perforce depot
  2. Create a new blueprint, save it, and add it to Perforce
  3. Add a new node to the blueprint's Event Graph (IsValid macro works)
  4. In the Blueprint Editor, click File > Diff > Depot
  5. Open the "EventGraph" dropdown, click on the "Added node" event and then select the IsValid node in the preview graph and copy it (Ctrl+C)
  6. Back in the actual Event Graph, paste the node (Ctrl+V)
  7. Undo the action of pasting the node
    Result: The editor crashes with an access violation
    Expected: The action is undone successfully and the node is removed from the EventGraph
Callstack
Fatal error!

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xffffffff

UE4Editor-CoreUObject.dll!UObjectBaseUtility::IsA() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\uobject\uobjectbaseutility.cpp:278]
UE4Editor-Engine.dll!UEdGraphNode::GetGraph() [d:\matthew.clark_main_stream\engine\source\runtime\engine\private\edgraph\edgraphnode.cpp:284]
UE4Editor-Engine.dll!UEdGraphPin::GetSchema() [d:\matthew.clark_main_stream\engine\source\runtime\engine\private\edgraph\edgraphpin.cpp:535]
UE4Editor-GraphEditor.dll!SGraphPin::GetPinIcon() [d:\matthew.clark_main_stream\engine\source\editor\grapheditor\private\sgraphpin.cpp:875]
UE4Editor-Slate.dll!TAttribute<FSlateBrush const * __ptr64>::Get() [d:\matthew.clark_main_stream\engine\source\runtime\core\public\misc\attribute.h:137]
UE4Editor-Slate.dll!SImage::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slate\private\widgets\images\simage.cpp:15]
UE4Editor-KismetWidgets.dll!SDoubleImage::OnPaint() [d:\matthew.clark_main_stream\engine\source\editor\kismetwidgets\private\spintypeselector.cpp:47]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor-Slate.dll!SBorder::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:85]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor-Slate.dll!SBorder::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:85]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SOverlay::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-GraphEditor.dll!SNodePanel::SNode::OnPaint() [d:\matthew.clark_main_stream\engine\source\editor\grapheditor\public\snodepanel.h:420]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-GraphEditor.dll!SGraphPanel::OnPaint() [d:\matthew.clark_main_stream\engine\source\editor\grapheditor\private\sgraphpanel.cpp:256]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SOverlay::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-Slate.dll!SBox::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slate\private\widgets\layout\sbox.cpp:245]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-Slate.dll!SBox::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slate\private\widgets\layout\sbox.cpp:245]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-Slate.dll!SSplitter::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:167]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor-Slate.dll!SBorder::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:85]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SOverlay::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-Slate.dll!SSplitter::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:167]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SOverlay::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-Slate.dll!SSplitter::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:167]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor-Slate.dll!SBorder::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:85]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-Slate.dll!SBox::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slate\private\widgets\layout\sbox.cpp:245]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SOverlay::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-Slate.dll!SSplitter::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:167]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor-Slate.dll!SBorder::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:85]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]
UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor-SlateCore.dll!SWidget::Paint() [d:\matthew.clark_main_stream\engine\source\runtime\slatecore\private\widgets\swidget.cpp:899]

Have Comments or More Details?

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

1
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint Editor
Affects Versions4.164.174.18
Target Fix4.18
Fix Commit3613841
Main Commit3628687
Release Commit3643070
CreatedAug 24, 2017
ResolvedAug 28, 2017
UpdatedAug 9, 2018
View Jira Issue