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

System exception: cannot signal semaphore: count would exceed maximum #23

Open
kirillmorozov opened this issue Apr 7, 2023 · 2 comments

Comments

@kirillmorozov
Copy link

Describe the bug

Our customer reported that our application hangs sometimes when he uses the freedrive function. After logs inspection we've found System exception: cannot signal semaphore: count would exceed maximum error to be the reason.

To Reproduce

We were able to reproduce it using the following snippet:

#include <chrono>
#include <iostream>
#include <string>
#include <thread>

#include "DRFLEx.h"

void freedrive_semaphore() {
  DRAFramework::CDRFLEx robot;
  bool success = init_control(robot);
  // robot initialisation omitted
  if (!robot.set_tool(tool_name)){
    std::cout << "Cannot set tool" << std::endl;
    robot.close_connection();
    return;
  }
  while (true) {
    std::this_thread::sleep_for(std::chrono::milliseconds(1000));
  }
}

int main() {
  freedrive_semaphore();
  return 0;
}

Compile and run this snippet, press your finger against the robot's flange to cause SYSWARN: 2.3506 - Joint external torque exceeds reference value when entering direct teaching ctrl and spam(press and depress quickly) freedrive button.

I'm not sure that these are optimal steps to reproduce this problem, but it follows closely the behaviour of our customer. He got a robot that was pressing against the box and was trying to retract it using the freedrive function.

Expected behavior

DRFL API does not hang.

Versions

  • DRFL: GL010118
  • OS: Ubuntu 20.04

Additional context

May be related to #16.

@doosan-robotics
Copy link
Owner

@kirillmorozov
I think it is caused by too many log alarms being uploaded at the moment. I will test this issue internally and comment on it.

@JinbiaoZhu
Copy link

I've encountered a similar issue before. The possible reason could be that the previous program process was not terminated before running the current program.

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

3 participants