Robotics Service Bus: Issueshttps://code.cor-lab.de/https://code.cor-lab.de/favicon.ico?14019720732015-06-03T09:07:54ZOpen Source Collaboration Platform
Redmine Bug #2313 (New): Unexpected Exception about introspectionhttps://code.cor-lab.de/issues/23132015-06-03T09:07:54ZN. Kösternkoester@techfak.uni-bielefeld.de
<p>I got an unexpected traceback on console when using a simple python RSB tool:</p>
<pre>
Exception in thread Thread-13:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)
File "/vol/csra/releases/trusty/lsp-csra-nightly/lib/python2.7/site-packages/rsb_python-0.12.0-py2.7.egg/rsb/util.py", line 326, in __worker
self.__delFunc(receiver.receiver, message)
File "/vol/csra/releases/trusty/lsp-csra-nightly/lib/python2.7/site-packages/rsb_python-0.12.0-py2.7.egg/rsb/eventprocessing.py", line 135, in __deliver
action(event)
File "/vol/csra/releases/trusty/lsp-csra-nightly/lib/python2.7/site-packages/rsb_python-0.12.0-py2.7.egg/rsb/patterns/__init__.py", line 326, in _handleRequest
self.informer.publishEvent(reply)
File "/vol/csra/releases/trusty/lsp-csra-nightly/lib/python2.7/site-packages/rsb_python-0.12.0-py2.7.egg/rsb/__init__.py", line 1425, in publishEvent
% (event.scope, event, self.scope))
ValueError: Scope Scope[/__rsb/introspection/hosts/74938b09ed902fb7ea2dcd25556c0708/25912/echo/] of event Event[id = EventId(UUID('0d8b3a49-4fca-41d3-b7f7-91f871b546f2'), 158590), scope = 'Scope[/__rsb/introspection/hosts/74938b09ed902fb7ea2dcd25556c0708/25912/echo/]', data = 'None', type = '<type 'NoneType'>', method = 'REPLY', metaData = MetaData[create = 1433321961.33, send = 1433321961.33, receive = 1433321961.34, deliver = 1433321961.34, userTimes = {'request.send': 1433321961.332422, 'request.receive': 1433321961.342748}, userInfos = {}], causes = [EventId(UUID('0d8b3a49-4fca-41d3-b7f7-91f871b546f2'), 158590)]] is not a sub-scope of this informer's scope Scope[/__rsb/introspection/hosts/74938b09ed902fb7ea2dcd25556c0708/26077/echo/].
</pre>
<p>I cannot reproduce this exception as it only occurred once. I hope you can use this information...</p> Bug #2246 (New): Socket Server Deadlockhttps://code.cor-lab.de/issues/22462015-04-29T17:26:19ZJ. Moringenjmoringe@cor-lab.uni-bielefeld.de
<p>The program<br /><pre>
/vol/toolkit/nightly/trusty/x86_64/2015-04-29_14-35-42/bin/ccalwr_runLWRRaveSimulator
</pre><br />acts as socket server. Deadlock when one client disconnects while the server receives events from a second client.</p>
<p>The other client could, for example, be<br /><pre>
/vol/toolkit/nightly/trusty/x86_64/last/bin/ccalwr_sendLWRRemoteCmd -s /lwr/cmd/all/position --jointPositionStart '-90 -90 -90 -90 -90 -90 -90' --jointPositionEnd "90 90 90 90 90 90 90" --numPoints 10 -R -c500
</pre></p>
<p>Connecting and disconnecting can probably be done with any client. The initial experiment used the cl logger.</p>
<pre>
Thread 1 (Thread 0x7ffff7f9d780 (LWP 19427)):
#0 __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1 0x00007ffff6d13672 in _L_lock_953 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2 0x00007ffff6d134da in __GI___pthread_mutex_lock (mutex=0x7ffed0002870) at ../nptl/pthread_mutex_lock.c:114
#3 0x00007ffff76de9dc in lock (this=<optimized out>) at /usr/include/boost/thread/pthread/recursive_mutex.hpp:110
#4 boost::unique_lock<boost::recursive_mutex>::lock (this=0x7fffffffc800) at /usr/include/boost/thread/lock_types.hpp:346
#5 0x00007fffebf51f9e in unique_lock (m_=..., this=0x7fffffffc800) at /usr/include/boost/thread/lock_types.hpp:124
#6 rsb::transport::socket::BusConnection::sendEvent (this=0x7ffed0002820, event=..., wireSchema=...) at /home/jenkins/workspace/rsb-cpp-master-toolkit-citk-nightly/src/rsb/transport/socket/BusConnection.cpp:141
#7 0x00007fffebf57812 in rsb::transport::socket::Bus::handle (this=0x1044e80, event=...) at /home/jenkins/workspace/rsb-cpp-master-toolkit-citk-nightly/src/rsb/transport/socket/Bus.cpp:217
#8 0x00007fffebf6c180 in rsb::transport::socket::LifecycledBusServer::handle (this=<optimized out>, event=...) at /home/jenkins/workspace/rsb-cpp-master-toolkit-citk-nightly/src/rsb/transport/socket/LifecycledBusServer.cpp:72
#9 0x00007fffebf6d54c in rsb::transport::socket::OutConnector::handle (this=0x10b8930, event=...) at /home/jenkins/workspace/rsb-cpp-master-toolkit-citk-nightly/src/rsb/transport/socket/OutConnector.cpp:96
#10 0x00007fffebf08b89 in rsb::eventprocessing::DirectEventSendingStrategy::process (this=0x10b3f10, event=...) at /home/jenkins/workspace/rsb-cpp-master-toolkit-citk-nightly/src/rsb/eventprocessing/DirectEventSendingStrategy.cpp:59
#11 0x00007fffebf1bd8d in rsb::eventprocessing::OutRouteConfigurator::publish (this=0x10b4cc0, e=...) at /home/jenkins/workspace/rsb-cpp-master-toolkit-citk-nightly/src/rsb/eventprocessing/OutRouteConfigurator.cpp:141
#12 0x00007fffebedddb9 in rsb::InformerBase::uncheckedPublish (this=this@entry=0x10b4c40, event=...) at /home/jenkins/workspace/rsb-cpp-master-toolkit-citk-nightly/src/rsb/Informer.cpp:134
#13 0x00007fffebeddedc in rsb::InformerBase::uncheckedPublish (this=0x10b4c40, data=..., type=...) at /home/jenkins/workspace/rsb-cpp-master-toolkit-citk-nightly/src/rsb/Informer.cpp:95
#14 0x00007ffff744be44 in uncheckedPublish<rci::Pose> (type=..., data=..., this=<optimized out>) at /vol/toolkit/nightly/trusty/x86_64/2015-04-29_14-35-42/include/rsb0.13/rsb/Informer.h:159
#15 cca::OutputPort<rci::Pose>::publish (this=<optimized out>, data=...) at /vol/toolkit/nightly/trusty/x86_64/2015-04-29_14-35-42/include/cca0.5/cca/port/OutputPort.h:92
#16 0x00007ffff744b6dc in cca::lwr::CCALWREndeffector::onProcess (this=0x10ad920) at /home/jenkins/workspace/cca-lwr-trunk-toolkit-citk-nightly/src/cca/lwr/CCALWREndeffector.cpp:62
#17 0x00007ffff718cd32 in cca::Node::process (this=0x10ad920) at /home/jenkins/workspace/cca-trunk-toolkit-citk-nightly/src/cca/Node.cpp:367
#18 0x00007ffff718c434 in cca::Node::tick (this=0x10ad920) at /home/jenkins/workspace/cca-trunk-toolkit-citk-nightly/src/cca/Node.cpp:188
#19 0x00007ffff7183115 in cca::PeriodicBeat::execute (this=0x6483f0) at /home/jenkins/workspace/cca-trunk-toolkit-citk-nightly/src/cca/timing/PeriodicBeat.cpp:58
#20 0x00007ffff7700862 in rsc::threading::RepetitiveTask::run (this=this@entry=0x648430) at /home/jenkins/workspace/rsc-master-toolkit-citk-nightly/src/rsc/threading/RepetitiveTask.cpp:78
#21 0x00007ffff71836fa in cca::PeriodicBeat::run (this=0x6483f0) at /home/jenkins/workspace/cca-trunk-toolkit-citk-nightly/src/cca/timing/PeriodicBeat.cpp:80
#22 0x0000000000411e0c in main (argc=<optimized out>, argv=<optimized out>) at /home/jenkins/workspace/cca-lwr-trunk-toolkit-citk-nightly/bin/runLWRRaveSimulator.cpp:79
</pre>
<pre>
Thread 12 (Thread 0x7fffb4705700 (LWP 19452)):
#0 __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1 0x00007ffff6d13672 in _L_lock_953 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2 0x00007ffff6d134da in __GI___pthread_mutex_lock (mutex=0x1044eb8) at ../nptl/pthread_mutex_lock.c:114
#3 0x00007ffff76de9dc in lock (this=<optimized out>) at /usr/include/boost/thread/pthread/recursive_mutex.hpp:110
#4 boost::unique_lock<boost::recursive_mutex>::lock (this=0x7fffb4704570) at /usr/include/boost/thread/lock_types.hpp:346
#5 0x00007fffebf556f6 in unique_lock (m_=..., this=0x7fffb4704570) at /usr/include/boost/thread/lock_types.hpp:124
#6 rsb::transport::socket::Bus::removeConnection (this=this@entry=0x1044e80, connection=...) at /home/jenkins/workspace/rsb-cpp-master-toolkit-citk-nightly/src/rsb/transport/socket/Bus.cpp:145
#7 0x00007fffebf500ef in rsb::transport::socket::BusConnection::performSafeCleanup (this=this@entry=0x7ffed0002820, context=...) at /home/jenkins/workspace/rsb-cpp-master-toolkit-citk-nightly/src/rsb/transport/socket/BusConnection.cpp:161
#8 0x00007fffebf50eed in rsb::transport::socket::BusConnection::handleReadLength (this=0x7ffed0002820, error=..., bytesTransferred=<optimized out>) at /home/jenkins/workspace/rsb-cpp-master-toolkit-citk-nightly/src/rsb/transport/socket/BusConnection.cpp:205
#9 0x00007fffebf54721 in call<boost::shared_ptr<rsb::transport::socket::BusConnection>, boost::system::error_code const, unsigned long> (b2=<synthetic pointer>, b1=..., u=..., this=0x7fffb4704bb8) at /usr/include/boost/bind/mem_fn_template.hpp:271
#10 operator()<boost::shared_ptr<rsb::transport::socket::BusConnection> > (a2=<optimized out>, a1=..., u=..., this=0x7fffb4704bb8) at /usr/include/boost/bind/mem_fn_template.hpp:286
#11 operator()<boost::_mfi::mf2<void, rsb::transport::socket::BusConnection, const boost::system::error_code&, long unsigned int>, boost::_bi::list2<const boost::system::error_code&, long unsigned int const&> > (a=<synthetic pointer>, f=..., this=0x7fffb4704bc8)
at /usr/include/boost/bind/bind.hpp:392
#12 operator()<boost::system::error_code, long unsigned int> (a2=@0x7fffb4704bb0: 140732388087872, a1=..., this=0x7fffb4704bb8) at /usr/include/boost/bind/bind_template.hpp:102
#13 boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusConnection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<rsb::transport::socket::BusConnection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::operator() (this=this@entry=0x7fffb4704c90,
ec=..., bytes_transferred=<optimized out>, start=start@entry=0) at /usr/include/boost/asio/impl/read.hpp:282
#14 0x00007fffebf54aa3 in operator() (this=0x7fffb4704c90) at /usr/include/boost/asio/detail/bind_handler.hpp:127
#15 asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusConnection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<rsb::transport::socket::BusConnection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long> > (
function=<error reading variable: access outside bounds of object referenced via synthetic pointer>) at /usr/include/boost/asio/handler_invoke_hook.hpp:64
#16 invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusConnection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<rsb::transport::socket::BusConnection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusConnection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<rsb::transport::socket::BusConnection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > > (context=...,
function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#17 asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusConnection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<rsb::transport::socket::BusConnection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusConnection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<rsb::transport::socket::BusConnection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > > (this_handler=0x7fffb4704c30, function=...) at /usr/include/boost/asio/impl/read.hpp:502
#18 invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusConnection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<rsb::transport::socket::BusConnection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusConnection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<rsb::transport::socket::BusConnection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > > > (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#19 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusConnection, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<rsb::transport::socket::BusConnection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >::do_complete (owner=0x1043240, base=<optimized out>) at /usr/include/boost/asio/detail/reactive_socket_recv_op.hpp:110
#20 0x00007fffebf2cb3f in complete (bytes_transferred=<optimized out>, ec=..., owner=..., this=0x7ffed0001680) at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37
#21 do_run_one (ec=..., this_thread=..., lock=..., this=0x1043240) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:384
#22 boost::asio::detail::task_io_service::run (this=0x1043240, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153
#23 0x00007fffebf2cd46 in boost::asio::io_service::run (this=0x10426c0) at /usr/include/boost/asio/impl/io_service.ipp:59
#24 0x00007ffff6f32a4a in ?? () from /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0
#25 0x00007ffff6d11182 in start_thread (arg=0x7fffb4705700) at pthread_create.c:312
#26 0x00007ffff60b247d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
</pre> Bug #2183 (New): Compilation of RSB Tools fails on MacOS 10.10https://code.cor-lab.de/issues/21832015-02-17T11:52:54ZS. Wredeswrede@cor-lab.uni-bielefeld.de
<p>Applies for rsb 0.10 and 0.11. Boost version is 1.57.</p>
<pre>
[ 90%] Building CXX object test/timesync/CMakeFiles/rsbtimesynctest.dir/rsb/tools/timesync/rsbtimesynctest.cpp.o
cd /tmp/rsb-tools-cpp-IQpiod/test/timesync && /usr/bin/clang++ -DRSB_PROTOCOL_EXPORT="" -Os -w -pipe -march=native -mmacosx-version-min=10.10 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.10 -isystem /tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include -isystem /tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0 -isystem /tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/gtest/include -isystem /tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/gtest -I/tmp/rsb-tools-cpp-IQpiod/src/timesync -I/tmp/rsb-tools-cpp-IQpiod/test/timesync -I/usr/local/include -I/usr/local/share/rsc0.11/../../include/rsc0.11 -I/usr/local/share/rsb0.11/../../include/rsb0.11 -pipe -Wall -Wextra -fdiagnostics-show-option -o CMakeFiles/rsbtimesynctest.dir/rsb/tools/timesync/rsbtimesynctest.cpp.o -c /tmp/rsb-tools-cpp-IQpiod/test/timesync/rsb/tools/timesync/rsbtimesynctest.cpp
In file included from /tmp/rsb-tools-cpp-IQpiod/test/timesync/rsb/tools/timesync/rsbtimesynctest.cpp:22:
In file included from /tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/gmock.h:58:
In file included from /tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/gmock-actions.h:46:
In file included from /tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-internal-utils.h:45:
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:72:29: error: no member named 'tr1' in namespace 'std'
struct MatcherTuple< ::std::tr1::tuple<> > {
~~~~~~~^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:72:40: error: expected expression
struct MatcherTuple< ::std::tr1::tuple<> > {
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:77:29: error: no member named 'tr1' in namespace 'std'
struct MatcherTuple< ::std::tr1::tuple<A1> > {
~~~~~~~^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:77:40: error: 'A1' does not refer to a value
struct MatcherTuple< ::std::tr1::tuple<A1> > {
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:76:20: note: declared here
template <typename A1>
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:82:29: error: no member named 'tr1' in namespace 'std'
struct MatcherTuple< ::std::tr1::tuple<A1, A2> > {
~~~~~~~^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:82:40: error: 'A1' does not refer to a value
struct MatcherTuple< ::std::tr1::tuple<A1, A2> > {
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:81:20: note: declared here
template <typename A1, typename A2>
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:87:29: error: no member named 'tr1' in namespace 'std'
struct MatcherTuple< ::std::tr1::tuple<A1, A2, A3> > {
~~~~~~~^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:87:40: error: 'A1' does not refer to a value
struct MatcherTuple< ::std::tr1::tuple<A1, A2, A3> > {
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:86:20: note: declared here
template <typename A1, typename A2, typename A3>
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:92:29: error: no member named 'tr1' in namespace 'std'
struct MatcherTuple< ::std::tr1::tuple<A1, A2, A3, A4> > {
~~~~~~~^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:92:40: error: 'A1' does not refer to a value
struct MatcherTuple< ::std::tr1::tuple<A1, A2, A3, A4> > {
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:91:20: note: declared here
template <typename A1, typename A2, typename A3, typename A4>
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:98:29: error: no member named 'tr1' in namespace 'std'
struct MatcherTuple< ::std::tr1::tuple<A1, A2, A3, A4, A5> > {
~~~~~~~^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:98:40: error: 'A1' does not refer to a value
struct MatcherTuple< ::std::tr1::tuple<A1, A2, A3, A4, A5> > {
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:97:20: note: declared here
template <typename A1, typename A2, typename A3, typename A4, typename A5>
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:105:29: error: no member named 'tr1' in namespace 'std'
struct MatcherTuple< ::std::tr1::tuple<A1, A2, A3, A4, A5, A6> > {
~~~~~~~^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:105:40: error: 'A1' does not refer to a value
struct MatcherTuple< ::std::tr1::tuple<A1, A2, A3, A4, A5, A6> > {
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:103:20: note: declared here
template <typename A1, typename A2, typename A3, typename A4, typename A5,
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:112:29: error: no member named 'tr1' in namespace 'std'
struct MatcherTuple< ::std::tr1::tuple<A1, A2, A3, A4, A5, A6, A7> > {
~~~~~~~^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:112:40: error: 'A1' does not refer to a value
struct MatcherTuple< ::std::tr1::tuple<A1, A2, A3, A4, A5, A6, A7> > {
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:110:20: note: declared here
template <typename A1, typename A2, typename A3, typename A4, typename A5,
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:119:29: error: no member named 'tr1' in namespace 'std'
struct MatcherTuple< ::std::tr1::tuple<A1, A2, A3, A4, A5, A6, A7, A8> > {
~~~~~~~^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:119:40: error: 'A1' does not refer to a value
struct MatcherTuple< ::std::tr1::tuple<A1, A2, A3, A4, A5, A6, A7, A8> > {
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:117:20: note: declared here
template <typename A1, typename A2, typename A3, typename A4, typename A5,
^
/tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h:126:29: error: no member named 'tr1' in namespace 'std'
struct MatcherTuple< ::std::tr1::tuple<A1, A2, A3, A4, A5, A6, A7, A8, A9> > {
~~~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
/usr/local/Cellar/cmake/3.1.2/bin/cmake -E cmake_progress_report /tmp/rsb-tools-cpp-IQpiod/CMakeFiles 15
[ 93%] Building CXX object src/logger/CMakeFiles/logger.dir/rsb/tools/logger/StatisticsEventFormatter.cpp.o
cd /tmp/rsb-tools-cpp-IQpiod/src/logger && /usr/bin/clang++ -DRSB_PROTOCOL_EXPORT="" -Os -w -pipe -march=native -mmacosx-version-min=10.10 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.10 -isystem /tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/include -isystem /tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0 -isystem /tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/gtest/include -isystem /tmp/rsb-tools-cpp-IQpiod/gmock-1.7.0/gtest -I/usr/local/include -I/usr/local/share/rsc0.11/../../include/rsc0.11 -I/usr/local/share/rsb0.11/../../include/rsb0.11 -pipe -Wall -Wextra -fdiagnostics-show-option -o CMakeFiles/logger.dir/rsb/tools/logger/StatisticsEventFormatter.cpp.o -c /tmp/rsb-tools-cpp-IQpiod/src/logger/rsb/tools/logger/StatisticsEventFormatter.cpp
20 errors generated.
make[2]: *** [test/timesync/CMakeFiles/rsbtimesynctest.dir/rsb/tools/timesync/rsbtimesynctest.cpp.o] Error 1
make[1]: *** [test/timesync/CMakeFiles/rsbtimesynctest.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
</pre>
<p>Brew config:</p>
<pre>
HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew
HEAD: 526e145b20c1ea96f557cd1336871c242716ef32
Last commit: 81 minutes ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: quad-core 64-bit haswell
OS X: 10.10.2-x86_64
Xcode: 6.1.1
CLT: 6.1.1.0.1.1416017670
Clang: 6.0 build 600
X11: 2.7.7 => /opt/X11
System Ruby: 2.0.0-p481
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/bin/ruby
Java: 1.7.0_21
</pre> Bug #2167 (New): Check that RemoteServer instances delete EventId instances in case of RPC timeoutshttps://code.cor-lab.de/issues/21672015-02-04T16:08:22ZJ. Wienkejwienke@techfak.uni-bielefeld.de
<p>I have observed that EventId instances are collected in a java process in case frequent RPC calls time out. This might be due to the association of responses with requests.</p> Bug #2163 (New): Remove rsb.wire-schema property from metaData in socket transporthttps://code.cor-lab.de/issues/21632015-01-27T11:33:49ZR. Haschkerhaschke@techfak.uni-bielefeld.de
<p>While in socket transport, there is a metadata key userInfos:rsb.wire-schema, it is missing in spread transport:</p>
<pre>
example: same event send over socket vs spread:
event *Event[id = *EventId[participantId = UUID[557f285a-0811-43c7-a506-8d05eed7a0c2], sequenceNumber = 0] at 0x7f1de4004e00, type = bytearray, scope = Scope[/], metaData = MetaData[senderId = UUID[557f285a-0811-43c7-a506-8d05eed7a0c2], creationTime = 1422357430672652, sendTime = 1422357430730011, receiveTime = 1422357430767356, deliverTime = 1422357430767369, userTimes = {}, userInfos = {(rsb.wire-schema, int64)}], method = , causes = {}] at 0x7f1de4004c20
event *Event[id = *EventId[participantId = UUID[4dbfdb24-1a1c-4904-a57b-1cfb7a2b4d77], sequenceNumber = 0] at 0x7f1dec002900, type = bytearray, scope = Scope[/], metaData = MetaData[senderId = UUID[4dbfdb24-1a1c-4904-a57b-1cfb7a2b4d77], creationTime = 1422357549316573, sendTime = 1422357549365453, receiveTime = 1422357549420429, deliverTime = 1422357549420432, userTimes = {}, userInfos = {}], method = , causes = {}] at 0x7f1dec004b70
</pre>
<p>How can I robustly access the wireSchema, if I want to lazily deserialize events?</p> Bug #2150 (New): Specification of preferred converters should be reconsideredhttps://code.cor-lab.de/issues/21502015-01-04T08:53:22ZR. Haschkerhaschke@techfak.uni-bielefeld.de
<p>From my point of view, the specification of preferred converters may be conceptually at the wrong level (currently at the level of transports).</p>
<p>Considering Listeners, they should receive the same data type, irrespective of the used transport. If there are several converters for a specific wire-schema, a preference needs to be given at the level of the Participant.<br />Considering Informers, there might be different wire-schemas to be used for different connectors. Hence, here the configuration at the transport level is sensible.</p>
<p>Hence, there is a need to handle in and out connectors differently!</p>
<p>Also, there should be an application-wide (default) converter preference, which should be used as args to rsb::converter::Repository::getConvertersForDeserialization and getConvertersForSerialization instead of the undecided default. The mentioned methods are used all over the framework and will fail if ambiguous converters are registered.</p>
<p>This application-wide default should be initialized from the rsc config system before the plugin system can register converters. This will allow meta converters (that use other converters to extract stuff, e.g. EventsByScopeMapConverter) to be correctly registered when ambiguous converters already exist. Otherwise success depends on load order!</p> Bug #2117 (New): Listener state changes are not synchronized, informer one's arehttps://code.cor-lab.de/issues/21172014-11-28T16:05:02ZJ. Wienkejwienke@techfak.uni-bielefeld.de
<p>There is a mismatch in threading safety between Listener and Informer in java wrt the activation / deactivation. This needs to be unified.</p> Bug #1914 (New): Reader does not work with multi-connector setuphttps://code.cor-lab.de/issues/19142014-07-04T11:44:13ZJ. Wienkejwienke@techfak.uni-bielefeld.de
<p>Originally reported from Timo Korthals on the mailing list:</p>
<blockquote>
<p>wie gestern angekündigt, will ich nun ein seltsames Verhalten des<br />"readers" mitteilen:<br />Situation:<br />1x Informer<br />1x Reader</p>
<p>Wenn der Reader sowohl auf inprocess, als auch auf socket hört, empfängt<br />er keine socket-Nachrichten vom Informer. rsb.conf:<br />[transport.inprocess]<br />enabled = 1<br />[transport.socket]<br />enabled = 1<br />host = localhost<br />server = auto<br />port = 55555</p>
<p>Wenn der Reader nur auf socket hört, dann empfängt er auch Nachrichten<br />vom Informer. rsb.conf:<br />[transport.inprocess]<br />enabled = 0<br />[transport.socket]<br />enabled = 1<br />host = localhost<br />server = auto<br />port = 55555</p>
</blockquote> Bug #1665 (New): Support common installations (to simlify cross compiliation)https://code.cor-lab.de/issues/16652013-12-03T10:46:15ZS. Herbrechtsmeiersherbrec@cit-ec.uni-bielefeld.de
<p>The current rsb projects contains many functions which are only needed for the local deployment. As most of this functions are not optional they don't allow a common installation and make the installation unusable in cross compiler environments. The main reason is that cmake and pkg-config files are not relocatable because they contain full paths from the installation or build time.</p>
<p>In common installation the following should not be needed: <br />- Add the release version to project and library names (example: rsb0.9 in rst-converters0.9.pc)<br />- Decode the so version in pkg-config files (example: librsb.so.0.9 in rsb.pc)<br />- Use so files instead of <del>l{libname} in pkg-config files (example: ${libdir}/librsb.so.0.9 in rsb.pc)<br /></del> Set full paths in cmake files (example: RSC_DIR in RSBConfig.cmake)</p>
<p>Additionally cmake files should save the dependency projects and use FIND_PACKAGE to detect the paths.</p> Bug #1642 (New): pkg-config test fails in integration testhttps://code.cor-lab.de/issues/16422013-10-03T22:23:22ZJ. Moringenjmoringe@cor-lab.uni-bielefeld.de
<p>See e.g. <a class="external" href="https://ci.cor-lab.org/view/rsb-trunk/job/rsb-cpp-trunk/label=ubuntu_precise_64bit/1196/consoleFull">https://ci.cor-lab.org/view/rsb-trunk/job/rsb-cpp-trunk/label=ubuntu_precise_64bit/1196/consoleFull</a></p> Bug #1620 (New): Configurator can't check if connector is activehttps://code.cor-lab.de/issues/16202013-09-09T17:00:48ZAnonymous
<p>The InRouteConfiguration can't check if a connector is active and therefore might deactivate an already inactive connector, which leads to an error.</p>
<p>Connectors should therefore make their activation state public and provide a consistent handling of their activation state.</p> Bug #1474 (New): rsb matlab interface not fully working with newest MATLAB versions (R2012b and R...https://code.cor-lab.de/issues/14742013-04-23T13:46:17ZC. Emmerichcemmeric@cor-lab.de
<p>It seems, that with the newest Matlab versions R2012b and R2013a some underlying interfaces or mechanism concerning the <strong>builders</strong> of rst types have changed or are not working anymore. The result is that the following code<br /><pre>
javaaddpath('/usr/share/java/protobuf-java.jar');
prefix = '/vol/flexirob/releases/x86_64-precise/';
javaaddpath([prefix 'share/java/rsb.jar']);
javaaddpath([prefix 'share/java/rsb.m.jar']);
javaaddpath([prefix 'share/java/rstsandbox.jar']);
javaaddpath([prefix 'share/java/rst.jar']);
rsb.matlab.ConverterRegistration.register();
builder = rsb.matlab.ProtobufUtils.getBuilder('rst.geometry.TranslationType','Translation');
</pre><br />crashes with the last line:<br /><pre>
Java exception occurred:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at rsb.matlab.ProtobufUtils.getBuilder(ProtobufUtils.java:42)
Caused by: java.lang.NoSuchFieldError: alwaysUseFieldBuilders
at rst.geometry.TranslationType$Translation.access$500(TranslationType.java:26)
at
rst.geometry.TranslationType$Translation$Builder.maybeForceBuilderInitialization(TranslationType.java:259)
at rst.geometry.TranslationType$Translation$Builder.<init>(TranslationType.java:251)
at rst.geometry.TranslationType$Translation$Builder.create(TranslationType.java:263)
at rst.geometry.TranslationType$Translation$Builder.access$300(TranslationType.java:236)
at rst.geometry.TranslationType$Translation.newBuilder(TranslationType.java:223)
... 5 more
</pre></p>
<p>However, using MATLAB R2012a the above code works fine.</p>
<p>On my system, all three versions are running on precise-64bit with the same java version:<br /><pre>
Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
</pre></p> Bug #1441 (New): Better handling of dependencies without pc file, e. g. boost, in our pkgconfighttps://code.cor-lab.de/issues/14412013-02-27T10:02:26ZAnonymous
<p>Boost for example doesn't provide a pkg-config file (<a class="external" href="https://svn.boost.org/trac/boost/ticket/1094">https://svn.boost.org/trac/boost/ticket/1094</a>). So in order to provide a working pkgconfig for rsb, we need to insert boost include pathes and libs directly into our pc file (see <a href="https://code.cor-lab.de/issues/1439" class="issue tracker-1 status-3 priority-5 priority-high3 closed" title="pkgconfig is anvalid (Resolved)">#1439</a>). However, this doesn't work with cross-compiling (see <a href="https://code.cor-lab.de/issues/1292" class="issue tracker-1 status-4 priority-4 priority-default" title="Do not set EXTERNAL_INCLUDE_COMMANDS in rsc/rst.pc.in by default (Feedback)">#1292</a>), so we need to find a better solution.</p> Bug #1410 (New): Python socket transport swallows missing converter errors silently so that clien...https://code.cor-lab.de/issues/14102013-02-13T13:01:45ZJ. Wienkejwienke@techfak.uni-bielefeld.de
<p>The current implementation of the socket transport only defines the following error hook on the connection:<br /><pre>
connection.errorHook = lambda exception: self.removeConnection(connection)
</pre><br />This doesn't notify clients in any error case, nor does it print a warning message (without specifically configured logging) or crashes the program.</p>
This is the warning code:<br /><pre>
self.__logger.warn('Receive error: %s', e)
</pre><br />At least:
<ul>
<li>use a more serious warning level</li>
<li>use a method signature that prints a complete exception stacktrace</li>
</ul> Bug #923 (New): Computation of channel format is a horrible hackhttps://code.cor-lab.de/issues/9232012-03-04T16:11:47ZJ. Moringenjmoringe@cor-lab.uni-bielefeld.de
<ul>
<li>Specific to Protocol Buffer serialization</li>
<li>Can cause severe slowdowns during channel creation</li>
<li>Does not handle unavailable payload IDLs properly</li>
<li>Compatibility of computed format and actually recorded events is not verified</li>
<li>Output format sucks
<ul>
<li>Parsing is very fragile due to <code>:</code> serparator</li>
<li>Interaction of type-dependencies, filenames and imports sucks</li>
<li>Format is not fully machine-readable at this point</li>
</ul></li>
</ul>