robotology / walking-teleoperation

Software related to walking and teleoperation.
BSD 3-Clause "New" or "Revised" License
30 stars 14 forks source link

HapticGloveModule segfaults on closure #147

Open S-Dafarra opened 1 month ago

S-Dafarra commented 1 month ago

Here the valgrind output

ergocub@ergocub-torso:~$ valgrind HapticGloveModule --GENERAL::getHumanMotionRange 0 --GENERAL::waitingDurationTime 0.0 --GENERAL::calibrationTimePeriod 0.1 --GENERAL::robotInitializationTime 1.0
==6959== Memcheck, a memory error detector
==6959== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==6959== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==6959== Command: HapticGloveModule --GENERAL::getHumanMotionRange 0 --GENERAL::waitingDurationTime 0.0 --GENERAL::calibrationTimePeriod 0.1 --GENERAL::robotInitializationTime 1.0
==6959== 
[INFO] HapticGloveModule::  use the left hand:  true
[INFO] HapticGloveModule::  use the right hand:  true
[INFO] HapticGloveModule::  enable logger:  true
==6959== Invalid read of size 8
==6959==    at 0x40286A8: strncmp (strcmp.S:172)
==6959==    by 0x400668D: is_dst (dl-load.c:216)
==6959==    by 0x400810E: _dl_dst_count (dl-load.c:253)
==6959==    by 0x400810E: expand_dynamic_string_token (dl-load.c:395)
==6959==    by 0x40082B7: fillin_rpath.isra.0 (dl-load.c:483)
==6959==    by 0x4008602: decompose_rpath (dl-load.c:654)
==6959==    by 0x400ABF5: cache_rpath (dl-load.c:696)
==6959==    by 0x400ABF5: cache_rpath (dl-load.c:677)
==6959==    by 0x400ABF5: _dl_map_object (dl-load.c:2165)
==6959==    by 0x4003494: openaux (dl-deps.c:64)
==6959==    by 0x5182A97: _dl_catch_exception (dl-error-skeleton.c:208)
==6959==    by 0x4003C7B: _dl_map_object_deps (dl-deps.c:248)
==6959==    by 0x400EA0E: dl_open_worker_begin (dl-open.c:592)
==6959==    by 0x5182A97: _dl_catch_exception (dl-error-skeleton.c:208)
==6959==    by 0x400DF99: dl_open_worker (dl-open.c:782)
==6959==  Address 0xf0b7a11 is 33 bytes inside a block of size 36 alloc'd
==6959==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==6959==    by 0x40271DF: malloc (rtld-malloc.h:56)
==6959==    by 0x40271DF: strdup (strdup.c:42)
==6959==    by 0x4008594: decompose_rpath (dl-load.c:629)
==6959==    by 0x400ABF5: cache_rpath (dl-load.c:696)
==6959==    by 0x400ABF5: cache_rpath (dl-load.c:677)
==6959==    by 0x400ABF5: _dl_map_object (dl-load.c:2165)
==6959==    by 0x4003494: openaux (dl-deps.c:64)
==6959==    by 0x5182A97: _dl_catch_exception (dl-error-skeleton.c:208)
==6959==    by 0x4003C7B: _dl_map_object_deps (dl-deps.c:248)
==6959==    by 0x400EA0E: dl_open_worker_begin (dl-open.c:592)
==6959==    by 0x5182A97: _dl_catch_exception (dl-error-skeleton.c:208)
==6959==    by 0x400DF99: dl_open_worker (dl-open.c:782)
==6959==    by 0x5182A97: _dl_catch_exception (dl-error-skeleton.c:208)
==6959==    by 0x400E34D: _dl_open (dl-open.c:883)
==6959== 
==6959== Invalid read of size 8
==6959==    at 0x40286A8: strncmp (strcmp.S:172)
==6959==    by 0x400668D: is_dst (dl-load.c:216)
==6959==    by 0x4007F79: _dl_dst_substitute (dl-load.c:295)
==6959==    by 0x40082B7: fillin_rpath.isra.0 (dl-load.c:483)
==6959==    by 0x4008602: decompose_rpath (dl-load.c:654)
==6959==    by 0x400ABF5: cache_rpath (dl-load.c:696)
==6959==    by 0x400ABF5: cache_rpath (dl-load.c:677)
==6959==    by 0x400ABF5: _dl_map_object (dl-load.c:2165)
==6959==    by 0x4003494: openaux (dl-deps.c:64)
==6959==    by 0x5182A97: _dl_catch_exception (dl-error-skeleton.c:208)
==6959==    by 0x4003C7B: _dl_map_object_deps (dl-deps.c:248)
==6959==    by 0x400EA0E: dl_open_worker_begin (dl-open.c:592)
==6959==    by 0x5182A97: _dl_catch_exception (dl-error-skeleton.c:208)
==6959==    by 0x400DF99: dl_open_worker (dl-open.c:782)
==6959==  Address 0xf0b7a11 is 33 bytes inside a block of size 36 alloc'd
==6959==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==6959==    by 0x40271DF: malloc (rtld-malloc.h:56)
==6959==    by 0x40271DF: strdup (strdup.c:42)
==6959==    by 0x4008594: decompose_rpath (dl-load.c:629)
==6959==    by 0x400ABF5: cache_rpath (dl-load.c:696)
==6959==    by 0x400ABF5: cache_rpath (dl-load.c:677)
==6959==    by 0x400ABF5: _dl_map_object (dl-load.c:2165)
==6959==    by 0x4003494: openaux (dl-deps.c:64)
==6959==    by 0x5182A97: _dl_catch_exception (dl-error-skeleton.c:208)
==6959==    by 0x4003C7B: _dl_map_object_deps (dl-deps.c:248)
==6959==    by 0x400EA0E: dl_open_worker_begin (dl-open.c:592)
==6959==    by 0x5182A97: _dl_catch_exception (dl-error-skeleton.c:208)
==6959==    by 0x400DF99: dl_open_worker (dl-open.c:782)
==6959==    by 0x5182A97: _dl_catch_exception (dl-error-skeleton.c:208)
==6959==    by 0x400E34D: _dl_open (dl-open.c:883)
==6959== 
[INFO] |yarp.os.Port|/HapticGloveRetargeting/logger/measures:o| Port /HapticGloveRetargeting/logger/measures:o active at tcp://10.0.2.12:10195/
[INFO] |yarp.os.Port|/HapticGloveRetargeting/logger/rpc:i| Port /HapticGloveRetargeting/logger/rpc:i active at tcp://10.0.2.12:10196/
[INFO] Teleoperation::LeftHand::  calibration time period:  0.1
[INFO] Teleoperation::LeftHand::  move the robot:  true
[INFO] Teleoperation::LeftHand::  use the robot fingertip skin:  false
[DEBUG] |yarp.dev.PolyDriver|remotecontrolboardremapper| Parameters are (REMOTE_CONTROLBOARD_OPTIONS) (axesNames (l_thumb_add l_thumb_oc l_index_oc l_middle_oc l_ring_pinky_oc)) (device remotecontrolboardremapper) (localPortPrefix "/ergocub/remoteControlBoard") (remoteControlBoards ("/ergocub/left_arm"))
[DEBUG] |yarp.dev.PolyDriver|remote_controlboard| Parameters are (device remote_controlboard) (local "/ergocub/remoteControlBoard/ergocub/left_arm") (remote "/ergocub/left_arm")
[INFO] |yarp.os.Port|/ergocub/remoteControlBoard/ergocub/left_arm/rpc:o| Port /ergocub/remoteControlBoard/ergocub/left_arm/rpc:o active at tcp://10.0.2.12:10197/
[INFO] |yarp.os.Port|/ergocub/remoteControlBoard/ergocub/left_arm/command:o| Port /ergocub/remoteControlBoard/ergocub/left_arm/command:o active at tcp://10.0.2.12:10198/
[INFO] |yarp.os.Port|/ergocub/remoteControlBoard/ergocub/left_arm/stateExt:i| Port /ergocub/remoteControlBoard/ergocub/left_arm/stateExt:i active at tcp://10.0.2.12:10199/
[INFO] |yarp.os.impl.PortCoreOutputUnit|/ergocub/remoteControlBoard/ergocub/left_arm/rpc:o| Sending output from /ergocub/remoteControlBoard/ergocub/left_arm/rpc:o to /ergocub/left_arm/rpc:i using tcp
[INFO] |yarp.os.impl.PortCoreOutputUnit|/ergocub/remoteControlBoard/ergocub/left_arm/command:o| Sending output from /ergocub/remoteControlBoard/ergocub/left_arm/command:o to /ergocub/left_arm/command:i using udp
[INFO] |yarp.os.impl.PortCoreInputUnit|/ergocub/remoteControlBoard/ergocub/left_arm/stateExt:i| Receiving input from /ergocub/left_arm/stateExt:o to /ergocub/remoteControlBoard/ergocub/left_arm/stateExt:i using udp
[INFO] |yarp.dev.PolyDriver|remote_controlboard| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
[INFO] |yarp.dev.PolyDriver|remotecontrolboardremapper| Created device <remotecontrolboardremapper>. See C++ class RemoteControlBoardRemapper for documentation.
[INFO] RobotInterface::LeftHand::  initialization time [sec]: 1 , steady state counter threshold [steps]: 5 , steady state threshold [rad]: 0.05
[INFO] RobotInterface::LeftHand::  the necessary time for initialization is:  1  seconds.
[WARNING] RobotInterface::LeftHand::  unable to initialize the robot axis values in  1 seconds; but continuing.
[INFO] RobotInterface::LeftHand::  actuated axis: [l_thumb_add, l_thumb_oc, l_index_oc, l_middle_oc, l_ring_pinky_oc]
[INFO] RobotInterface::LeftHand::  actuated joints: [l_thumb_add, l_thumb_oc, l_index_oc, l_middle_oc, l_ring_pinky_oc]
[INFO] RobotInterface::LeftHand::  actuated joint info l_thumb_add  ,use analog: false  ,index:  0  ,scale: 1
[INFO] RobotInterface::LeftHand::  actuated joint info l_thumb_oc  ,use analog: false  ,index:  1  ,scale: 1
[INFO] RobotInterface::LeftHand::  actuated joint info l_index_oc  ,use analog: false  ,index:  2  ,scale: 1
[INFO] RobotInterface::LeftHand::  actuated joint info l_middle_oc  ,use analog: false  ,index:  3  ,scale: 1
[INFO] RobotInterface::LeftHand::  actuated joint info l_ring_pinky_oc  ,use analog: false  ,index:  4  ,scale: 1
[INFO] RobotInterface::LeftHand::  m_noAllAxis:  6
[INFO] RobotInterface::LeftHand::  m_noAllJoints:  6
[INFO] RobotInterface::LeftHand::  m_allAxisNames:  [l_thumb_add, l_thumb_oc, l_index_add, l_index_oc, l_middle_oc, l_ring_pinky_oc]
[INFO] RobotInterface::LeftHand::  m_allJointNames:  [l_thumb_add, l_thumb_oc, l_index_add, l_index_oc, l_middle_oc, l_ring_pinky_oc]
[INFO] RobotController::LeftHand::  number of all axis 6
[INFO] RobotController::LeftHand::  number of actuated axis 5
[INFO] RobotController::LeftHand::  number of all joints:  6
[INFO] RobotController::LeftHand::  number of actuated joints:  5
[INFO] RobotController::LeftHand::  axes and joints of the robot are coupled:  false
[INFO] RobotController::LeftHand::  the coupling model between the robot axes and joints should be found:  false
[INFO] RobotController::LeftHand::  robot controller exponential filter gain:  0.9
[INFO] RobotController::LeftHand::  configuration is done.
[DEBUG] |yarp.dev.PolyDriver|iwear_remapper| Parameters are (carrier fast_tcp) (device iwear_remapper) (wearableDataPorts ("/WearableData/HapticGlove/LeftHand/data:o"))
[INFO] IWearRemapper : Cannot find a suitable allowDynamicData parameter, using default value.
[INFO] IWearRemapper : Using allowDynamicData parameter: true
[INFO] IWearRemapper : *** ========================
[INFO] IWearRemapper : *** Wearable Data Port 1   : /WearableData/HapticGlove/LeftHand/data:o
[INFO] IWearRemapper : *** ========================
[DEBUG] IWearRemapper : Configuring input data ports
[INFO] |yarp.os.Port|/tmp/port/7| Port /tmp/port/7 active at tcp://10.0.2.12:10208/
[DEBUG] IWearRemapper : Opening input ports
[INFO] |yarp.os.impl.PortCoreInputUnit|/tmp/port/7| Receiving input from /WearableData/HapticGlove/LeftHand/data:o to /tmp/port/7 using fast_tcp
[DEBUG] IWearRemapper : Opened correctly
[INFO] |yarp.dev.PolyDriver|iwear_remapper| Created device <iwear_remapper>. See C++ class wearable::devices::IWearRemapper for documentation.
[INFO] GloveWearableImpl::LeftHand::  IWear interface waiting for first data. Waiting...
[INFO] GloveWearableImpl::LeftHand::  IWear interface waiting for first data. Waiting...
[INFO] Attached wearable device name :  IWearRemapper::
[INFO] |yarp.os.Port|/WearableData/HapticGlove/LeftHand/Actuators/input:o| Port /WearableData/HapticGlove/LeftHand/Actuators/input:o active at tcp://10.0.2.12:10200/
[INFO] |yarp.os.impl.PortCoreOutputUnit|/WearableData/HapticGlove/LeftHand/Actuators/input:o| Sending output from /WearableData/HapticGlove/LeftHand/Actuators/input:o to /WearableData/HapticGlove/LeftHand/Actuators/input:i using fast_tcp
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vLink::l_hand
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vLink::l_thumb_finger::fingertip
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vLink::l_index_finger::fingertip
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vLink::l_middle_finger::fingertip
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vLink::l_ring_finger::fingertip
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vLink::l_little_finger::fingertip
[INFO] GloveWearableImpl::LeftHand::  size of the fingertip link sensors:  5
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_thumb_oppose
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_thumb_proximal
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_thumb_middle
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_thumb_distal
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_index_abduction
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_index_proximal
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_index_middle
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_index_distal
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_middle_abduction
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_middle_proximal
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_middle_middle
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_middle_distal
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_ring_abduction
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_ring_proximal
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_ring_middle
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_ring_distal
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_pinky_abduction
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_pinky_proximal
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_pinky_middle
[INFO] GloveWearableImpl::LeftHand::  initialize the following sensor:  HapticGlove::vJoint::l_pinky_distal
[INFO] GloveWearableImpl::LeftHand::  size of the joint sensors:  20
[INFO] GloveWearableImpl::LeftHand::  initialization of the wearable sensors is done.
[INFO] GloveWearableImpl::LeftHand::  configuration is done.
[INFO] GloveControlHelper::LeftHand::  configuration is done.
[WARNING] Retargeting::LeftHand::  in robot_to_human_map found non-exising robot joint  l_index_add
[INFO] Retargeting::LeftHand::  m_gainValueError:  [0, 15, 15, 15, 15]
[INFO] Retargeting::LeftHand::  m_gainVelocityError:  [0, 0.1, 0.1, 0.1, 0.1]
[INFO] Retargeting::LeftHand::  m_gainVibrotactile:  [0.8, 0.8, 0.8, 0.8, 0.8]
[INFO] Retargeting::LeftHand::  m_retargetingScaling:  [-1, 1, 1, 1, 1]
[INFO] Retargeting::LeftHand::  m_retargetingBias:  [0, 0, 0, 0, 0]
[INFO] Retargeting::LeftHand::  m_fingerAxesMap:  0  ::  [0, 1]
[INFO] Retargeting::LeftHand::  m_fingerAxesMap:  1  ::  [2]
[INFO] Retargeting::LeftHand::  m_fingerAxesMap:  2  ::  [3]
[INFO] Retargeting::LeftHand::  m_fingerAxesMap:  3  ::  [4]
[INFO] Retargeting::LeftHand::  m_fingerAxesMap:  4  ::  [4]
[INFO] Retargeting::LeftHand::  m_robotToHumanJointIndicesMap:  l_thumb_add 0 :: 0
[INFO] Retargeting::LeftHand::  m_robotToHumanJointIndicesMap:  l_thumb_oc 1 :: 3
[INFO] Retargeting::LeftHand::  m_robotToHumanJointIndicesMap:  l_index_oc 2 :: 7
[INFO] Retargeting::LeftHand::  m_robotToHumanJointIndicesMap:  l_middle_oc 3 :: 11
[INFO] Retargeting::LeftHand::  m_robotToHumanJointIndicesMap:  l_ring_pinky_oc 4 :: 15
[INFO] Retargeting::LeftHand::  configuration is done.
[INFO] Retargeting::LeftHand::  m_robotAxesRangeMin [rad]:  [0.000191748, 0.000191748, 0.000191748, 0.000191748, 0.000191748]
[INFO] Retargeting::LeftHand::  m_robotAxesRangeMax [rad]:  [1.57061, 1.57061, 1.57061, 1.57061, 1.57061]
[INFO] Retargeting::LeftHand::  m_robotJointsRangeMin [rad]:  [0.000191748, 0.000191748, 0.000191748, 0.000191748, 0.000191748]
[INFO] Retargeting::LeftHand::  m_robotJointsRangeMax [rad]:  [1.57061, 1.57061, 1.57061, 1.57061, 1.57061]
[INFO] |yarp.os.Port|/LeftHand/hapticGloveTeleoperation/rpc| Port /LeftHand/hapticGloveTeleoperation/rpc active at tcp://10.0.2.12:10201/
[INFO] Teleoperation::LeftHand::  enable the logger:  true
[INFO] Teleoperation::LeftHand::  configuration is done. 
[INFO] Teleoperation::RightHand::  calibration time period:  0.1
[INFO] Teleoperation::RightHand::  move the robot:  true
[INFO] Teleoperation::RightHand::  use the robot fingertip skin:  false
[DEBUG] |yarp.dev.PolyDriver|remotecontrolboardremapper| Parameters are (REMOTE_CONTROLBOARD_OPTIONS) (axesNames (r_thumb_add r_thumb_oc r_index_oc r_middle_oc r_ring_pinky_oc)) (device remotecontrolboardremapper) (localPortPrefix "/ergocub/remoteControlBoard") (remoteControlBoards ("/ergocub/right_arm"))
[DEBUG] |yarp.dev.PolyDriver|remote_controlboard| Parameters are (device remote_controlboard) (local "/ergocub/remoteControlBoard/ergocub/right_arm") (remote "/ergocub/right_arm")
[INFO] |yarp.os.Port|/ergocub/remoteControlBoard/ergocub/right_arm/rpc:o| Port /ergocub/remoteControlBoard/ergocub/right_arm/rpc:o active at tcp://10.0.2.12:10202/
[INFO] |yarp.os.Port|/ergocub/remoteControlBoard/ergocub/right_arm/command:o| Port /ergocub/remoteControlBoard/ergocub/right_arm/command:o active at tcp://10.0.2.12:10203/
[INFO] |yarp.os.Port|/ergocub/remoteControlBoard/ergocub/right_arm/stateExt:i| Port /ergocub/remoteControlBoard/ergocub/right_arm/stateExt:i active at tcp://10.0.2.12:10204/
[INFO] |yarp.os.impl.PortCoreOutputUnit|/ergocub/remoteControlBoard/ergocub/right_arm/rpc:o| Sending output from /ergocub/remoteControlBoard/ergocub/right_arm/rpc:o to /ergocub/right_arm/rpc:i using tcp
[INFO] |yarp.os.impl.PortCoreOutputUnit|/ergocub/remoteControlBoard/ergocub/right_arm/command:o| Sending output from /ergocub/remoteControlBoard/ergocub/right_arm/command:o to /ergocub/right_arm/command:i using udp
[INFO] |yarp.os.impl.PortCoreInputUnit|/ergocub/remoteControlBoard/ergocub/right_arm/stateExt:i| Receiving input from /ergocub/right_arm/stateExt:o to /ergocub/remoteControlBoard/ergocub/right_arm/stateExt:i using udp
[INFO] |yarp.dev.PolyDriver|remote_controlboard| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
[INFO] |yarp.dev.PolyDriver|remotecontrolboardremapper| Created device <remotecontrolboardremapper>. See C++ class RemoteControlBoardRemapper for documentation.
[INFO] RobotInterface::RightHand::  initialization time [sec]: 1 , steady state counter threshold [steps]: 5 , steady state threshold [rad]: 0.05
[INFO] RobotInterface::RightHand::  the necessary time for initialization is:  1  seconds.
[WARNING] RobotInterface::RightHand::  unable to initialize the robot axis values in  1 seconds; but continuing.
[INFO] RobotInterface::RightHand::  actuated axis: [r_thumb_add, r_thumb_oc, r_index_oc, r_middle_oc, r_ring_pinky_oc]
[INFO] RobotInterface::RightHand::  actuated joints: [r_thumb_add, r_thumb_oc, r_index_oc, r_middle_oc, r_ring_pinky_oc]
[INFO] RobotInterface::RightHand::  actuated joint info r_thumb_add  ,use analog: false  ,index:  0  ,scale: 1
[INFO] RobotInterface::RightHand::  actuated joint info r_thumb_oc  ,use analog: false  ,index:  1  ,scale: 1
[INFO] RobotInterface::RightHand::  actuated joint info r_index_oc  ,use analog: false  ,index:  2  ,scale: 1
[INFO] RobotInterface::RightHand::  actuated joint info r_middle_oc  ,use analog: false  ,index:  3  ,scale: 1
[INFO] RobotInterface::RightHand::  actuated joint info r_ring_pinky_oc  ,use analog: false  ,index:  4  ,scale: 1
[INFO] RobotInterface::RightHand::  m_noAllAxis:  6
[INFO] RobotInterface::RightHand::  m_noAllJoints:  6
[INFO] RobotInterface::RightHand::  m_allAxisNames:  [r_thumb_add, r_thumb_oc, r_index_add, r_index_oc, r_middle_oc, r_ring_pinky_oc]
[INFO] RobotInterface::RightHand::  m_allJointNames:  [r_thumb_add, r_thumb_oc, r_index_add, r_index_oc, r_middle_oc, r_ring_pinky_oc]
[INFO] RobotController::RightHand::  number of all axis 6
[INFO] RobotController::RightHand::  number of actuated axis 5
[INFO] RobotController::RightHand::  number of all joints:  6
[INFO] RobotController::RightHand::  number of actuated joints:  5
[INFO] RobotController::RightHand::  axes and joints of the robot are coupled:  false
[INFO] RobotController::RightHand::  the coupling model between the robot axes and joints should be found:  false
[INFO] RobotController::RightHand::  robot controller exponential filter gain:  0.9
[INFO] RobotController::RightHand::  configuration is done.
[DEBUG] |yarp.dev.PolyDriver|iwear_remapper| Parameters are (carrier fast_tcp) (device iwear_remapper) (wearableDataPorts ("/WearableData/HapticGlove/RightHand/data:o"))
[INFO] IWearRemapper : Cannot find a suitable allowDynamicData parameter, using default value.
[INFO] IWearRemapper : Using allowDynamicData parameter: true
[INFO] IWearRemapper : *** ========================
[INFO] IWearRemapper : *** Wearable Data Port 1   : /WearableData/HapticGlove/RightHand/data:o
[INFO] IWearRemapper : *** ========================
[DEBUG] IWearRemapper : Configuring input data ports
[INFO] |yarp.os.Port|/tmp/port/8| Port /tmp/port/8 active at tcp://10.0.2.12:10296/
[DEBUG] IWearRemapper : Opening input ports
[INFO] |yarp.os.impl.PortCoreInputUnit|/tmp/port/8| Receiving input from /WearableData/HapticGlove/RightHand/data:o to /tmp/port/8 using fast_tcp
[DEBUG] IWearRemapper : Opened correctly
[INFO] |yarp.dev.PolyDriver|iwear_remapper| Created device <iwear_remapper>. See C++ class wearable::devices::IWearRemapper for documentation.
[INFO] GloveWearableImpl::RightHand::  IWear interface waiting for first data. Waiting...
[INFO] Attached wearable device name :  IWearRemapper::
[INFO] |yarp.os.Port|/WearableData/HapticGlove/RightHand/Actuators/input:o| Port /WearableData/HapticGlove/RightHand/Actuators/input:o active at tcp://10.0.2.12:10206/
[INFO] |yarp.os.impl.PortCoreOutputUnit|/WearableData/HapticGlove/RightHand/Actuators/input:o| Sending output from /WearableData/HapticGlove/RightHand/Actuators/input:o to /WearableData/HapticGlove/RightHand/Actuators/input:i using fast_tcp
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vLink::r_hand
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vLink::r_thumb_finger::fingertip
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vLink::r_index_finger::fingertip
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vLink::r_middle_finger::fingertip
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vLink::r_ring_finger::fingertip
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vLink::r_little_finger::fingertip
[INFO] GloveWearableImpl::RightHand::  size of the fingertip link sensors:  5
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_thumb_oppose
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_thumb_proximal
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_thumb_middle
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_thumb_distal
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_index_abduction
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_index_proximal
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_index_middle
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_index_distal
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_middle_abduction
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_middle_proximal
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_middle_middle
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_middle_distal
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_ring_abduction
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_ring_proximal
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_ring_middle
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_ring_distal
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_pinky_abduction
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_pinky_proximal
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_pinky_middle
[INFO] GloveWearableImpl::RightHand::  initialize the following sensor:  HapticGlove::vJoint::r_pinky_distal
[INFO] GloveWearableImpl::RightHand::  size of the joint sensors:  20
[INFO] GloveWearableImpl::RightHand::  initialization of the wearable sensors is done.
[INFO] GloveWearableImpl::RightHand::  configuration is done.
[INFO] GloveControlHelper::RightHand::  configuration is done.
[WARNING] Retargeting::RightHand::  in robot_to_human_map found non-exising robot joint  r_index_add
[INFO] Retargeting::RightHand::  m_gainValueError:  [0, 15, 15, 15, 15]
[INFO] Retargeting::RightHand::  m_gainVelocityError:  [0, 0.1, 0.1, 0.1, 0.1]
[INFO] Retargeting::RightHand::  m_gainVibrotactile:  [0.8, 0.8, 0.8, 0.8, 0.8]
[INFO] Retargeting::RightHand::  m_retargetingScaling:  [1, 1, 1, 1, 1]
[INFO] Retargeting::RightHand::  m_retargetingBias:  [0, 0, 0, 0, 0]
[INFO] Retargeting::RightHand::  m_fingerAxesMap:  0  ::  [0, 1]
[INFO] Retargeting::RightHand::  m_fingerAxesMap:  1  ::  [2]
[INFO] Retargeting::RightHand::  m_fingerAxesMap:  2  ::  [3]
[INFO] Retargeting::RightHand::  m_fingerAxesMap:  3  ::  [4]
[INFO] Retargeting::RightHand::  m_fingerAxesMap:  4  ::  [4]
[INFO] Retargeting::RightHand::  m_robotToHumanJointIndicesMap:  r_thumb_add 0 :: 0
[INFO] Retargeting::RightHand::  m_robotToHumanJointIndicesMap:  r_thumb_oc 1 :: 3
[INFO] Retargeting::RightHand::  m_robotToHumanJointIndicesMap:  r_index_oc 2 :: 7
[INFO] Retargeting::RightHand::  m_robotToHumanJointIndicesMap:  r_middle_oc 3 :: 11
[INFO] Retargeting::RightHand::  m_robotToHumanJointIndicesMap:  r_ring_pinky_oc 4 :: 15
[INFO] Retargeting::RightHand::  configuration is done.
[INFO] Retargeting::RightHand::  m_robotAxesRangeMin [rad]:  [0.000191748, 0.000191748, 0.000191748, 0.000191748, 0.000191748]
[INFO] Retargeting::RightHand::  m_robotAxesRangeMax [rad]:  [1.57061, 1.57061, 1.57061, 1.57061, 1.57061]
[INFO] Retargeting::RightHand::  m_robotJointsRangeMin [rad]:  [0.000191748, 0.000191748, 0.000191748, 0.000191748, 0.000191748]
[INFO] Retargeting::RightHand::  m_robotJointsRangeMax [rad]:  [1.57061, 1.57061, 1.57061, 1.57061, 1.57061]
[INFO] |yarp.os.Port|/RightHand/hapticGloveTeleoperation/rpc| Port /RightHand/hapticGloveTeleoperation/rpc active at tcp://10.0.2.12:10207/
[INFO] Teleoperation::RightHand::  enable the logger:  true
[INFO] Teleoperation::RightHand::  configuration is done. 
[INFO] HapticGloveModule::  configuration is done. 
[INFO] RobotController::LeftHand::  axes and joints are not coupled, so returning.
[INFO] Teleoperation::RightHand::  data collected to learn robot model.
[INFO] Teleoperation::LeftHand::  data collected to learn robot model.
[INFO] Teleoperation::RightHand::  data collected to learn robot model.
[WARNING] Teleoperation::RightHand::  at this point estimators are not supposed to be initialized.
[WARNING] HapticGloveModule::  unable to prepare the right hand.
^C[INFO] |yarp.os.RFModule| [try 1 of 3] Trying to shut down.
[INFO] |yarp.os.RFModule| RFModule closing.
[INFO] HapticGloveModule::  trying to close.
[INFO] Teleoperation::LeftHand::  trying to close.
[INFO] RobotInterface::LeftHand::  closing.
[INFO] RobotInterface::LeftHand::  the necessary time for initialization is:  3  seconds.
[WARNING] RobotInterface::LeftHand::  unable to initialize the robot axis values in  3 seconds; but continuing.
[INFO] |yarp.os.impl.PortCoreOutputUnit|/ergocub/remoteControlBoard/ergocub/left_arm/rpc:o| Removing output from /ergocub/remoteControlBoard/ergocub/left_arm/rpc:o to /ergocub/left_arm/rpc:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/ergocub/remoteControlBoard/ergocub/left_arm/command:o| output for route /ergocub/remoteControlBoard/ergocub/left_arm/command:o->udp->/ergocub/left_arm/command:i asking other side to close by out-of-band means
[INFO] |yarp.os.impl.PortCoreOutputUnit|/ergocub/remoteControlBoard/ergocub/left_arm/command:o| Removing output from /ergocub/remoteControlBoard/ergocub/left_arm/command:o to /ergocub/left_arm/command:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/ergocub/remoteControlBoard/ergocub/left_arm/stateExt:i| Removing input from /ergocub/left_arm/stateExt:o to /ergocub/remoteControlBoard/ergocub/left_arm/stateExt:i
[WARNING] RobotInterface::LeftHand::  Unable to close the analogsensorclient device.
[INFO] RobotInterface::LeftHand::  closed badly .
[WARNING] Teleoperation::LeftHand::  unable to close the robot controller.
[INFO] GloveControlHelper::LeftHand::  trying to close
[INFO] GloveWearableImpl::LeftHand::  closing the glove wearable implementation.
==6959== Thread 11:
==6959== Invalid read of size 1
==6959==    at 0x4B61EBE: yarp::os::idl::WireReader::~WireReader() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x14EDFE36: wearable::msg::WearableData::read(yarp::os::ConnectionReader&) (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libWearableData.so)
==6959==    by 0x4B0D390: yarp::os::PortReaderBufferBase::read(yarp::os::ConnectionReader&) (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4BBA240: yarp::os::impl::PortCore::readBlock(yarp::os::ConnectionReader&, void*, yarp::os::OutputStream*) (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4BC4A2E: yarp::os::impl::PortCoreInputUnit::run() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4BDD9FC: theExecutiveBranch(void*) (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4DB5252: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==6959==    by 0x50A2AC2: start_thread (pthread_create.c:442)
==6959==    by 0x5133A03: clone (clone.S:100)
==6959==  Address 0x16712118 is on thread 11's stack
==6959==  136 bytes below stack pointer
==6959== 
[INFO] |yarp.os.impl.PortCoreInputUnit|/tmp/port/7| Removing input from /WearableData/HapticGlove/LeftHand/data:o to /tmp/port/7
[INFO] |yarp.os.impl.PortCoreOutputUnit|/WearableData/HapticGlove/LeftHand/Actuators/input:o| Removing output from /WearableData/HapticGlove/LeftHand/Actuators/input:o to /WearableData/HapticGlove/LeftHand/Actuators/input:i
[INFO] GloveControlHelper::LeftHand::  closed Successfully .
[INFO] Retargeting::LeftHand::  closing.
[INFO] Teleoperation::LeftHand::  closed badly .
[WARNING] HapticGloveModule::  unable to close left hand teleoperation.
[INFO] Teleoperation::RightHand::  trying to close.
[INFO] RobotInterface::RightHand::  closing.
[INFO] RobotInterface::RightHand::  the necessary time for initialization is:  3  seconds.
[WARNING] RobotInterface::RightHand::  unable to initialize the robot axis values in  3 seconds; but continuing.
[INFO] |yarp.os.impl.PortCoreOutputUnit|/ergocub/remoteControlBoard/ergocub/right_arm/rpc:o| Removing output from /ergocub/remoteControlBoard/ergocub/right_arm/rpc:o to /ergocub/right_arm/rpc:i
[INFO] |yarp.os.impl.PortCoreOutputUnit|/ergocub/remoteControlBoard/ergocub/right_arm/command:o| output for route /ergocub/remoteControlBoard/ergocub/right_arm/command:o->udp->/ergocub/right_arm/command:i asking other side to close by out-of-band means
[INFO] |yarp.os.impl.PortCoreOutputUnit|/ergocub/remoteControlBoard/ergocub/right_arm/command:o| Removing output from /ergocub/remoteControlBoard/ergocub/right_arm/command:o to /ergocub/right_arm/command:i
[INFO] |yarp.os.impl.PortCoreInputUnit|/ergocub/remoteControlBoard/ergocub/right_arm/stateExt:i| Removing input from /ergocub/right_arm/stateExt:o to /ergocub/remoteControlBoard/ergocub/right_arm/stateExt:i
[WARNING] RobotInterface::RightHand::  Unable to close the analogsensorclient device.
[INFO] RobotInterface::RightHand::  closed badly .
[WARNING] Teleoperation::RightHand::  unable to close the robot controller.
[INFO] GloveControlHelper::RightHand::  trying to close
[INFO] GloveWearableImpl::RightHand::  closing the glove wearable implementation.
[INFO] |yarp.os.impl.PortCoreInputUnit|/tmp/port/8| Removing input from /WearableData/HapticGlove/RightHand/data:o to /tmp/port/8
[INFO] |yarp.os.impl.PortCoreOutputUnit|/WearableData/HapticGlove/RightHand/Actuators/input:o| Removing output from /WearableData/HapticGlove/RightHand/Actuators/input:o to /WearableData/HapticGlove/RightHand/Actuators/input:i
[INFO] GloveControlHelper::RightHand::  closed Successfully .
[INFO] Retargeting::RightHand::  closing.
[INFO] Teleoperation::RightHand::  closed badly .
[WARNING] HapticGloveModule::  unable to close right hand teleoperation.
[INFO] |yarp.os.RFModule| RFModule finished.
==6959== Thread 1:
==6959== Invalid read of size 8
==6959==    at 0x4B658A8: yarp::os::impl::BottleImpl::clear() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B658FA: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B6594C: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4ACCC28: yarp::os::Bottle::~Bottle() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4BD8B6E: yarp::os::impl::StoreList::~StoreList() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B658AD: yarp::os::impl::BottleImpl::clear() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B658FA: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B6594C: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4ACCC28: yarp::os::Bottle::~Bottle() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B11889: std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >*) [clone .isra.0] (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B1184F: std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >*) [clone .isra.0] (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B1184F: std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >*) [clone .isra.0] (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==  Address 0xdaea6e0 is 0 bytes after a block of size 80 free'd
==6959==    at 0x484BB6F: operator delete(void*, unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==6959==    by 0x4B658AD: yarp::os::impl::BottleImpl::clear() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B658FA: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B6594C: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4ACCC28: yarp::os::Bottle::~Bottle() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4BD8B6E: yarp::os::impl::StoreList::~StoreList() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B658AD: yarp::os::impl::BottleImpl::clear() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B658FA: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B6594C: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4ACCC28: yarp::os::Bottle::~Bottle() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4BBA1DB: yarp::os::impl::PortCore::readBlock(yarp::os::ConnectionReader&, void*, yarp::os::OutputStream*) (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4BC4A2E: yarp::os::impl::PortCoreInputUnit::run() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==  Block was alloc'd at
==6959==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==6959==    by 0x4BD1D75: yarp::os::impl::Storable::createByCode(int) (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B67CAE: yarp::os::impl::BottleImpl::fromBytes(yarp::os::ConnectionReader&) (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B682B6: yarp::os::impl::BottleImpl::read(yarp::os::ConnectionReader&) (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4BD6280: yarp::os::impl::StoreList::readRaw(yarp::os::ConnectionReader&) (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B67CCF: yarp::os::impl::BottleImpl::fromBytes(yarp::os::ConnectionReader&) (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B682B6: yarp::os::impl::BottleImpl::read(yarp::os::ConnectionReader&) (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4BBA1D0: yarp::os::impl::PortCore::readBlock(yarp::os::ConnectionReader&, void*, yarp::os::OutputStream*) (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4BC4A2E: yarp::os::impl::PortCoreInputUnit::run() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4BDD9FC: theExecutiveBranch(void*) (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4DB5252: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==6959==    by 0x50A2AC2: start_thread (pthread_create.c:442)
==6959== 
==6959== Invalid read of size 8
==6959==    at 0x4B658AB: yarp::os::impl::BottleImpl::clear() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B658FA: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B6594C: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4ACCC28: yarp::os::Bottle::~Bottle() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4BD8B6E: yarp::os::impl::StoreList::~StoreList() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B658AD: yarp::os::impl::BottleImpl::clear() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B658FA: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B6594C: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4ACCC28: yarp::os::Bottle::~Bottle() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B11889: std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >*) [clone .isra.0] (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B1184F: std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >*) [clone .isra.0] (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B1184F: std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >*) [clone .isra.0] (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==  Address 0x203932343137353b is not stack'd, malloc'd or (recently) free'd
==6959== 
==6959== 
==6959== Process terminating with default action of signal 11 (SIGSEGV)
==6959==  General Protection Fault
==6959==    at 0x4B658AB: yarp::os::impl::BottleImpl::clear() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B658FA: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B6594C: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4ACCC28: yarp::os::Bottle::~Bottle() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4BD8B6E: yarp::os::impl::StoreList::~StoreList() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B658AD: yarp::os::impl::BottleImpl::clear() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B658FA: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B6594C: yarp::os::impl::BottleImpl::~BottleImpl() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4ACCC28: yarp::os::Bottle::~Bottle() (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B11889: std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >*) [clone .isra.0] (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B1184F: std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >*) [clone .isra.0] (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959==    by 0x4B1184F: std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, PropertyItem> >*) [clone .isra.0] (in /usr/local/src/robot/robotology-superbuild/build/install/lib/libYARP_os.so.3.9.0)
==6959== 
==6959== HEAP SUMMARY:
==6959==     in use at exit: 325,478 bytes in 1,639 blocks
==6959==   total heap usage: 2,047,455 allocs, 2,045,816 frees, 159,773,512 bytes allocated
==6959== 
==6959== LEAK SUMMARY:
==6959==    definitely lost: 0 bytes in 0 blocks
==6959==    indirectly lost: 0 bytes in 0 blocks
==6959==      possibly lost: 6,464 bytes in 6 blocks
==6959==    still reachable: 316,998 bytes in 1,612 blocks
==6959==                       of which reachable via heuristic:
==6959==                         multipleinheritance: 3,312 bytes in 23 blocks
==6959==         suppressed: 0 bytes in 0 blocks
==6959== Rerun with --leak-check=full to see details of leaked memory
==6959== 
==6959== For lists of detected and suppressed errors, rerun with: -s
==6959== ERROR SUMMARY: 6 errors from 5 contexts (suppressed: 0 from 0)
Segmentation fault (core dumped)
S-Dafarra commented 1 month ago

These messages seem fishy

[INFO] RobotInterface::RightHand::  closing.
[INFO] RobotInterface::RightHand::  the necessary time for initialization is:  3  seconds.

Maybe this is the time used to go back to the initial position, but I would need to check.

Also these messages are interesting

[WARNING] RobotInterface::RightHand::  Unable to close the analogsensorclient device.
[INFO] RobotInterface::RightHand::  closed badly .
[WARNING] Teleoperation::RightHand::  unable to close the robot controller.
[INFO] GloveControlHelper::RightHand::  trying to close

It seems some components are not closing gracefully.

S-Dafarra commented 1 month ago

The segmentation fault seems to occur within yarp, inside the destructor of a Bottle.