-
-
Notifications
You must be signed in to change notification settings - Fork 469
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rviz segfault when killing robot_state_publisher (ros-pkg ticket #4461) #355
Comments
[jfaust] Hmm -- is this reproducible 100% of the time for you? I've just tried it ~20 times or so with the latest cturtle debs with no luck. The valgrind problems appear to be roscpp bugs, which may be causing the crash... those I can reproduce by kill -9ing the state publisher, and I can reproduce with just a talker/listener. |
[mrinal] Yes, it's reproducible 100% of the time when running without gdb or valgrind. I've been doing this all day since I'm debugging a robot urdf model, so I have to keep restarting the robot_state_publisher. Under gdb or valgrind however, I can never get it to crash at all. Maybe this bug should be reassigned to roscpp to fix the TransportTCP problems? |
[jfaust] Depends if that's the actual cause of the crash. I've opened a separate ticket rather than moving this one: #ros3047 If the fix for that ends up fixing your crash (once I have a fix anyway), we can close this one. |
[jfaust] Ok, after tracking it down I doubt the it will fix any crash, but can you try this diff for roscpp? https://code.ros.org/trac/ros/changeset/11356?format=diff&new=11356 |
[mrinal] Give me a moment, I'll have to install ros from source to test this. Oh, how the debs have spoilt us! |
[mrinal] No luck, I still get the crash. I also still get the valgrind messages when I kill -9 though. All I did was get ros from svn (only core ros, not the rest), apply the patch, compile, change ROS_ROOT to the new ros and also add that to the front of my ROS_PACKAGE_PATH, and re-run everything. Shouldn't that be enough? |
[jfaust] No, because of the use of rpath it's still going to be using the version of roscpp it was built against. You need to get the stacks through visualization and rebuild. |
[rusu] I got the same problem with PointCloud2 visualizers. To reproduce, try this: {{{ where is: Then, Ctrl+C the roslaunch, and rviz will die. (or does on my machine - CTurtle deb install) |
[jfaust] what's your rviz configuration? |
[jfaust] well, subscribing with a PointCloud2 display to scene_pointcloud2 doesn't produce the crash for me with the latest cturtle debs. Kevin seems to be having a similar problem: #4463, which points to a driver problem. What nvidia drivers are you guys using? |
[mrinal] I'm using NVIDIA driver 260.19.06 on a GeForce 7300 GT. After reading the other thread, it's starting to look more and more like a driver issue. Although I don't see how killing a TCP connection affects the graphics driver... |
[rusu] 260.24 here -- I also had 256.35 and 256.53, and I remember having the same problems. I can try on another machine with a different card/driver. |
[jfaust] latest apt-gettable drivers (256.35) with latest cturtle debs work fine on my machine. Radu, if you can reproduce on the released drivers, I can take a look on your machine |
[rusu] Kai has the same issue on bie (stock NVidia driver install from Ubuntu 10.04). Nathan set up the machine so it's standard. |
[rusu] {{{ |
[rusu] Yey! I finally made it crash: {{{ rviz: /opt/ros/cturtle/stacks/visualization_common/ogre/build/ogre_src_v1-7-1/OgreMain/src/OgreFileSystem.cpp:219: virtual Ogre::DataStreamPtr Ogre::FileSystemArchive::open(const Ogre::String&, bool) const: Assertion `ret == 0 && "Problem getting file size"' failed. Program received signal SIGABRT, Aborted. |
[jfaust] That's what happens when you ctrl-c the publisher? That looks like it was triggered from enabling the robot model display. |
[rusu] Yeah, that was on Ctrl+C. I got another one just by leaving RViz on for a few minutes (during lunch today). When I came back, I got this: *** glibc detected *** /opt/ros/cturtle/stacks/visualization/rviz/bin/rviz: malloc(): smallbin double linked list corrupted: 0x00007fffd7a63b90 *** |
[jfaust] What was it doing when this happened? Were you connected to a robot? What was your config? |
[rusu] I attached the rviz vcg config. We were connected to pri, and it was just displaying point cloud data in the background (screen locked while I went to lunch). I'll come grab you next time it happens, maybe we catch a live one. |
[watts] This looks related to #4463, which is probably a graphics driver problem. I was able to duplicate that on my machine pretty easily. If you want to try my desktop, feel free. |
[jfaust] This is definitely a driver problem. Installing the latest beta drivers (260.19.12) causes any subscriber that's has libGL.so loaded to crash when a publisher disconnects. {{{ {{{ will also cause this crash. |
[kartikmohta] Just to note, this problem is fixed in driver version 260.19.21. |
I'm using the ros-cturtle debs on Lucid Lynx. I have rviz displaying a robot model, and tf transforms are being published by robot_state_publisher. When I kill robot_state_publisher, rviz crashes with no error messages other than "Segmentation fault". The problem is not reproducible under gdb. Neither is it reproducible reliably under valgrind, but I got some interesting valgrind complaints just once when trying to reproduce it. (attached)
Let me know if you have further ideas on reproducing this problem, or any further information that might help.
trac data:
The text was updated successfully, but these errors were encountered: