regression on kinetic due to #127 #132
Description
The changes in #127 (https://github.com/ros/genpy/blob/kinetic-devel/src/genpy/generator.py#L761) adds the line:
codecs.lookup_error("rosmsg").msg_type = self._type
to deserialization. On kinetic this line throws LookupException with the message: unknown error handler name 'rosmsg'
The issue can be reproduced by using any package that has regenerated its messages since #127. The package where I discovered it was with rosbridge_suite.
This is how to reproduce it:
# Boot up the minimal ros image in docker
docker run -it -p 11311:11311 ros:kinetic-ros-core
# Update apt and install ros-kinetic-rosbridge-suite
apt update
apt install ros-kinetic-rosbridge-suite
# Start roscore
roscore
On the host computer run docker ps
to get the container id.
Log into the container and start rosapi (from rosbridge_suite):
docker exec -it <CONTAINER ID> bash
# Inside the container
source /opt/ros/kinetic/setup.bash
rosrun rosapi rosapi_node
Log into the container and call service:
docker exec -it <CONTAINER ID> bash
# Inside the container
source /opt/ros/kinetic/setup.bash
rosservice call /rosapi/get_param what ever
The service call will fail when trying to deserialize the message.
This can probably also be done on your local machine, but I choose docker to make sure we have the same environment.