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

[io] HDL Grabber gets stuck while deinitializing if the connection is lost #4094

Open
AlejoDiaz49 opened this issue May 12, 2020 · 3 comments
Labels
kind: bug Type of issue module: io needs: testing Specify why not closed/merged yet

Comments

@AlejoDiaz49
Copy link

Bug description

If the connection to the Velodyne LiDAR is lost, like when the cable is disconnected. The HDLGrabber gets stuck if I try to deinitialize and destruct the object.

Context

I want to be able to manage the situation in which a sensor of my system fails, either because it broke or the connection was lost. So I always test the programs even if the device is not connected or if the connection is lost in the middle of the process.

In this case with the HDL-32E using the PCL HDLGrabber, I am not able to safely stop my program if the connection is lost. I am forced to kill the process manually.

Expected behavior

If the sensor is not connected the HDLGrabber should be able to correctly be deinitialized

Current Behavior

The program gets stuck if I try to stop the grabber when the sensor is not connected

To Reproduce

I manage to reproduce the bug with a minimal example. I tried it in several PC's and the problem persists.

Outputs
These are the two scenarios I tested with their output in the terminal:

  • The Velodyne is connected during all the process
username@pcname:~$ ./simpleHDL
Constructor
Start Grabber
Loop End - Start Disconnection
Disconnected
username@pcname:~$ |
  • The Velodyne is disconnected during the process (In the for loop) and it gets stuck when the grabber tries to be stopped.
username@pcname:~$ ./simpleHDL
Constructor
Start Grabber
Loop End - Start Disconnection
|

Environment

  • OS: Ubuntu 18.04
  • Compiler: GCC 7.5.0
  • PCL Version: 1.9.1
@AlejoDiaz49 AlejoDiaz49 added kind: bug Type of issue status: triage Labels incomplete labels May 12, 2020
@kunaltyagi kunaltyagi added module: io needs: testing Specify why not closed/merged yet and removed status: triage Labels incomplete labels May 12, 2020
@kunaltyagi
Copy link
Member

Can you check if the issue persists in PCL 1.11.0 (or master)?

@yes89929
Copy link

yes89929 commented Aug 19, 2020

I have same issue.
My environment

  • OS: Windows 10
  • Compiler: MSVC 2017
  • PCL Version: 1.9.1
  • Sensor: VLP16(VLPGrabber)

In my cane.
grabber->stop() work well, after connecting to correct port.
But, it does not work, after connecting to wrong port.

However fortunately,
Once a grabber is connected to correct port, the grabber will receive data from port even if a lan cable is disconnected and reconnected.

@kunaltyagi
Copy link
Member

  1. Do you have access to hardware?
  2. Can you reproduce the issue consistently?
  3. Can you verify that the issue exists in release 1.11.1

Is yes to all, we can proceed with debugging and getting a fix into PCL's next release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: bug Type of issue module: io needs: testing Specify why not closed/merged yet
Projects
None yet
Development

No branches or pull requests

3 participants