Debugging and investigating on the robot

This section gives you some tips about debug and investigation methods on the robot.

Note that all the following is done logged over ssh on the robot.

For further details, see: Accessing NAO over ssh .

Debugging NAOqi development

Refer to Debugging C/C++ on the robot .

NAOqi issue report

Since the 1.14 release, a issue report generator is embedded in NAOqi .

When NAOqi ends prematurely in an unexpected way, an issue report is generated in: /var/lib/minidump .

To help us improving the software quality, feel free to send those reports to SoftBank Robotics .

Investigating system issues

In NAOqi OS , several program generate logs that are stored in the /var/log directory or any of its sub-directories.

Because the /var/log directory is volatile, it is reset on each power-down.

Diagnosis and reports

In case of weird behavior of the robot, the nao-diagnostic program can gather many data about the robot state into a tarball located by default in: /home/nao/diagnosis .

To help us improving the software quality, feel free to send those diagnosis to SoftBank Robotics .

Retrieving logs files on the robot

There are two types of logs files available on our robots:

  • naoqi-bin logs (head-naoqi.log and tail-naoqi.log)
  • Services logs (services started with NAOqi ALServiceManager)

Here is where you can locate them on our robots

Log process Logs file path What is this file?
naoqi-bin /var/log/naoqi/head-naoqi.log First 2Mo of logs from naoqi-bin process
/var/log/naoqi/tail-naoqi.log Last 2Mo of logs from naoqi-bin process
application.ServiceName /var/log/naoqi/servicemanager/application.ServiceName.log All logs written on the standard output from application.ServiceName started with ALServiceManager
/var/log/naoqi/servicemanager/application.ServiceName_error.log All logs written on the error output from application.ServiceName started with ALServiceManager
/var/log/naoqi/servicemanager/application.ServiceName.log.old Same as application.ServiceName.log but comming from the previous run of the process
/var/log/naoqi/servicemanager/application.ServiceName_error.log.old Same as application.ServiceName_error.log but comming from the previous run of the process

Here is an example for our main service on the robot: naoqi-service process

Log process Logs file path What is this file?
system.Naoqi /var/log/naoqi/servicemanager/system.Naoqi.log All logs written on the standard output from system.Naoqi (naoqi-service process)
/var/log/naoqi/servicemanager/system.Naoqi_error.log All logs written on the error output from system.Naoqi (naoqi-service process)
/var/log/naoqi/servicemanager/system.Naoqi.log.old Same as system.Naoqi.log but comming from the previous run of naoqi-service
/var/log/naoqi/servicemanager/system.Naoqi_error.log.old Same as system.Naoqi_error.log but comming from the previous run of naoqi-service

Retrieving logs files on Desktop

On desktop you only get services logs.

Linux and MacOS

Log process Logs file path
application.ServiceName ${HOME}/.local/share/PackageManager/logs/application.ServiceName.log
${HOME}/.local/share/PackageManager/logs/application.ServiceName_error.log
${HOME}/.local/share/PackageManager/logs/application.ServiceName.log.old
${HOME}/.local/share/PackageManager/logs/application.ServiceName_error.log.old

Windows

Log process Logs file path
application.ServiceName %APPDATA%\PackageManager\logs\application.ServiceName.log
%APPDATA%\PackageManager\logs\application.ServiceName_error.log
%APPDATA%\PackageManager\logs\application.ServiceName.log.old
%APPDATA%\PackageManager\logs\application.ServiceName_error.log.old

Retrieving dump files on Desktop

Dumps are generated if:

  • you create a breackpad handler
  • you use qilaunch to create the handler for you

Linux and MacOS

Process Dump files path
naoqi-bin ${HOME}/.local/share/aldebaran/breakpad/naoqi-${_build_tag}
naoqi-service ${HOME}/.local/share/aldebaran/breakpad/naoqi_service-${_build_tag}
qilaunch –name service_name ${HOME}/.local/share/aldebaran/breakpad/service_name-${_build_tag}

Windows

Process Dump files path
naoqi-bin %APPDATA%\aldebaran\breakpad\naoqi-${_build_tag}
naoqi-service %APPDATA%\aldebaran\breakpad\naoqi_service-${_build_tag}
qilaunch –name service_name %APPDATA%\aldebaran\breakpad\service_name-${_build_tag}

Retrieving dump files on the robot

Process Dump files path
naoqi-bin /var/lib/minidump/naoqi-${_build_tag}
naoqi-service /var/lib/minidump/naoqi_service-${_build_tag}
qilaunch –name service_name /var/lib/minidump/service_name-${_build_tag}