gazebo-tooling / release-tools

8 stars 9 forks source link

False positive in ABI checker #336

Open scpeters opened 3 years ago

scpeters commented 3 years ago

The ABI checker job is failing for https://github.com/ignitionrobotics/ign-gazebo/pull/416, complaining that the ignition::gazebo::v3::components::BaseComponent::Serialize ( std::ostream& p1 ) const symbol has been removed. I've reproduced the failure in multiple builds:

This is strange because the pull request doesn't change remove the symbol; it doesn't even change any header files. I suspect that this is a false positive.

chapulina commented 3 years ago

I got the same false-(?)positive again:

https://build.osrfoundation.org/job/ignition_gazebo-abichecker-any_to_any-ubuntu_auto-amd64/2608/API_5fABI_20report/

This time it's on ign-gazebo4, the one above was on ign-gazebo3.

I'm testing it locally and it does look like the _ZNK8ignition6gazebo2v410components13BaseComponent9SerializeERSo symbol is gone on that branch, but it was there before. I'm looking into it.

scpeters commented 3 years ago

I'm now seeing a different false positive in https://github.com/ignitionrobotics/ign-transport/pull/216 with complaints about header files that were not modified at all:

The API check says two symbols were added and two removed:

# Added Symbols  2 

HandlerStorage.hh
namespace ignition::transport::v10
HandlerStorage<IReqHandler>::AddHandler ( std::__cxx11::string const& _topic, std::__cxx11::string const& _nUuid, std::shared_ptr<IReqHandler>const& _handler )
_ZN8ignition9transport3v1014HandlerStorageINS1_11IReqHandlerEE10AddHandlerERKNSt7__cxx1112basic_stringIcEES9_RKNSt10shared_ptrIS3_EE

SubscriptionHandler.hh
namespace ignition::transport::v10
SubscriptionHandler<google::protobuf::Message>::CreateMsg ( std::__cxx11::string const& _data, std::__cxx11::string const& _type ) const
_ZNK8ignition9transport3v1019SubscriptionHandlerIN6google8protobuf7MessageEE9CreateMsgERKNSt7__cxx1112basic_stringIcEESB_

# Removed Symbols  2 

HandlerStorage.hh
namespace ignition::transport::v10
HandlerStorage<IReqHandler>::AddHandler ( std::__cxx11::string const& _topic, std::__cxx11::string const& _nUuid, std::shared_ptr<IReqHandler>const& _handler )
_ZN8ignition9transport3v1014HandlerStorageINS1_11IReqHandlerEE10AddHandlerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESC_RKSt10shared_ptrIS3_E

SubscriptionHandler.hh
namespace ignition::transport::v10
SubscriptionHandler<google::protobuf::Message>::CreateMsg ( std::__cxx11::string const& _data, std::__cxx11::string const& _type ) const
_ZNK8ignition9transport3v1019SubscriptionHandlerIN6google8protobuf7MessageEE9CreateMsgERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESE_

The ABI check says 8 symbols were removed:

# Removed Symbols  8 

ReqHandler.hh, libignition-transport10.so.10.0.0
namespace ignition::transport::v10
ReqHandler<google::protobuf::Message, google::protobuf::Message>::~__dt [D0] ( )
_ZN8ignition9transport3v1010ReqHandlerIN6google8protobuf7MessageES5_ED0Ev

ReqHandler<google::protobuf::Message, google::protobuf::Message>::~__dt [D1] ( )
_ZN8ignition9transport3v1010ReqHandlerIN6google8protobuf7MessageES5_ED1Ev

ReqHandler<google::protobuf::Message, google::protobuf::Message>::~__dt [D2] ( )
_ZN8ignition9transport3v1010ReqHandlerIN6google8protobuf7MessageES5_ED2Ev

vtable for IReqHandler [data]
_ZTVN8ignition9transport3v1011IReqHandlerE

SubscriptionHandler.hh, libignition-transport10.so.10.0.0
namespace ignition::transport::v10
SubscriptionHandler<google::protobuf::Message>::CreateMsg ( std::__cxx11::string const& _data, std::__cxx11::string const& _type ) const
_ZNK8ignition9transport3v1019SubscriptionHandlerIN6google8protobuf7MessageEE9CreateMsgERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESE_

SubscriptionHandler<google::protobuf::Message>::~__dt [D0] ( )
_ZN8ignition9transport3v1019SubscriptionHandlerIN6google8protobuf7MessageEED0Ev

SubscriptionHandler<google::protobuf::Message>::~__dt [D1] ( )
_ZN8ignition9transport3v1019SubscriptionHandlerIN6google8protobuf7MessageEED1Ev

SubscriptionHandler<google::protobuf::Message>::~__dt [D2] ( )
_ZN8ignition9transport3v1019SubscriptionHandlerIN6google8protobuf7MessageEED2Ev