Skip to content
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

ld08_driver dies with exit code -11 (segmentation fault) when Arduino plugged into other serial port. #8

Open
BrennanDrake opened this issue Dec 7, 2022 · 0 comments

Comments

@BrennanDrake
Copy link

BrennanDrake commented Dec 7, 2022

I am using a Turtlebot3 Burger for research. I have an arduino uno detecting RFID data and I am sending that to the pi to then be published and used for localization purposes. When I use turtlebot3_bringup turtlebot3_robot.launch (in order to initialize the robot) or if I simply launch the turtlebot3_lidar.launch file, the turtlebot_lds process dies immediately after all of the nodes have started.

This is only the case when the arduino is plugged in. I could unplug the arduino and launch that file and it works fine. I have changed the ports in all of the launch files to reflect the correct ports (the arduino forced itself into ttyACM0 so I had to change the OPENCR boards port to ACM1 and I also created a udev rule to make unique ttyRFID, ttyOPENCR, and ttyLIDAR ports as well for ease of use). In debugging I traced what appears to be a segmentation fault back to ld08_drivers package and the ld08_driver.cpp file. I am not a computer scientist and have kind of reached the limit on my ability to troubleshoot this.

Various Notes:
-The issue persists regardless of what the arduino code is
-I don't believe it has to do with the OPENCR needing to be on ACM0 as even when it is is ACM1 and I unplug the arduino the fail is not there
-in using gdb I backtraced and saw that it was leading to the cmd_interface_linux file
*Here is the gdb backtrace:

Thread 1 "ld08_driver" received signal SIGSEGV, Segmentation fault. __strlen_generic () at ../sysdeps/aarch64/multiarch/../strlen.S:98 98 ../sysdeps/aarch64/multiarch/../strlen.S: No such file or directory. (gdb) where

0 __strlen_generic () at ../sysdeps/aarch64/multiarch/../strlen.S:98
1 0x0000fffff7c3a03c in std::__cxx11::basic_string<char, std::char_traits<char="">, std::allocator >::operator=(char const*) () from /lib/aarch64-linux-gnu/libstdc++.so.6
2 0x0000aaaaaaaddb18 in CmdInterfaceLinux::GetCmdDevices(std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char="">, std::allocator >, std::__cxx11::basic_string<char, std::char_traits<char="">, std::allocator > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std ...

I am running ROS Noetic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant