zivid / zivid-ros

Official ROS driver for Zivid 3D cameras
BSD 3-Clause "New" or "Revised" License
55 stars 43 forks source link

"acquisition_0_client.setConfiguration" failure in the CI #41

Open apartridge opened 3 years ago

apartridge commented 3 years ago

We quite frequently get this in the CI now. Not always, but very often, often in different tests but same failure type. It seems to be over represented when using g++-7, but have also seen a couple on each of g++-8 and -9.

https://dev.azure.com/zivid-devops/zivid-ros/_build/results?buildId=6069&view=logs&jobId=1a92118a-31b6-59d3-6f46-005b1de66b34&j=1a92118a-31b6-59d3-6f46-005b1de66b34&t=4902d933-60c3-56fe-9a17-c7813a975418

[zivid_camera.rosunit-zivid_camera_test/testCapture3DColorImage][FAILURE]-------
/root/catkin_ws/src/host/zivid_camera/test/test_zivid_camera.cpp:131
Value of: acquisition_0_client.setConfiguration(acquisition_0_cfg)
  Actual: false
Expected: true
apartridge commented 3 years ago

This issue seems to not happen anymore in the CI, maybe something changed upstream. It has worked in the last 24 or so builds, according to https://dev.azure.com/zivid-devops/zivid-ros/_build?definitionId=1&_a=summary&repositoryFilter=1&view=runs. So I am closing this issue.

apartridge commented 2 years ago

This has started happening again after the move to Github Actions. https://github.com/zivid/zivid-ros/runs/3471296800

torbsorb commented 2 years ago

For the capture service we add a short_wait_duration.sleep()afterwards. In

    zivid_camera::SettingsAcquisitionConfig acquisition_0_cfg;
    ASSERT_TRUE(acquisition_0_client.getDefaultConfiguration(acquisition_0_cfg, dr_get_max_wait_duration));
    acquisition_0_cfg.enabled = true;
    ASSERT_TRUE(acquisition_0_client.setConfiguration(acquisition_0_cfg));

Could it be that dr_get_max_wait_duration is a little too short? Or does it fail if that expires? Is this timeout needed for setConfiguration too maybe?