corot / world_canvas

ROS framework for storing and accessing semantic information about the world, with an initial emphasis on needs and use cases for mobile robots.
10 stars 19 forks source link

Error as order of Add, Delete, Save annotation #38

Closed dwlee closed 9 years ago

dwlee commented 9 years ago

I tested Add, Delete, Save annotation. In generally, users will use (Add, Save) or (Delete, Save). But, if they try to do Add, Delete, Save, then error occurred. The process order is important.

The error process is as below.

  1. Add the annotation in local
  2. Delete it before save
  3. Save
  4. Error!

-client side log

[INFO] [WallTime: 1413267033.555703] Getting annotations for world 'yujin_rnd' and additional filter criteria
[INFO] [WallTime: 1413267033.556072] Waiting for 'get_annotations' service...
[INFO] [WallTime: 1413267033.560666] 1 annotations found
[INFO] [WallTime: 1413267033.560908] Waiting for 'get_annotations_data' service...
[INFO] [WallTime: 1413267033.562119] Loading data for the 1 retrieved annotations
[INFO] [WallTime: 1413267033.565488] 1 annotations data retrieved
[INFO] [WallTime: 1413267033.602085] Getting annotations for world 'yujin_rnd' and additional filter criteria
[INFO] [WallTime: 1413267033.602375] Waiting for 'get_annotations' service...
[INFO] [WallTime: 1413267033.610449] 7 annotations found
[INFO] [WallTime: 1413267033.610711] Waiting for 'get_annotations_data' service...
[INFO] [WallTime: 1413267033.613240] Loading data for the 7 retrieved annotations
[INFO] [WallTime: 1413267033.622606] 7 annotations data retrieved
[INFO] [WallTime: 1413267043.796533] Requesting server to save annotations
[INFO] [WallTime: 1413267043.797099] Waiting for 'save_annotations_data' service...
[INFO] [WallTime: 1413267043.798274] Requesting server to save annotations
[INFO] [WallTime: 1413267043.829639] Waiting for 'delete_annotations' service...
[INFO] [WallTime: 1413267043.831550] Requesting server to delete 1 deemed annotations
Traceback (most recent call last):
  File "/home/dwlee/work/rocon_office/src/rocon_qt_gui/rocon_qt_library/src/rocon_qt_library/widgets/map_annotation.py", line 178, in _save_annotation
    success, message = self._callback['save_annotation']()
  File "/home/dwlee/work/rocon_office/src/rocon_qt_gui/rocon_qt_library/src/rocon_qt_library/interfaces/map_annotation_interface.py", line 235, in save_annotations
    self.ac_handler_others.save()
  File "/home/dwlee/work/rocon_office/src/world_canvas_libs/world_canvas_client_py/src/world_canvas_client/annotation_collection.py", line 501, in save
    response = del_anns_srv(self._annots_to_delete)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 435, in __call__
    return self.call(*args, **kwds)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 515, in call
    responses = transport.receive_once()
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py", line 695, in receive_once
    p.read_messages(b, msg_queue, sock) 
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 353, in read_messages
    self._read_ok_byte(b, sock)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 336, in _read_ok_byte
    raise ServiceException("service [%s] responded with an error: %s"%(self.resolved_name, str))
rospy.service.ServiceException: service [/software/world_canvas/delete_annotations] responded with an error: error processing request: 'DeleteAnnotationsRequest' object has no attribute 'annotation_ids'
[ERROR] [WallTime: 1413267043.834273] Error processing request: 'DeleteAnnotationsRequest' object has no attribute 'annotation_ids'
['Traceback (most recent call last):\n', '  File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 623, in _handle_request\n    response = convert_return_to_response(self.handler(request), self.response_class)\n', '  File "/home/dwlee/work/rocon_office/src/world_canvas/world_canvas_server/src/annotations_server.py", line 299, in deleteAnnotations\n    % (removed, len(request.annotation_ids)))\n', "AttributeError: 'DeleteAnnotationsRequest' object has no attribute 'annotation_ids'\n"]