Hi guys, sorry for my late reply... this is indeed cause by one of my patches when trying to introduce partial Python3 compatibility... I answered on answers.ros.org: http://answers.ros.org/question/2032/smach-introspection-server-fails-in-electric?answer=4499#4499 Maybe you can check my idea out and see if it helps... Cheers Michi On 10/28/2011 08:04 PM, Ken Conley wrote: > On Fri, Oct 28, 2011 at 10:55 AM, Jonathan Bohren > wrote: >> It appears that in Electric, rospy enforces that strings in ROS messages be >> ASCII strings, so the output of the python pickle module can't be encoded. >> to fix this we should be able to just change SmachContainerStatus >> (https://kforge.ros.org/smach/executive_smach/file/d79964e4c22f/smach_msgs/msg/SmachContainerStatus.msg) >> from: >> 12 # A pickled user data structure >> 13 string local_data >> to: >> 12 # A pickled user data structure >> 13 byte[] local_data >> I don't currently have the time to test this, but I'm pretty sure this is >> the problem. >> -j > I answered this on Answers as well, but for completeness here, I think > this is a regression caused by attempting to have Py3k compatibility. > I have backed this change out on the ROS 1.6 branch (r15301) for now > while we can attempt to figure out a different approach to this > compatibility. Py3k separates the notion of strings and bytes; this > distinction has ripple effects when attempting to serialize 'strings' > and the like in Python 2, which treats such data identically. The > priority is to maintain Python 2 compatibility; I'm guessing a more > significant rewrite of the serializer is necessary to be compatible > with the Py3k distinctions. > > - Ken > >> On Fri, Oct 28, 2011 at 1:40 PM, Tully Foote >> wrote: >>> Hi Manuel, >>> >>> There's already an open thread on this at >>> >>> http://answers.ros.org/question/2032/smach-introspection-server-fails-in-electric >>> >>> Tully >>> >>> 2011/10/28 Manuel Rodríguez: >>>> Hi all, >>>> >>>> I'm using smach with the introspection server and the smach_viewer.py >>>> but does not work fine (it just shows the machine but does not update in >>>> which state the machine is), moreover the script running the >>>> introspection >>>> server periodically shows the following exception: >>>>> Traceback (most recent call last): >>>>> File "/usr/lib/python2.6/threading.py", line 532, in >>>>> __bootstrap_inner >>>>> self.run() >>>>> File "/usr/lib/python2.6/threading.py", line 484, in run >>>>> self.__target(*self.__args, **self.__kwargs) >>>>> File >>>>> >>>>> "/opt/ros/electric/stacks/executive_smach/smach_ros/src/smach_ros/introspection.py", >>>>> line 160, in _status_pub_loop >>>>> self._publish_status('HEARTBEAT') >>>>> File >>>>> >>>>> "/opt/ros/electric/stacks/executive_smach/smach_ros/src/smach_ros/introspection.py", >>>>> line 225, in _publish_status >>>>> self._status_pub.publish(state_msg) >>>>> File >>>>> "/opt/ros/electric/stacks/ros_comm/clients/rospy/src/rospy/topics.py", >>>>> line >>>>> 695, in publish >>>>> self.impl.publish(data) >>>>> File >>>>> "/opt/ros/electric/stacks/ros_comm/clients/rospy/src/rospy/topics.py", >>>>> line >>>>> 872, in publish >>>>> serialize_message(b, self.seq, message) >>>>> File >>>>> "/opt/ros/electric/stacks/ros_comm/clients/rospy/src/rospy/msg.py", >>>>> line 151, in serialize_message >>>>> msg.serialize(b) >>>>> File >>>>> >>>>> "/opt/ros/electric/stacks/executive_smach/smach_msgs/src/smach_msgs/msg/_SmachContainerStatus.py", >>>>> line 120, in serialize >>>>> buff.write(struct.pack('>>>> UnicodeDecodeError: 'ascii' codec can't decode byte 0x80 in position 0: >>>>> ordinal not in range(128) >>>> Has anyone knows how to solve this trouble? >>>> Best regards, >>>> Manuel >>>> >>>> _______________________________________________ >>>> ros-users mailing list >>>> ros-users@code.ros.org >>>> https://code.ros.org/mailman/listinfo/ros-users >>>> >>>> >>> >>> >>> -- >>> Tully Foote >>> Systems Engineer >>> Willow Garage, Inc. >>> tfoote@willowgarage.com >>> (650) 475-2827 >>> _______________________________________________ >>> ros-users mailing list >>> ros-users@code.ros.org >>> https://code.ros.org/mailman/listinfo/ros-users >> -- Dipl.-Ing. Michael Karg | kargm@in.tum.de Technische Universität München | Boltzmannstrasse 3 http://hcai.in.tum.de/members/kargm | 85748 Garching bei München Tel: +49-89-289-17790 | Germany