Robotics Service Bus: Issueshttps://code.cor-lab.de/https://code.cor-lab.de/favicon.ico?14019720732018-10-09T14:34:32ZOpen Source Collaboration Platform
Redmine Enhancement #2772 (New): Uniformed path for System-Config in Windowshttps://code.cor-lab.de/issues/27722018-10-09T14:34:32ZS. Barutsbarut@techfak.uni-bielefeld.de
<p>Currently, the path where the system-wide rsb.conf lies is not specified under windows. (see: <a class="external" href="http://docs.cor-lab.org/rsb-manual/trunk/html/specification-config.html#effective-configuration">http://docs.cor-lab.org/rsb-manual/trunk/html/specification-config.html#effective-configuration</a> ; PREFIX is not clearly defined).</p>
<p>Some proposals would be:</p>
<p>- C:\rsb.conf <br />Straightforward but maybe too messy and not clear enough...</p>
<p>- C:\Users\Public\.config\rsb.conf <br />Would have a <span>userprofile</span>\.config\rsb.conf design, but beeing effective for every user (Public) making it system-wide</p>
<p>It is more or less a proposal derived from:<br /><a class="external" href="https://blogs.msdn.microsoft.com/patricka/2010/03/18/where-should-i-store-my-data-and-configuration-files-if-i-target-multiple-os-versions/">https://blogs.msdn.microsoft.com/patricka/2010/03/18/where-should-i-store-my-data-and-configuration-files-if-i-target-multiple-os-versions/</a></p>
<p>Actually "C:\Users\Public" is only intended for documents but with the ".config" subdirectory it should be a nice and clear like in the home directory.</p> Feature #2648 (New): Setters for TimesyncStrategy optionshttps://code.cor-lab.de/issues/26482016-08-18T11:17:59ZM. Goerlichmgoerlic@techfak.uni-bielefeld.de
<p>Currently the strategies can only be configured through boost::po::variables_map s. Filling those by hand is clumsy, direct setters for time frames and buffer sizes at the time frame strategy as well as for the queue size for the approx time strategy would make usage of timesync as library a lot easier.</p> Tasks #2559 (New): Scope renaminghttps://code.cor-lab.de/issues/25592016-06-08T12:17:41ZJ. Moringenjmoringe@cor-lab.uni-bielefeld.deTasks #2529 (New): Wait for confirmation when joining Spread groups [Python]https://code.cor-lab.de/issues/25292016-04-15T09:28:57ZJ. Moringenjmoringe@cor-lab.uni-bielefeld.deTasks #2433 (New): Wait for confirmation when joining Spread groups [C++]https://code.cor-lab.de/issues/24332015-11-16T12:26:33ZJ. Wienkejwienke@techfak.uni-bielefeld.deBug #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> Tasks #2233 (In Progress): Wait for confirmation when joining Spread groupshttps://code.cor-lab.de/issues/22332015-04-23T15:44:40ZJ. Moringenjmoringe@cor-lab.uni-bielefeld.de
<p>When joining a Spread group, the operation cannot be assumed to have completed before the corresponding membership message has been received from the Spread daemon. As a consequence, events that a certain Spread connection must receive, cannot be sent before the connection in question received its membership message.</p>
<p>When this reasoning and our experimental implementation of a suitable waiting logic appear sound, we have to implement that logic for all languages (and create sub-issues).</p> Enhancement #2225 (New): Use sphinx.ext.ifconfig for version-dependent information in the manualhttps://code.cor-lab.de/issues/22252015-04-20T13:18:39ZJ. Wienkejwienke@techfak.uni-bielefeld.de
<p>We have several TODOs in the manuals which need to be updated on each release because of things diverging between release and master version. The <code>sphinx.ext.ifconfig</code> module (<a class="external" href="http://sphinx-doc.org/ext/ifconfig.html">http://sphinx-doc.org/ext/ifconfig.html</a>) could help here.</p> Tasks #2216 (New): Consider using git subtrees instead of submoduleshttps://code.cor-lab.de/issues/22162015-04-02T12:51:44ZJ. Moringenjmoringe@cor-lab.uni-bielefeld.de
<p>We can all agree, that our submodule setup sucks.</p>
<p>We discussed and rejected gitslave: <a class="external" href="https://projects.cor-lab.org/projects/corcse/wiki/GitSlave">https://projects.cor-lab.org/projects/corcse/wiki/GitSlave</a></p>
<p>Nicolas Hafner suggests git subtrees, which I (jmoringe) did not know about. We should probably look into that possibility.<br /><a class="external" href="http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/">http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/</a></p> Feature #2185 (New): Provide Contrib Library or Folder for Community Additionshttps://code.cor-lab.de/issues/21852015-02-24T10:43:19ZS. Wredeswrede@cor-lab.uni-bielefeld.de
<p>The proposal here is to provide a <code>contrib</code> folder or library that contains community additions to the framework core. These additions should primarily consist of plugins or additional implementations for the RSB extension points that do not justify a standalone plugin library or can not (yet) be included in the core library. This should allow faster dissemination of new experimental features to the community without fragmentation or erosion of the library core.</p>
<p>The technical means to achieve this (folder vs. library, cmake components or not, integration with core documentation, ...) needs to be discussed.</p> 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>