Description

 

  Frequent runtime operations on Lidar Point Cloud Octree cause Access Violation ExceptionEdit      The Exception occurs while checking bInUse value of QueuedNode, which suggests that this QueuedNode is either on another thread or simply does not exist while iterating over QueuedNodes in line 2124 of LidarPointCloudOctree.cpp (inside FLidarPointCloudOctree::StreamNodes).  

 

Steps to Reproduce
  1. create blank project
  2. enable LiDAR Cloud plugin
  3. restart editor when prompted
  4. Content Browser>Right Click>New Blueprint Class>Actor>name your actor
  5. open Actor blueprint
  6. in components>click Add>LidarPointCloud
  7. in Functions>Click plus sign to add new function 
    • Mark the function as pure
    • Create a local array variable of type LidarPointCloudPoint
    • Add function output type as an array of type LidarPointCloudPoint
    • Drag off of function entry node and create for loop with some 500 iterations
    • With each iteration, add a new entry to the local points array
    • for each element put a Random Unit Vector attached to the location pin of a Make Lidar Point Cloud Point
    • [Image Removed]
  8. In Actor Event Graph
    • Drag off of BeginPlay and add SetPointCloud node
    • Set target point of SetPointCloud to your Lidar Point Cloud component
    • Drag off of InPointCloud point and put a Create Empty Lidar Point Cloud node (you will need to uncheck the Context Sensitivity to find this
    • Drag off of your lidar component and add GetPointCloud node
    • From that, drag off a Set Data node and connect its execution pin to the output of SetPointCloud
    • Drag off of the Points pin and connect the function created earlier
    • [Image Removed]
  9. Open Level blueprint and in its Event Graph
    • Drag off of Tick node and add GetAllActorsOfClass selecting the Blueprint type created earlier
    • Attach foreach node to the results, destroying all actors found
    • Drag off of the Complete pin of the for node
    • Create a regular for loop with 30-40 iteration
    • In each loop iteration, spawn new actor of the blueprint type created earlier
    • [Image Removed]
  10. Save and Compile
  11. PIE

Expected Results: No exceptions or ensures happen and PIE is playable (can become slow, depending on the number of iterations selected)

Actual Results: Exception causes crash of the Editor.

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Editor - Content Pipeline - Datasmith
Affects Versions5.0.1
Target Fix5.0.3
Fix Commit20436910
Main Commit20448622
Release Commit20436910
CreatedMay 16, 2022
ResolvedMay 31, 2022
UpdatedJan 25, 2023