ROS-TCP-Connector icon indicating copy to clipboard operation
ROS-TCP-Connector copied to clipboard

OutOfMemoryException: Out of memory

Open alessandro-ricci-16 opened this issue 6 months ago • 0 comments

BUG The linking between the robot i want to control and unity works but when i try to subscribe a topic that had to receive a message of the type "marker array" it send an error of the type OutOfMemoryException.

To reproduce the error I just created a subscriber that receive messages of the type "markerArray". When the robot try to send the messages i got the error.

Console Log Here the console Log:

Unity.Robotics.ROSTCPConnector.MessageGeneration.MessageDeserializer.Read[T] (T[]& values, System.Func2[T,TResult] loader, System.Int32 length) (at ./Library/PackageCache/com.unity.robotics.ros-tcp-connector@c27f00c6cf/Runtime/MessageGeneration/MessageDeserializer.cs:163)
RosMessageTypes.Visualization.MarkerMsg..ctor (Unity.Robotics.ROSTCPConnector.MessageGeneration.MessageDeserializer deserializer) (at Assets/RosMessages/Visualization/msg/MarkerMsg.cs:127)
RosMessageTypes.Visualization.MarkerMsg.Deserialize (Unity.Robotics.ROSTCPConnector.MessageGeneration.MessageDeserializer deserializer) (at Assets/RosMessages/Visualization/msg/MarkerMsg.cs:113)
Unity.Robotics.ROSTCPConnector.MessageGeneration.MessageDeserializer.Read[T] (T[]& values, System.Func2[T,TResult] loader, System.Int32 length) (at ./Library/PackageCache/com.unity.robotics.ros-tcp-connector@c27f00c6cf/Runtime/MessageGeneration/MessageDeserializer.cs:166)
RosMessageTypes.Visualization.MarkerArrayMsg..ctor (Unity.Robotics.ROSTCPConnector.MessageGeneration.MessageDeserializer deserializer) (at Assets/RosMessages/Visualization/msg/MarkerArrayMsg.cs:32)
RosMessageTypes.Visualization.MarkerArrayMsg.Deserialize (Unity.Robotics.ROSTCPConnector.MessageGeneration.MessageDeserializer deserializer) (at Assets/RosMessages/Visualization/msg/MarkerArrayMsg.cs:28)
Unity.Robotics.ROSTCPConnector.RosTopicState.Deserialize (System.Byte[] data) (at ./Library/PackageCache/com.unity.robotics.ros-tcp-connector@c27f00c6cf/Runtime/TcpConnector/RosTopicState.cs:147)
Unity.Robotics.ROSTCPConnector.RosTopicState.OnMessageReceived (System.Byte[] data) (at ./Library/PackageCache/com.unity.robotics.ros-tcp-connector@c27f00c6cf/Runtime/TcpConnector/RosTopicState.cs:92)
Unity.Robotics.ROSTCPConnector.ROSConnection.Update () (at ./Library/PackageCache/com.unity.robotics.ros-tcp-connector@c27f00c6cf/Runtime/TcpConnector/ROSConnection.cs:600)
UnityEngine.Debug:LogException(Exception)
Unity.Robotics.ROSTCPConnector.ROSConnection:Update() (at ./Library/PackageCache/com.unity.robotics.ros-tcp-connector@c27f00c6cf/Runtime/TcpConnector/ROSConnection.cs:604)

I need to receive data and update an object with the information ROS2 sent to me. The array contains information about different nodes, I have to retrieve their position and place them in the unity scenario updating their position each time I retrieve different information.

Environment

  • Unity Version: Unity 2022.3.10f1
  • Unity machine OS + version: Windows 11
  • ROS version: ROS 2
  • ROS–Unity communication: Docker

alessandro-ricci-16 avatar May 26 '25 13:05 alessandro-ricci-16