Due to a (probable) misconfiguration in ACE tools, I get a segmentation fault when running yarp check (server is running fine). I investigated and the problem seems to be also related to an issue in a source file.
Debug output is attached as file out.txt.
I checked the source code and it I think there's a mistake in the Carriers::chooseCarrier() method (file yarp2/src/libYARP_OS/src/Carriers.cpp). It reads:
unsigned int i = YARP_STRSTR(s,"+");
but it should be:
size_t i = YARP_STRSTR(s, "+");
because YARP_STRSTR is defined in src/libYARP_OS/include/yarp/os/impl/String.h as:
#define YARP_STRSTR(yahstack, needle) (haystack).find(needle)
where (haystack) is of type String, being it in yarp::os::impl::std::string
and it should return a signed integer, as specified in http://www.cplusplus.com/reference/string/string/find/
Changing the above line returns the expected behaviour (i.e. an error due to mt ACE misconfiguration, and not a segfault altogether).