Comments (8)
Hi @Hemofektik
Is this issue somehow related to your latest fixes? In 9f7468e you referenced some premature tcp disconnects and introduced locking operations for the callback topics which brought me back to this issue....
from rosintegration.
Hi,
the premature disconnects and the locking operation was for incoming messages only. But the problems fixed by that sound exactly as described by @aaronsnoswell but not for publishing messages.
Race conditions with topic->publish could only happen if you use one or multiple topics from different threads. That is not supported yet. @aaronsnoswell Do you use multiple threads.
P.S.: I already checked in queued publishers that would allow this behavior to work (additionally to the main feature to send messages asynchronously to the rosbridge and queue the messages). I will make a pull request for that soon.
from rosintegration.
Please check if #23 fixes your problem.
from rosintegration.
@Hemofektik No I don't believe I was using multiple threads. Sorry I don't have my project where I was testing this library available any more so I'm unable to test :(
from rosintegration.
I just read your initial post again and I think what you experienced was the GraceTime of the TCPConnection. It tries to send the message forcefully over a period of 4 seconds before it gives up and discards the message. This blocks the main thread for 4 seconds. This will happen for each message send as soon as the connection to the rosbridge_server is lost.
IMHO, this GraceTime thingy has to be removed anyway because this type of error handling is way too deep buried into the Plugin and nobody is able anymore to decide by themselves to handle such situations differently.
from rosintegration.
The handling of ROS Connections/sockets/publishing was refactored very much since back then. This problem most probably no longer exists.
from rosintegration.
Thanks for the info. Then i'll close this issue. For future readers: Please don't hesitate to open new tickets when the problem appears again. Please reference this issue when you see this problem again.
from rosintegration.
I'm seeing this on the latest codebase (with the required fixes to run on UE 4.24). I'm publishing TransformedStamped
data (multiple transforms) each @ about 2 Hz. After a minute or two UE4 crashes and points to where I call TransformTopic->Publish( ... )
Any ideas why I might be seeing this? the network connection is fine (windows host running UE4 to Linux VM in VMWare) and up until the crash I'm getting all my data just fine. Sometimes the editor doesn't crash, but the publishers stop sending data (e.g. the publish code is still running in UE4, and rosbridge still shows that the client is connected, but no topics are received anymore). I think the two issues are related.
EDIT: it seems the issue may have been not having UPROPERTY()
on my topic pointers in my class header as mentioned here: #32. Adding that seems to ensure i keep sending data and there is no crash :)
from rosintegration.
Related Issues (20)
- Failed to built on UE 4.25 HOT 2
- Why msg/Int16.msg in ros not supported in ROSIntegration? How to custom it with BSON? HOT 1
- BSON lib doesn't support Int16 which is supported in ROS. HOT 1
- Why UE4 becomes stuttered after play if the rosbridge_server in another machine doesn't open? HOT 2
- Fork with visualizations, websockets, latest rosbridge_suite, etc. HOT 5
- Subsystem Game Instance HOT 3
- PR #180 Gives Compile Error in UE4 HOT 4
- Use of undeclared Identifier GetGameInstance HOT 1
- How can I solve the problem of `sensor_msgs/CameraInfo does not have a field d` HOT 2
- ROS bridge for UE 5 HOT 4
- (UE5 / Humble) De-/serialization problem when trying to publish sensor_msgs/Image or CompressedImage HOT 3
- ROS Message Types as UObjects? HOT 1
- Crashing and lag spikes. HOT 1
- Accessing the variable that was updated from a subscribed topic
- HoloLens2 packaging fails HOT 2
- (UE5/Melodic) Subscribing to color compressedImage and depth Image at the same time HOT 1
- /Clock publish rate too low. HOT 2
- sensor_msgs/Image Issue HOT 2
- After receiving the Service, it will crash when receiving the Topic.
- Trigger implementation issues HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rosintegration.