rosbag fix does not like rule produced by rosbag check
I want to use rosbag fix to migrate some of the messages contained in one of my bag files since I converted one of my data types (asctec_hl/IMURaw
) to a new one (asctec_msgs/IMUData
).
I followed the Alternative Approach to Making Rules and did the following:
$ rosbag check in.bag -g myrules.bmr
The following migrations need to occur:
* From: asctec_hl/IMURaw [f977ecf9dfe66d1c7d6ade693ec96195]
To: Unknown
1 rules missing:
* From: asctec_hl/IMURaw [f977ecf9dfe66d1c7d6ade693ec96195]
To: Unknown
The message type asctec_hl/IMURaw appears to have moved. Please enter the type to migrate
it to.
>asctec_msgs/IMUData
Creating the migration rule for asctec_msgs/IMUData requires additional missing rules:
The necessary rule files have been written to: myrules.bmr
As explained in the docs I inspected the produced rule, modified it and set valid = True
.
When trying to actually fix the bag with the produced rule I get:
$ rosbag fix in.bag out.bag myrules.bmr
Bag could not be migrated. The following migrations could not be performed:
* From: asctec_hl/IMURaw [f977ecf9dfe66d1c7d6ade693ec96195]
To: Unknown
1 rules missing:
* From: asctec_msgs/IMUData [4431bfb48b28d4830885ef905ffa3a5c]
To: Unknown
Try running 'rosbag check' to create the necessary rule files or run 'rosbag fix' with the
'--force' option.
Any suggestion about what might be wrong given that myrules.bmr
specifies exactly the rule that rosbag fix
claims is missing?
BTW: I am using fuerte (latest Ubuntu 12.04 binaries) and both of the packages in question (which belong to different stacks) are built using rosmake.
Submitted as ticket 4016
As far as I can tell, this functionality still seems to be broken over a year later, rendering rosbag migration totally unusable in its most common use case. Which is nice.