Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Service does not start

See original GitHub issue


I am trying to use robot_upstart with our Husky and I cannot get it to start the service, not even by running sudo service husky-core start. In this case, it does return a pid, but it does not load anything at all (it appears to die straight away).

The command I used to install is: rosrun robot_upstart install my_package/launch/my_launch.launch --job husky-core --interface wlan0

The nodes loaded from within the launch file are from packages installed system-wide (that is, not in my workspace).

This works on another computer, both running 12.04 + Hydro. Having said that, even on the other computer, I can load system-wide nodes, but I cannot load nodes from within my workspace.

Lastly, when I run roslaunch my_package my_launch.launch, everything works as expected (i.e., all nodes are loaded).

I have tried specifying options for user and the path to setup.bash, but no luck. Oh, just in case, yes, the wlan0 interface is up at boot time.

Any ideas/suggestions? Thanks a lot!

Issue Analytics

  • State:closed
  • Created 9 years ago
  • Comments:9 (3 by maintainers)

github_iconTop GitHub Comments

mikepurviscommented, Apr 16, 2014

The issue is that the upstart job executes as root and uses setuidgid to run the roslaunch process as the appropriate unprivileged user:

Unfortunately, setuidgid does not pick up the user’s group memberships, so you need a udev rule to either make the device world RW or to specifically chown it to your ROS user (administrator, on Clearpath-configured robot PCs).

davidhodocommented, Dec 11, 2014

The way I’ve solved this in the past is to use the setuid and setgid functionality in upstart ( Instead of launching using setuidgid, call roslaunch normally but add setuid and setgid lines to the /etc/init/[job].conf file. Setuid should be set to the user to launch the nodes as and setgid should be set to dialout to allow serial port access. I’ve been modifying the output of robot_upstart manually to do this but could modify the scripts to allow a separate group to be specified if that would be useful to others.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Fix Windows Services will not start in Windows 11/10
Fix Windows Services will not start · Check Services Startup type · Troubleshoot in Clean Boot State · Run SFC and DISM ·...
Read more >
Unable to Start the Server Service - Microsoft Support
When you attempt to start the Server service from a command prompt, you may receive the following error message: System error 1058 has...
Read more >
Troubleshoot: Windows Services will not start - YouTube
For the Windows operating system to run smoothly, it is imperative Windows Services start when they are required to. But it may happen...
Read more >
Determining the reason why a .net windows-service won't start
The Application event log should contain details of any .Net exceptions that occurred during service startup. This may help diagnose the problem.
Read more >
Timeout error or unable to start a service on a Windows server
Timeout error or unable to start a service on a Windows server · Go to Start > Click Run > Type regedit >...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Post

No results found

github_iconTop Related Hashnode Post

No results found