Code Monkey home page Code Monkey logo

cocaine-core's People

Contributors

3hren avatar andrusha97 avatar antmat avatar arssher avatar berekuk avatar berkus avatar bioothod avatar bogdad avatar cpursley avatar creator-zz avatar diunko avatar iavael avatar iidioteque avatar ijon avatar karitra avatar makiwara avatar mou avatar ndk4 avatar nikai3d avatar noxiouz avatar redbaron avatar savetherbtz avatar theinkvi avatar vickenty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cocaine-core's Issues

how to build cocaine-core

canning dependencies of target cocaine-core
[ 11%] Building CXX object CMakeFiles/cocaine-core.dir/src/actor.cpp.o
[ 14%] Building CXX object CMakeFiles/cocaine-core.dir/src/api.cpp.o
[ 17%] Building CXX object CMakeFiles/cocaine-core.dir/src/app.cpp.o
[ 20%] Building CXX object CMakeFiles/cocaine-core.dir/src/archive.cpp.o
[ 22%] Building CXX object CMakeFiles/cocaine-core.dir/src/context.cpp.o
/storm/cocaine-core-0.11/src/context.cpp: In constructor ‘cocaine::config_t::config_t(const std::string&)’:
/storm/cocaine-core-0.11/src/context.cpp:161: error: ambiguous overload for ‘operator=’ in ‘((cocaine::config_t_)this)->cocaine::config_t::network.cocaine::config_t::::gateway = {Json::Value::asString() const(), ((Json::Value_)((Json::Value_)root.Json::Value::operator[](%28%28const char*%29"network"%29))->Json::Value::operator[](%28%28const char*%29"gateway"%29))->Json::Value::operator[](%28%28const char*%29"args"%29)}’
/boost/boost_1_58_0/boost/optional/optional.hpp:940: note: candidates are: boost::optional& boost::optional::operator=(typename boost::optional_detail::optional_base::argument_type) [with T = cocaine::config_t::component_t]
/boost/boost_1_58_0/boost/optional/optional.hpp:948: note: boost::optional& boost::optional::operator=(typename boost::optional_detail::optional_base::rval_reference_type) [with T = cocaine::config_t::component_t]
/boost/boost_1_58_0/boost/optional/optional.hpp:959: note: boost::optional& boost::optional::operator=(boost::none_t) [with T = cocaine::config_t::component_t]
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/unique_ptr.h:41,
from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/memory:67,
from /storm/cocaine-core-0.11/include/cocaine/common.hpp:32,
from /storm/cocaine-core-0.11/include/cocaine/context.hpp:24,
from /storm/cocaine-core-0.11/src/context.cpp:21:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/tuple: In constructor ‘std::_Head_base<_Idx, _Head, false>::_Head_base(_UHead&&) [with _UHead = std::_Head_base<0ul, unsigned int, false>, long unsigned int _Idx = 0ul, _Head = short unsigned int]’:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/tuple:179: instantiated from ‘std::_Tuple_impl<_Idx, _Head, _Tail ...>::_Tuple_impl(std::_Tuple_impl<_Idx, _UElements ...>&&) [with _UElements = unsigned int, unsigned int, long unsigned int _Idx = 0ul, _Head = short unsigned int, _Tail = short unsigned int]’
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/tuple:338: instantiated from ‘std::tuple<_T1, _T2>::tuple(std::tuple<_U1, _U2>&&) [with _U1 = unsigned int, _U2 = unsigned int, T1 = short unsigned int, T2 = short unsigned int]’
/boost/boost_1_58_0/boost/optional/optional.hpp:619: instantiated from ‘void boost::optional_detail::optional_base::assign_expr_to_initialized(Expr&&, const void
) [with Expr = std::tuple<unsigned int, unsigned int>, T = std::tuple<short unsigned int, short unsigned int>]’
/boost/boost_1_58_0/boost/optional/optional.hpp:442: instantiated from ‘void boost::optional_detail::optional_base::assign_expr(Expr&&, const ExprPtr
) [with Expr = std::tuple<unsigned int, unsigned int>, ExprPtr = std::tuple<unsigned int, unsigned int>, T = std::tuple<short unsigned int, short unsigned int>]’
/boost/boost_1_58_0/boost/optional/optional.hpp:883: instantiated from ‘typename boost::disable_if_c<(boost::is_base_of::value || boost::is_same::value), boost::optional&>::type boost::optional::operator=(Expr&&) [with Expr = std::tuple<unsigned int, unsigned int>, T = std::tuple<short unsigned int, short unsigned int>]’
/storm/cocaine-core-0.11/src/context.cpp:147: instantiated from here
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/tuple:94: error: cannot convert ‘std::_Head_base<0ul, unsigned int, false>’ to ‘short unsigned int’ in initialization
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/tuple: In constructor ‘std::_Head_base<_Idx, _Head, false>::_Head_base(_UHead&&) [with _UHead = std::_Head_base<1ul, unsigned int, false>, long unsigned int _Idx = 1ul, _Head = short unsigned int]’:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/tuple:179: instantiated from ‘std::_Tuple_impl<_Idx, _Head, _Tail ...>::_Tuple_impl(std::_Tuple_impl<_Idx, _UElements ...>&&) [with _UElements = unsigned int, long unsigned int _Idx = 1ul, _Head = short unsigned int, _Tail = ]’
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/tuple:179: instantiated from ‘std::_Tuple_impl<_Idx, _Head, _Tail ...>::_Tuple_impl(std::_Tuple_impl<_Idx, _UElements ...>&&) [with _UElements = unsigned int, unsigned int, long unsigned int _Idx = 0ul, _Head = short unsigned int, _Tail = short unsigned int]’
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/tuple:338: instantiated from ‘std::tuple<_T1, _T2>::tuple(std::tuple<_U1, _U2>&&) [with _U1 = unsigned int, _U2 = unsigned int, T1 = short unsigned int, T2 = short unsigned int]’
/boost/boost_1_58_0/boost/optional/optional.hpp:619: instantiated from ‘void boost::optional_detail::optional_base::assign_expr_to_initialized(Expr&&, const void
) [with Expr = std::tuple<unsigned int, unsigned int>, T = std::tuple<short unsigned int, short unsigned int>]’
/boost/boost_1_58_0/boost/optional/optional.hpp:442: instantiated from ‘void boost::optional_detail::optional_base::assign_expr(Expr&&, const ExprPtr
) [with Expr = std::tuple<unsigned int, unsigned int>, ExprPtr = std::tuple<unsigned int, unsigned int>, T = std::tuple<short unsigned int, short unsigned int>]’
/boost/boost_1_58_0/boost/optional/optional.hpp:883: instantiated from ‘typename boost::disable_if_c<(boost::is_base_of::value || boost::is_same::value), boost::optional&>::type boost::optional::operator=(Expr&&) [with Expr = std::tuple<unsigned int, unsigned int>, T = std::tuple<short unsigned int, short unsigned int>]’
/storm/cocaine-core-0.11/src/context.cpp:147: instantiated from here
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/tuple:94: error: cannot convert ‘std::Head_base<1ul, unsigned int, false>’ to ‘short unsigned int’ in initialization
cc1plus: warnings being treated as errors
/boost/boost_1_58_0/boost/system/error_code.hpp: At global scope:
/boost/boost_1_58_0/boost/system/error_code.hpp:221: error: ‘boost::system::posix_category’ defined but not used
/boost/boost_1_58_0/boost/system/error_code.hpp:222: error: ‘boost::system::errno_ecat’ defined but not used
/boost/boost_1_58_0/boost/system/error_code.hpp:223: error: ‘boost::system::native_ecat’ defined but not used
/boost/boost_1_58_0/boost/asio/error.hpp:258: error: ‘boost::asio::error::system_category’ defined but not used
/boost/boost_1_58_0/boost/asio/error.hpp:260: error: ‘boost::asio::error::netdb_category’ defined but not used
/boost/boost_1_58_0/boost/asio/error.hpp:262: error: ‘boost::asio::error::addrinfo_category’ defined but not used
/boost/boost_1_58_0/boost/asio/error.hpp:264: error: ‘boost::asio::error::misc_category’ defined but not used
make[2]: *
* [CMakeFiles/cocaine-core.dir/src/context.cpp.o] Error 1
make[1]: *** [CMakeFiles/cocaine-core.dir/all] Error 2
make: *** [all] Error 2

  • have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for

more information, such as the ld(1) and ld.so(8) manual pages.

test -z "/usr/local/include" || /bin/mkdir -p "/usr/local/include"
/bin/mkdir -p '/usr/local/include/msgpack/type'
/usr/bin/install -c -m 644 msgpack/type/bool.hpp msgpack/type/deque.hpp msgpack/type/float.hpp msgpack/type/fixint.hpp msgpack/type/int.hpp msgpack/type/list.hpp msgpack/type/map.hpp msgpack/type/nil.hpp msgpack/type/pair.hpp msgpack/type/raw.hpp msgpack/type/set.hpp msgpack/type/string.hpp msgpack/type/vector.hpp msgpack/type/tuple.hpp msgpack/type/define.hpp '/usr/local/include/msgpack/type'
/bin/mkdir -p '/usr/local/include/msgpack'
/usr/bin/install -c -m 644 msgpack/pack_define.h msgpack/pack_template.h msgpack/unpack_define.h msgpack/unpack_template.h msgpack/sysdep.h msgpack/sbuffer.h msgpack/version.h msgpack/vrefbuffer.h msgpack/zbuffer.h msgpack/pack.h msgpack/unpack.h msgpack/object.h msgpack/zone.h msgpack/sbuffer.hpp msgpack/vrefbuffer.hpp msgpack/zbuffer.hpp msgpack/pack.hpp msgpack/unpack.hpp msgpack/object.hpp msgpack/zone.hpp msgpack/type.hpp '/usr/local/include/msgpack'
/bin/mkdir -p '/usr/local/include/msgpack/type/tr1'
/usr/bin/install -c -m 644 msgpack/type/tr1/unordered_map.hpp msgpack/type/tr1/unordered_set.hpp '/usr/local/include/msgpack/type/tr1'
/usr/bin/install -c -m 644 msgpack.h msgpack.hpp '/usr/local/include/.'
make[2]: Leaving directory /storm/msgpack-c-cpp-0.5.4/cpp/src' make[1]: Leaving directory/storm/msgpack-c-cpp-0.5.4/cpp/src'
Making install in test
make[1]: Entering directory /storm/msgpack-c-cpp-0.5.4/cpp/test' make[2]: Entering directory/storm/msgpack-c-cpp-0.5.4/cpp/test'
make[2]: Nothing to be done for install-exec-am'. make[2]: Nothing to be done forinstall-data-am'.
make[2]: Leaving directory /storm/msgpack-c-cpp-0.5.4/cpp/test' make[1]: Leaving directory/storm/msgpack-c-cpp-0.5.4/cpp/test'
make[1]: Entering directory /storm/msgpack-c-cpp-0.5.4/cpp' make[2]: Entering directory/storm/msgpack-c-cpp-0.5.4/cpp'
make[2]: Nothing to be done for install-exec-am'. make[2]: Nothing to be done forinstall-data-am'.
make[2]: Leaving directory /storm/msgpack-c-cpp-0.5.4/cpp' make[1]: Leaving directory/storm/msgpack-c-cpp-0.5.4/cpp'
[root@iZ947yjsmw8Z cpp]# cd ..

cocaine builds

As I wrote in previous issue I've some sort of problems with building overall cocaine projects tree from sources, especially plugins. Now I want to share my experience that can help others to make custom builds of cocaine.

The main idea is to use docker.io as building system to produce debian packages for OS that differs from host system (it's my case) and to avoid building on server machine.

I've prepared Dockerfile, so overall building process accomplished by:

mkdir /tmp/cocaine-builder
cd /tmp/cocaine-builder
curl https://gist.githubusercontent.com/cybernetlab/82cf6f296b22ad78999e/raw/a17e56b6d942c0c9334139c67da06e3da6376fb2/cocaine-builder-dockerfile > Dockerfile
sudo docker.io build -t cocaine-builder .

This will build new docker image and cocaine packages inside it. To retrieve builded packages:

sudo docker.io run -v /tmp:/out cocaine-builder cp /packages/cocaine-0.11.2.tgz /out

Before building you can customize Dockerfile and save it elsewere for future use. As docker.io caches every RUN results, and if something goes wrong, this pattern allows you to make step-by-step building until overall progress will be successfull

some docs for developers

Hi, guys! I'm going to code auth plugin. But I can't find any information about cocaine internals or anything that can help to start. So, for beginning I've inspect sources and wrote down my understanding of it. All texts in russian ;) And it's not finished yet, but I want to show it to somebody to avoid unwanted work. So, can somebody review it. Is it reasonable to continue this work? If it does, I think that it might be in your repo for better sharing.

Regards!

gcc 4.8.2: multiple 'maybe-uninitialized' warnings

Building with gcc 4.8.2 gives:

In file included from /home/art/Development/cocaine-core/include/cocaine/detail/services/logging.hpp:28:0,
                 from /home/art/Development/cocaine-core/src/services/logging.cpp:21:
/home/art/Development/cocaine-core/include/cocaine/rpc/dispatch.hpp: In member function ‘typename Visitor::result_type cocaine::dispatch< <template-parameter-1-1> >::invoke(int, const Visitor&) const [with Visitor = cocaine::aux::invocation_visitor_t; Tag = cocaine::io::log_tag; typename Visitor::result_type = std::shared_ptr<cocaine::io::basic_dispatch_t>]’:
/home/art/Development/cocaine-core/include/cocaine/rpc/dispatch.hpp:201:17: error: ‘*((void*)(& slot)+8).std::__shared_ptr<cocaine::io::basic_slot<cocaine::io::log::emit>, (__gnu_cxx::_Lock_policy)2u>::_M_ptr’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
         return (*slot)(std::move(args), typename io::basic_slot<Event>::upstream_type(upstream));
                 ^
/home/art/Development/cocaine-core/include/cocaine/rpc/dispatch.hpp:247:38: note: ‘*((void*)(& slot)+8).std::__shared_ptr<cocaine::io::basic_slot<cocaine::io::log::emit>, (__gnu_cxx::_Lock_policy)2u>::_M_ptr’ was declared here
     typename slot_map_t::mapped_type slot = lb->second;
                                      ^
cc1plus: all warnings being treated as errors

PAM auth always fails as cocaine worker on Ubuntu 12.04

Hi!

I've tried to use PAM authentication as a cocaine worker.
See example project - https://github.com/mwf/cocaine_pam_auth
Here what I've got.

I've tested it on both Mac OS X 10.9 and Ubuntu 12.04.
Both have cocaine-core 0.11.2.2 installed.

On Ubuntu PAM auth always fails - wether you provide good credentials or really bad.
(PAM works well from python interpreter)

On Mac OS X it's OK - user can be authenticated normally.

BTW, there is some problem with cocaine-tool script. It always returns Timeout when 1-2 seconds pass from start. You can test it with some worker, calling sleep and returning the result after that...

So to test this issue - just have a look in cocaine logs =)

pretty painful to install

some docs on installation would be good - managed to get boost installed, but I have no idea how to tell CMake where msgpack is.

problems in libcocaine-dev master

Hi, guys!

I've some troubles with compile plugins on clean machine with installed libcocaine-dev. My make example:

$ make
[ 50%] Building CXX object debugger/CMakeFiles/debugger.dir/src/debugger.cpp.o
In file included from /usr/include/cocaine/rpc/slots/blocking.hpp:24:0,
                 from /usr/include/cocaine/rpc/dispatch.hpp:30,
                 from /projects/cocaine-plugins/debugger/include/cocaine/service/debugger.hpp:9,
                 from /projects/cocaine-plugins/debugger/src/debugger.cpp:5:
/usr/include/cocaine/rpc/slots/function.hpp:24:37: fatal error: cocaine/idl/streaming.hpp: Нет такого файла или каталога
 #include "cocaine/idl/streaming.hpp"
                                     ^
compilation terminated.
make[2]: *** [debugger/CMakeFiles/debugger.dir/src/debugger.cpp.o] Ошибка 1
make[1]: *** [debugger/CMakeFiles/debugger.dir/all] Ошибка 2
make: *** [all] Ошибка 2

I've inspected libcocaine-dev package and where are no idl subfolder at all. I think, that you forget to add following line into debian/libcocaine-dev.install:

usr/include/cocaine/idl

Because after adding it and rebuilding the problem is gone.

Also, I think that blackhole-dev should be added to libcocaine-dev as dependency or it should be builded inside package. Because for now, libcococaine-dev installed silently, but plugins are not compiled without blackhole-dev.

Regards

Cannot execute git submodule update --init

morozovcookie@ubuntu:~/Desktop/sandbox/cocaine-core$ git submodule update --init
Submodule 'foreign/asio' (https://github.com/chriskohlhoff/asio.git) registered for path 'foreign/asio'
Submodule 'foreign/backward-cpp' (git://github.com/bombela/backward-cpp.git) registered for path 'foreign/backward-cpp'
Submodule 'foreign/blackhole' (git://github.com/3Hren/blackhole.git) registered for path 'foreign/blackhole'
Submodule 'foreign/modules' (https://github.com/3Hren/modules.git) registered for path 'foreign/modules'
Submodule 'foreign/rapidjson' (git://github.com/andrusha97/rapidjson.git) registered for path 'foreign/rapidjson'
Submodule 'tests/foreign/celero' (https://github.com/DigitalInBlue/Celero) registered for path 'tests/foreign/celero'
Cloning into 'foreign/asio'...
remote: Counting objects: 40541, done.
remote: Total 40541 (delta 0), reused 0 (delta 0), pack-reused 40541
Receiving objects: 100% (40541/40541), 13.92 MiB | 2.04 MiB/s, done.
Resolving deltas: 100% (26237/26237), done.
Checking connectivity... done.
Submodule path 'foreign/asio': checked out 'c228d0fa62d56c6020e04d479df557eef24efb1d'
Cloning into 'foreign/backward-cpp'...
fatal: read error: Connection reset by peer
fatal: early EOF
fatal: index-pack failed
fatal: clone of 'git://github.com/bombela/backward-cpp.git' into submodule path 'foreign/backward-cpp' failed

Cannot get backward-cpp. If I clone each repository, not use submodule - everything is good, but I have failed when run 'make'

build failed

Scanning dependencies of target json
[ 2%] Building CXX object CMakeFiles/json.dir/foreign/jsoncpp-0.6.0-rc2/src/lib_json/json_value.cpp.o
[ 5%] Building CXX object CMakeFiles/json.dir/foreign/jsoncpp-0.6.0-rc2/src/lib_json/json_reader.cpp.o
[ 8%] Building CXX object CMakeFiles/json.dir/foreign/jsoncpp-0.6.0-rc2/src/lib_json/json_writer.cpp.o
Linking CXX static library libjson.a
[ 8%] Built target json
Scanning dependencies of target cocaine-core
[ 11%] Building CXX object CMakeFiles/cocaine-core.dir/src/actor.cpp.o
In file included from /usr/local/include/msgpack/type.hpp:17,
from /usr/local/include/msgpack/object.hpp:808,
from /usr/local/include/msgpack.hpp:18,
from /storm/cocaine-core-0.11/include/cocaine/traits.hpp:24,
from /storm/cocaine-core-0.11/include/cocaine/rpc/slot.hpp:26,
from /storm/cocaine-core-0.11/include/cocaine/rpc/slots/function.hpp:27,
from /storm/cocaine-core-0.11/include/cocaine/rpc/slots/blocking.hpp:24,
from /storm/cocaine-core-0.11/include/cocaine/dispatch.hpp:26,
from /storm/cocaine-core-0.11/src/actor.cpp:32:
/usr/local/include/msgpack/adaptor/vector.hpp: In member function ‘void msgpack::v1::adaptor::object_with_zone<std::vector<T, std::allocator<Tp1> >, void>::operator()(msgpack::v1::object::with_zone&, const std::vector<T, std::allocator<Tp1> >&) const’:
/usr/local/include/msgpack/adaptor/vector.hpp:84: error: #pragma GCC diagnostic not allowed inside functions
/usr/local/include/msgpack/adaptor/vector.hpp:85: error: #pragma GCC diagnostic not allowed inside functions
/usr/local/include/msgpack/adaptor/vector.hpp:89: error: #pragma GCC diagnostic not allowed inside functions
In file included from /storm/cocaine-core-0.11/include/cocaine/rpc/channel.hpp:27,
from /storm/cocaine-core-0.11/src/actor.cpp:37:
/storm/cocaine-core-0.11/include/cocaine/rpc/decoder.hpp: In member function ‘size_t cocaine::io::decoder< >::on_event(const char
, size_t)’:
/storm/cocaine-core-0.11/include/cocaine/rpc/decoder.hpp:91: error: no matching function for call to ‘unpack(const char
&, size_t&, size_t_&, msgpack::v1::zone_&, msgpack::v1::object_&)’
/usr/local/include/msgpack/unpack.hpp:1530: note: candidates are: msgpack::v1::unpacked msgpack::v1::unpack(const char_, size_t, size_t&, bool&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1554: note: msgpack::v1::unpacked msgpack::v1::unpack(const char_, size_t, size_t&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1562: note: msgpack::v1::unpacked msgpack::v1::unpack(const char_, size_t, bool&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1570: note: msgpack::v1::unpacked msgpack::v1::unpack(const char_, size_t, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1579: note: void msgpack::v1::unpack(msgpack::v1::unpacked&, const char_, size_t, size_t&, bool&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1606: note: void msgpack::v1::unpack(msgpack::v1::unpacked&, const char_, size_t, size_t&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1614: note: void msgpack::v1::unpack(msgpack::v1::unpacked&, const char_, size_t, bool&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1622: note: void msgpack::v1::unpack(msgpack::v1::unpacked&, const char_, size_t, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1632: note: msgpack::v1::object msgpack::v1::unpack(msgpack::v1::zone&, const char_, size_t, size_t&, bool&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1656: note: msgpack::v1::object msgpack::v1::unpack(msgpack::v1::zone&, const char_, size_t, size_t&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1665: note: msgpack::v1::object msgpack::v1::unpack(msgpack::v1::zone&, const char_, size_t, bool&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1674: note: msgpack::v1::object msgpack::v1::unpack(msgpack::v1::zone&, const char_, size_t, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1686: note: void msgpack::v1::unpack(msgpack::v1::unpacked_, const char_, size_t, size_t_, bool_, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/storm/cocaine-core-0.11/include/cocaine/rpc/decoder.hpp: In member function ‘size_t cocaine::io::decoder< >::on_event(const char_, size_t) [with Stream = cocaine::io::readable_streamcocaine::io::socket<cocaine::io::tcp >]’:
/storm/cocaine-core-0.11/include/cocaine/rpc/decoder.hpp:60: instantiated from ‘void cocaine::io::decoder< >::bind(MessageHandler, ErrorHandler) [with MessageHandler = std::Bind<std::Mem_fn<void (cocaine::actor_t::)(int, const cocaine::io::message_t&)>(cocaine::actor_t, int, std::Placeholder<1>)>, ErrorHandler = std::Bind<std::Mem_fn<void (cocaine::actor_t::)(int, const std::error_code&)>(cocaine::actor_t, int, std::Placeholder<1>)>, Stream = cocaine::io::readable_streamcocaine::io::socket<cocaine::io::tcp >]’
/storm/cocaine-core-0.11/src/actor.cpp:261: instantiated from here
/storm/cocaine-core-0.11/include/cocaine/rpc/decoder.hpp:91: error: no matching function for call to ‘unpack(const char
&, size_t&, size_t
, msgpack::v1::zone_, msgpack::v1::object_)’
/usr/local/include/msgpack/unpack.hpp:1530: note: candidates are: msgpack::v1::unpacked msgpack::v1::unpack(const char_, size_t, size_t&, bool&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1554: note: msgpack::v1::unpacked msgpack::v1::unpack(const char_, size_t, size_t&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1562: note: msgpack::v1::unpacked msgpack::v1::unpack(const char_, size_t, bool&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1570: note: msgpack::v1::unpacked msgpack::v1::unpack(const char_, size_t, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1579: note: void msgpack::v1::unpack(msgpack::v1::unpacked&, const char_, size_t, size_t&, bool&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1606: note: void msgpack::v1::unpack(msgpack::v1::unpacked&, const char_, size_t, size_t&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1614: note: void msgpack::v1::unpack(msgpack::v1::unpacked&, const char_, size_t, bool&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1622: note: void msgpack::v1::unpack(msgpack::v1::unpacked&, const char_, size_t, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1632: note: msgpack::v1::object msgpack::v1::unpack(msgpack::v1::zone&, const char_, size_t, size_t&, bool&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1656: note: msgpack::v1::object msgpack::v1::unpack(msgpack::v1::zone&, const char_, size_t, size_t&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1665: note: msgpack::v1::object msgpack::v1::unpack(msgpack::v1::zone&, const char_, size_t, bool&, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1674: note: msgpack::v1::object msgpack::v1::unpack(msgpack::v1::zone&, const char_, size_t, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
/usr/local/include/msgpack/unpack.hpp:1686: note: void msgpack::v1::unpack(msgpack::v1::unpacked_, const char_, size_t, size_t_, bool_, bool ()(msgpack::v1::type::object_type, size_t, void), void_, const msgpack::v1::unpack_limit&)
In file included from /storm/cocaine-core-0.11/src/actor.cpp:39:
/storm/cocaine-core-0.11/include/cocaine/traits/literal.hpp: In static member function ‘static void cocaine::io::type_traits<cocaine::io::literal, void>::pack(msgpack::v1::packer&, const cocaine::io::literal&) [with Stream = msgpack::v1::sbuffer]’:
/storm/cocaine-core-0.11/include/cocaine/traits/typelist.hpp:127: instantiated from ‘static void cocaine::io::type_traits<T, typename std::enable_if<boost::mpl::is_sequence::value, void>::type>::pack_sequence(msgpack::v1::packer&, const Head&, const Tail& ...) [with It = boost::mpl::l_iterboost::mpl::l_item<mpl_::long_<1l, std::basic_string<char, std::char_traits, std::allocator >, boost::mpl::l_end> >, Stream = msgpack::v1::sbuffer, Head = cocaine::io::literal, Tail = , T = boost::mpl::list<std::basic_string<char, std::char_traits, std::allocator >, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>]’
/storm/cocaine-core-0.11/include/cocaine/traits/typelist.hpp:78: instantiated from ‘static void cocaine::io::type_traits<T, typename std::enable_if<boost::mpl::is_sequence::value, void>::type>::pack(msgpack::v1::packer&, const Args& ...) [with Stream = msgpack::v1::sbuffer, Args = cocaine::io::literal, T = boost::mpl::list<std::basic_string<char, std::char_traits, std::allocator >, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>]’
/storm/cocaine-core-0.11/include/cocaine/rpc/encoder.hpp:80: instantiated from ‘void cocaine::io::encoder< >::write(uint64_t, Args&& ...) [with Event = cocaine::io::rpc::chunk, Args = cocaine::io::literal, Stream = cocaine::io::writable_streamcocaine::io::socket<cocaine::io::tcp >]’
/storm/cocaine-core-0.11/src/actor.cpp:86: instantiated from here
/storm/cocaine-core-0.11/include/cocaine/traits/literal.hpp:60: error: ‘class msgpack::v1::packermsgpack::v1::sbuffer’ has no member named ‘pack_raw’
/storm/cocaine-core-0.11/include/cocaine/traits/literal.hpp:61: error: ‘class msgpack::v1::packermsgpack::v1::sbuffer’ has no member named ‘pack_raw_body’
cc1plus: warnings being treated as errors
/boost/boost_1_58_0/boost/system/error_code.hpp: At global scope:
/boost/boost_1_58_0/boost/system/error_code.hpp:221: error: ‘boost::system::posix_category’ defined but not used
/boost/boost_1_58_0/boost/system/error_code.hpp:222: error: ‘boost::system::errno_ecat’ defined but not used
/boost/boost_1_58_0/boost/system/error_code.hpp:223: error: ‘boost::system::native_ecat’ defined but not used
/boost/boost_1_58_0/boost/asio/error.hpp:258: error: ‘boost::asio::error::system_category’ defined but not used
/boost/boost_1_58_0/boost/asio/error.hpp:260: error: ‘boost::asio::error::netdb_category’ defined but not used
/boost/boost_1_58_0/boost/asio/error.hpp:262: error: ‘boost::asio::error::addrinfo_category’ defined but not used
/boost/boost_1_58_0/boost/asio/error.hpp:264: error: ‘boost::asio::error::misc_category’ defined but not used
make[2]: *** [CMakeFiles/cocaine-core.dir/src/actor.cpp.o] Error 1
make[1]: *** [CMakeFiles/cocaine-core.dir/all] Error 2
make: *** [all] Error 2

Documentation needs some love

Sorry to bother, but "Architecture" page is a bit clumsy and has too much extra details to me.

Service is an actor, an RPC-enabled piece of code, which accepts a certain set of messages

Is it a separate process, thread or something?

...a list of methods and their respective SlotIDs you can call by sending messages to the service just after a connection has been established.

Maybe "just after a connection has been established" can be omitted to simplify such a long sentence

unlike server-side services with service-specific protocols, every client dispatches the streaming service protocol.

It would be great to add a link to protocols documentation, otherwise it just an extra information. Perhaps it's not needed at this "overview" level of the document.

...the usual session between a client and a service goes as follows...

Again, you describe messages being passed between client and server, going deep, but miss other details, which can confuse reader:

  • How to peak "any channel at random"?
  • What is a "null protocol"?
    I think, again, some details can be missed or they need clarification to avoid confusing the users.

...specifies service names and types, but not network-related properties

Like what? Maybe "(e.g. TCP port to listen)" will clarify what you mean.

...is attached to the locator, which in turn wraps them in an event loop...

WAT? Eventloop? What do you mean? Do we really need to know about it right now?

...binds them to some network endpoints

What is "network endpoint"? Does locator binds service to TCP port?

... Send a Resolve message with the name of the required service using any channel.

Do we really need to know about channels right now? My point is that such details distract user (me, actually) a lot.

...the locator can be configured to aggregate other locators' multicast announces

First, you said "locator announces" and now "multicast announces" - did you mean the same procedure or these are two distinct events?

zmq3 installs zmq.h not zmq.hpp

CMake tries to find zmq.hpp while recent zeromq installs zmq.h. Given that current debian/control explicitly depends on zeromq 3.2 version, CMakeLists.txt should be changed as well.

cocaine runtime crash

Hi again. I continue playing cocaine.

My current attempt is to run docker registry as a cocaine app (actually I was create my own image with elliptics storage support). For a first try I prepare simple Dockerfile:

FROM registry
RUN apt-get install python-flask msgpack-python python-pip -y
RUN pip install cocaine
ADD ./slave.py /slave.py
EXPOSE 5000
CMD exec /slave.py

my slave.py:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from cocaine.worker import Worker
from cocaine.decorators.wsgi import wsgi
from docker_registry.run import app

if __name__ == '__main__':
    W = Worker()
    W.run({ "http": wsgi(app) })

manifest.json:

{ "slave": "/slave.py" }

and profile:

{
    "queue-limit": 1000,
    "pool-limit": 10,
    "isolate": {
        "type": "docker",
        "args": {
            "memory_limit": 1000000000,
            "endpoint": "unix:///var/run/docker.sock",
            "cpu_shares": 0
        }
    },
    "concurrency": 200
}

then trying to run it:

sudo cocaine-tool app upload --docker=unix:///var/run/docker.sock
cocaine-tool profile upload --name docker-registry-profile --profile /tmp/docker-registry/docker-registry-profile.json
cocaine-tool app start -n docker-registry -r docker-registry-profile

it runs ok and I see it with cocaine-tool info.

But when I check it by:

curl "http://apps.cybercloud.lan:8080/docker-registry/http/_ping"

curl gives me empty result and cocaine runtime crashed. So, to diagnose, i start cocaine runtime without daemonize:

sudo /usr/bin/cocaine-runtime --configuration /cybercloud/cocaine/conf/cocaine-cybercloud.conf --pidfile /var/run/cocaine/runtime.pid

and repeat curl. My output:

Stack trace (most recent call last) in thread 3372:
#12   Object "", at 0xffffffffffffffff, in 
#11   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f688378430c, in clone
#10   Object "/lib/x86_64-linux-gnu/libpthread.so.0", at 0x7f688325a181, in start_thread
#9    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f6883d16bef, in std::this_thread::__sleep_for(std::chrono::duration<long, std::ratio<1l, 1l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)
#8    Object "/usr/lib/x86_64-linux-gnu/libev.so.4", at 0x7f6883f6ffe6, in ev_run
#7    Object "/usr/lib/x86_64-linux-gnu/libev.so.4", at 0x7f6883f6ce44, in ev_invoke_pending
#6    Object "/usr/lib/libcocaine-core.so.2", at 0x7f688422352f, in cocaine::engine::engine_t::balance()
#5    Object "/usr/lib/libcocaine-core.so.2", at 0x7f68842654e0, in cocaine::engine::slave_t::slave_t(cocaine::context_t&, cocaine::io::reactor_t&, cocaine::engine::manifest_t const&, cocaine::engine::profile_t const&, std::string const&, cocaine::engine::engine_t&)
#4    Source "/tmp/cocaine/cocaine-plugins/docker/isolate.cpp", line 226, in cocaine::isolate::docker_t::spawn(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&) [0x7f687f45b7df]
#3    Source "/tmp/cocaine/cocaine-plugins/docker/docker_client.cpp", line 841, in cocaine::docker::client_t::create_container(rapidjson::GenericValue<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > const&) [0x7f687f440f60]
#2  | Source "/tmp/cocaine/cocaine-plugins/docker/docker_client.cpp", line 502, in cocaine::docker::client_impl_t::post(cocaine::docker::http_response_t&, cocaine::docker::http_request_t const&)
      Source "/usr/include/c++/4.8/bits/basic_string.h", line 539, in ~basic_string [0x7f687f43d134]
        536:        *  @brief  Destroy the string instance.
        537:        */
        538:       ~basic_string() _GLIBCXX_NOEXCEPT
      > 539:       { _M_rep()->_M_dispose(this->get_allocator()); }
        540: 
        541:       /**
        542:        *  @brief  Assign the value of @a str to this string.
#1    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f6883cc064d, in 

I think that it because I miss something in my slave.py but the bad thing is that incorrect application crashes runtime! Any comments? Thanks!

Wrong load balancing when deploying: 40/60 instead of 50/50

Steps to reproduce:

  1. Fork https://github.com/noxiouz/cocaine-laboratory
  2. Deploy the application as in MANUAL.md
  3. Test load balancing.

Here's test script:

#!/bin/bash
for i in {1..100}
do
  curl -v http://bulletproof_noob_saibot-group.cocsfe01.demo.yandex.net 2>/dev/null | grep Message
done

Here's output (with different number of iterations):

bash-3.2$ ./s | sort | uniq -c
  41   "Message": "Hello world! Version abcd"
  59   "Message": "Hello world! Version2"
bash-3.2$ ./s | sort | uniq -c
 402   "Message": "Hello world! Version abcd"
 598   "Message": "Hello world! Version2"
bash-3.2$ ./s | sort | uniq -c
 400   "Message": "Hello world! Version abcd"
 600   "Message": "Hello world! Version2"
bash-3.2$ ./s | sort | uniq -c
4172   "Message": "Hello world! Version abcd"
5828   "Message": "Hello world! Version2"

Can't find libboost-{system,filesystem,thread} on make

I'm trying to put together a Dockerfile to automate all the build steps listed in the wiki and also just for isolation purposes to work out the kinks in the build process. So far it's going OK, but I get some problems with the compiler not being able to find some libboost packages:

make -j$(grep -c 'processor' /proc/cpuinfo)
 ---> Running in 0a84091afcd2
Scanning dependencies of target cocaine-core
Building CXX object CMakeFiles/cocaine-core.dir/src/actor.cpp.o
.......(lots of building)......
Building CXX object CMakeFiles/cocaine-core.dir/src/services/storage.cpp.o
Building CXX object CMakeFiles/cocaine-core.dir/src/session.cpp.o
Building CXX object CMakeFiles/cocaine-core.dir/src/storages/files.cpp.o
Building CXX object CMakeFiles/cocaine-core.dir/src/unique_id.cpp.o
Linking CXX shared library libcocaine-core.so
/bin/ld: cannot find -lboost_system-mt
/usr/bin/ld: cannot find -lboost_filesystem-mt
/usr/bin/ld: cannot find -lboost_thread-mt
collect2: error: ld returned 1 exit status

*** [CMakeFiles/cocaine-core.dir/all] Error 2

A google search found that there was a recent renaming of some of the boost packages (leaving off the trailing "-mt"). My container is running saucy, so it's probably pulling the most recent packages, are there specific older versions you think I should use to bypass that naming error?

cocaine-runtime daemonize on Mac OS X

Hi!

I've cocaine-runtime installed both on Ubuntu 12.04 and Mac OS X 10.9.2
Under Ubuntu I've build a deb package with dpkg-buildpackage and installed from it.

Both were build from recent source of v0.11 branch (version 0.11.2.2).
But running cocaine-runtime --help on Ubuntu gives me this:

cocaine-runtime --help
USAGE: cocaine-runtime [options]
General options:
  -h [ --help ]              show this message
  -c [ --configuration ] arg location of the configuration file
  -d [ --daemonize ]         daemonize on start
  -p [ --pidfile ] arg       location of a pid file
  -v [ --version ]           show version and build information

And under Mac OS:

cocaine-runtime --help
USAGE: cocaine-runtime [options]
General options:
  -h [ --help ]              show this message
  -c [ --configuration ] arg location of the configuration file
  -v [ --version ]           show version and build information

Cocaine-runtime doesn't support --daemonize option under Mac OS?! o__O

Cocaine doesn't clean-up /var/spool/cocaine/<app_name> directory

Hi!

When I remove application, cocaine doesn't remove app's working directory from spool.

If I upload app again and start it, it will extract all new files and replace old, but there will still exist some files from old installation.
I think, it shoud be fixed.

Clean-up configured "runtime" directory

Hi!

I'd like to propose such thing - clean-up configured "runtime" directory on cocaine-runtime process start.

I've got a situation, when cocaine-runtime had not been terminated properly - there was a server power-loss. So all files "< app-name >.< pid >" in "runtime" directory were not deleted! And after server boot cocaine-runtime process randomly got just the same PID as it had before the power loss!

I think you can imagine what happened next...

[Tue Sep  2 18:05:34 2014] [ERROR] service/node: unable to start the 'bio_auth' app - unable to initialize the engine - unable to bind an acceptor on '/usr/local/var/run/cocaine/bio_auth.121': Address already in use - [48] Address already in use

Runlist can't be started unless I restart cocaine-runtime manually (and get new PID) or clean-up the directory...

cocaine does not start

version 0.12.3, ubuntu 14.04
after compiling i am trying to start,
sudo service cocaine start and /usr/bin/cocaine-runtime -c /etc/cocaine/cocaine-default.conf
but cocaine write:
[Runtime] Parsing the configuration.
[Runtime] Initializing the logging system, backend: core.
and nothing more
ps aux | grep cocaine-runtime | grep -v grep give no results

Compatibility with binutils 2.23

build with binutils >=2.23.x need define PACKAGE and PACKAGE_VERSION

--- config.hpp.in.orig  2013-08-01 14:16:17.000000000 +0300
+++ config.hpp.in   2013-08-01 17:37:38.000000000 +0300
@@ -8,4 +8,7 @@
 #define COCAINE_VERSION \
    COCAINE_MAKE_VERSION(COCAINE_VERSION_MAJOR, COCAINE_VERSION_MINOR, COCAINE_VERSION_RELEASE)

+#define PACKAGE "cocaine-core"
+#define PACKAGE_VERSION COCAINE_VERSION
+
 #cmakedefine COCAINE_DEBUG

Failed to build cocaine-core under Mac OS X 10.9.2

Hi!
I'm trying to install cocaine (v0.11 branch) under Mac OS X 10.9 (all dependecies installed via brew), cmake passes well, but make fails:

Scanning dependencies of target json
[  2%] Building CXX object CMakeFiles/json.dir/foreign/jsoncpp-0.6.0-rc2/src/lib_json/json_value.cpp.o
[  5%] Building CXX object CMakeFiles/json.dir/foreign/jsoncpp-0.6.0-rc2/src/lib_json/json_reader.cpp.o
[  8%] Building CXX object CMakeFiles/json.dir/foreign/jsoncpp-0.6.0-rc2/src/lib_json/json_writer.cpp.o
Linking CXX static library libjson.a
[  8%] Built target json
Scanning dependencies of target cocaine-core
[ 11%] Building CXX object CMakeFiles/cocaine-core.dir/src/actor.cpp.o
[ 14%] Building CXX object CMakeFiles/cocaine-core.dir/src/api.cpp.o
[ 17%] Building CXX object CMakeFiles/cocaine-core.dir/src/app.cpp.o
[ 20%] Building CXX object CMakeFiles/cocaine-core.dir/src/archive.cpp.o
[ 22%] Building CXX object CMakeFiles/cocaine-core.dir/src/context.cpp.o
[ 25%] Building CXX object CMakeFiles/cocaine-core.dir/src/dispatch.cpp.o
[ 28%] Building CXX object CMakeFiles/cocaine-core.dir/src/drivers/fs.cpp.o
[ 31%] Building CXX object CMakeFiles/cocaine-core.dir/src/drivers/time.cpp.o
[ 34%] Building CXX object CMakeFiles/cocaine-core.dir/src/engine.cpp.o
[ 37%] Building CXX object CMakeFiles/cocaine-core.dir/src/essentials.cpp.o
[ 40%] Building CXX object CMakeFiles/cocaine-core.dir/src/group.cpp.o
[ 42%] Building CXX object CMakeFiles/cocaine-core.dir/src/gateways/adhoc.cpp.o
[ 45%] Building CXX object CMakeFiles/cocaine-core.dir/src/isolates/process.cpp.o
[ 48%] Building CXX object CMakeFiles/cocaine-core.dir/src/isolates/spooler.cpp.o
[ 51%] Building CXX object CMakeFiles/cocaine-core.dir/src/locator.cpp.o
[ 54%] Building CXX object CMakeFiles/cocaine-core.dir/src/loggers/files.cpp.o
[ 57%] Building CXX object CMakeFiles/cocaine-core.dir/src/loggers/syslog.cpp.o
[ 60%] Building CXX object CMakeFiles/cocaine-core.dir/src/logging.cpp.o
[ 62%] Building CXX object CMakeFiles/cocaine-core.dir/src/manifest.cpp.o
[ 65%] Building CXX object CMakeFiles/cocaine-core.dir/src/profile.cpp.o
[ 68%] Building CXX object CMakeFiles/cocaine-core.dir/src/queue.cpp.o
[ 71%] Building CXX object CMakeFiles/cocaine-core.dir/src/repository.cpp.o
[ 74%] Building CXX object CMakeFiles/cocaine-core.dir/src/services/logging.cpp.o
[ 77%] Building CXX object CMakeFiles/cocaine-core.dir/src/services/node.cpp.o
[ 80%] Building CXX object CMakeFiles/cocaine-core.dir/src/services/storage.cpp.o
[ 82%] Building CXX object CMakeFiles/cocaine-core.dir/src/session.cpp.o
[ 85%] Building CXX object CMakeFiles/cocaine-core.dir/src/slave.cpp.o
[ 88%] Building CXX object CMakeFiles/cocaine-core.dir/src/slot.cpp.o
[ 91%] Building CXX object CMakeFiles/cocaine-core.dir/src/storages/files.cpp.o
[ 94%] Building CXX object CMakeFiles/cocaine-core.dir/src/unique_id.cpp.o
Linking CXX shared library libcocaine-core.dylib
Undefined symbols for architecture x86_64:
  "_archive_filter_name", referenced from:
      cocaine::archive_t::archive_t(cocaine::context_t&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in archive.cpp.o
      cocaine::archive_t::type() const in archive.cpp.o
  "_archive_read_free", referenced from:
      cocaine::archive_t::~archive_t() in archive.cpp.o
  "_archive_read_support_filter_all", referenced from:
      cocaine::archive_t::archive_t(cocaine::context_t&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in archive.cpp.o
  "_archive_write_free", referenced from:
      cocaine::archive_t::deploy(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in archive.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libcocaine-core.2.dylib] Error 1
make[1]: *** [CMakeFiles/cocaine-core.dir/all] Error 2
make: *** [all] Error 2

Any ideas?

/var/run/cocaine isn't created, but used by cocain-runtime

Default cocaine-runtime configuration uses /var/run/cocaine which is created nowhere and it's not clear where it should be created.

  1. postinst script wouldn't work as /var/run is cleaned on every reboot
  2. It can be init script, but then config file have to be parsed there to obtain correct value as hardcoding will likely break if user changes it in config.
  3. cocaine-runtime can created everything on it's own and then drop privileges, but it requires a code change IMHO not worth doing

Failed to start cocaine-runtime

from syslog

cocaine[15333]: [2015-10-20 12:41:26.676296] [I]: initializing the server
cocaine[15333]: [2015-10-20 12:41:26.680040] [I]: initializing the core [source: core]
cocaine[15333]: [2015-10-20 12:41:26.680193] [D]: registering component 'multicast' in category 'cocaine::api::cluster_t' [source: core]
cocaine[15333]: [2015-10-20 12:41:26.680296] [D]: registering component 'predefine' in category 'cocaine::api::cluster_t' [source: core]
cocaine[15333]: [2015-10-20 12:41:26.680335] [D]: registering component 'adhoc' in category 'cocaine::api::gateway_t' [source: core]
cocaine[15333]: [2015-10-20 12:41:26.680368] [D]: registering component 'locator' in category 'cocaine::api::service_t' [source: core]
cocaine[15333]: [2015-10-20 12:41:26.680401] [D]: registering component 'logging' in category 'cocaine::api::service_t' [source: core]
cocaine[15333]: [2015-10-20 12:41:26.680431] [D]: registering component 'storage' in category 'cocaine::api::service_t' [source: core]
cocaine[15333]: [2015-10-20 12:41:26.680462] [D]: registering component 'files' in category 'cocaine::api::storage_t' [source: core]
cocaine[15333]: [2015-10-20 12:41:26.680611] [I]: loading plugin [source: core, plugin: /usr/lib/cocaine/node.2.cocaine-plugin.so]
cocaine[15333]: [2015-10-20 12:41:26.684208] [D]: registering component 'process' in category 'cocaine::api::isolate_t' [source: core, plugin: /usr/lib/cocaine/node.2.cocaine-plugin.so]
cocaine[15333]: [2015-10-20 12:41:26.684308] [D]: registering component 'node::v2' in category 'cocaine::api::service_t' [source: core, plugin: /usr/lib/cocaine/    node.2.cocaine-plugin.so]
cocaine[15333]: [2015-10-20 12:41:26.684357] [I]: starting 8 execution unit(s) [source: core]
cocaine[15333]: [2015-10-20 12:41:26.684539] [D]: engine started [source: core, engine: 0x7f8755fde700]
cocaine[15333]: [2015-10-20 12:41:26.684752] [D]: engine started [source: core, engine: 0x7f87557dd700]
cocaine[15333]: [2015-10-20 12:41:26.685186] [D]: engine started [source: core, engine: 0x7f874ffff700]
cocaine[15333]: [2015-10-20 12:41:26.685303] [D]: engine started [source: core, engine: 0x7f8754fdc700]
cocaine[15333]: [2015-10-20 12:41:26.685573] [D]: engine started [source: core, engine: 0x7f874f7fe700]
cocaine[15333]: [2015-10-20 12:41:26.685695] [D]: engine started [source: core, engine: 0x7f874effd700]
cocaine[15333]: [2015-10-20 12:41:26.685804] [D]: engine started [source: core, engine: 0x7f874e7fc700]
cocaine[15333]: [2015-10-20 12:41:26.685896] [D]: engine started [source: core, engine: 0x7f874dffb700]
cocaine[15333]: [2015-10-20 12:41:26.685922] [I]: starting 4 service(s) [source: core]
cocaine[15333]: [2015-10-20 12:41:26.685960] [D]: starting service [source: core, service: locator]
cocaine[15333]: [2015-10-20 12:41:26.686140] [I]: restricting 1 service(s): locator [source: core, service: locator]
cocaine[15333]: [2015-10-20 12:41:26.686200] [I]: using 'multicast' as a cluster manager, enabling synchronization [source: core, service: locator]
cocaine[15333]: [2015-10-20 12:41:26.686338] [I]: joining multicast group '239.0.100.53:10053' [uuid: 3f68a096-6e71-4970-9b26-dd985247f373, source: core, service:   locator]
cocaine[15333]: [2015-10-20 12:41:26.686665] [E]: unable to initialize service: [19] set_option: No such device [source: core, service: locator]
cocaine[15333]: [2015-10-20 12:41:26.686738] [D]: starting service [source: core, service: logging]
cocaine[15333]: [2015-10-20 12:41:26.686856] [I]: exposing service on local endpoint [::]:40875 [source: core, service: logging]
cocaine[15333]: [2015-10-20 12:41:26.686950] [D]: service has been started [service: logging, source: core]
cocaine[15333]: [2015-10-20 12:41:26.689840] [D]: starting service [source: core, service: node]
cocaine[15333]: [2015-10-20 12:41:26.690006] [I]: exposing service on local endpoint [::]:48376 [source: core, service: node]
cocaine[15333]: [2015-10-20 12:41:26.690097] [D]: service has been started [service: node, source: core]
cocaine[15333]: [2015-10-20 12:41:26.691347] [D]: starting service [source: core, service: storage]
cocaine[15333]: [2015-10-20 12:41:26.691466] [I]: exposing service on local endpoint [::]:51197 [source: core, service: storage]
cocaine[15333]: [2015-10-20 12:41:26.691555] [D]: service has been started [service: storage, source: core]
cocaine[15333]: [2015-10-20 12:41:26.691732] [E]: emergency core shutdown [source: core]
cocaine[15333]: [2015-10-20 12:41:26.691763] [I]: stopping 3 service(s) [source: core]
cocaine[15333]: [2015-10-20 12:41:26.691845] [D]: shutting down apps [source: node]
cocaine[15333]: [2015-10-20 12:41:26.693250] [I]: removing service from local endpoint [::]:51197 [source: core, service: storage]
cocaine[15333]: [2015-10-20 12:41:26.693320] [D]: service has been stopped [service: storage, source: core]
cocaine[15333]: [2015-10-20 12:41:26.693869] [I]: removing service from local endpoint [::]:48376 [source: core, service: node]
cocaine[15333]: [2015-10-20 12:41:26.693925] [D]: service has been stopped [service: node, source: core]
cocaine[15333]: [2015-10-20 12:41:26.694445] [I]: removing service from local endpoint [::]:40875 [source: core, service: logging]
cocaine[15333]: [2015-10-20 12:41:26.694513] [D]: service has been stopped [service: logging, source: core]
cocaine[15333]: [2015-10-20 12:41:26.694587] [I]: stopping 8 execution unit(s) [source: core]
cocaine[15333]: [2015-10-20 12:41:26.694668] [D]: stopping engine [source: core:asio, engine: 0x7f8755fde700]
cocaine[15333]: [2015-10-20 12:41:26.695448] [D]: stopping engine [source: core:asio, engine: 0x7f87557dd700]
cocaine[15333]: [2015-10-20 12:41:26.695727] [D]: stopping engine [source: core:asio, engine: 0x7f874ffff700]
cocaine[15333]: [2015-10-20 12:41:26.696011] [D]: stopping engine [source: core:asio, engine: 0x7f8754fdc700]
cocaine[15333]: [2015-10-20 12:41:26.696337] [D]: stopping engine [source: core:asio, engine: 0x7f874f7fe700]
cocaine[15333]: [2015-10-20 12:41:26.696595] [D]: stopping engine [source: core:asio, engine: 0x7f874effd700]
cocaine[15333]: [2015-10-20 12:41:26.696871] [D]: stopping engine [source: core:asio, engine: 0x7f874e7fc700]
cocaine[15333]: [2015-10-20 12:41:26.697156] [D]: stopping engine [source: core:asio, engine: 0x7f874dffb700]
cocaine[15333]: [2015-10-20 12:41:26.697403] [I]: core has been terminated [source: core]
cocaine[15333]: [2015-10-20 12:41:26.697593] [E]: unable to initialize the context - couldn't start core because of 1 service(s): locator: Invalid argument.

my config file

{
  "version": 3,
  "logging": {
    "core": {
      "loggers": [
        {
          "formatter": {
            "type": "string",
            "pattern": "[%(timestamp)s] [%(severity)s]: %(message)s %(...:[:])s"
          },
          "sink": {
            "type": "syslog",
            "identity": "cocaine"
          }
        }
      ],
      "timestamp": "%Y-%m-%d %H:%M:%S.%f",
      "verbosity": "debug"
    }
  },
  "network": {
    "pinned": {
      "locator": 10053
    }
  },
  "paths": {
    "plugins": "/usr/lib/cocaine",
    "runtime": "/var/run/cocaine"
  },
  "services": {
    "locator": {
      "type": "locator",
      "args": {
        "cluster": {
          "type": "multicast",
          "args": {
            "group": "239.0.100.53"
          }
        },
        "gateway": {
          "type": "adhoc"
        }
      }
    },
    "logging": {
      "type": "logging",
      "args": {
        "backend": "core"
      }
    },
    "storage": {
      "type": "storage",
      "args": {
        "backend": "core"
      }
    },
    "node": {
      "type": "node::v2",
      "args": {
        "runlist": ""
      }
    }
  },
  "storages": {
    "core": {
      "type": "files",
      "args": {
        "path": "/var/lib/cocaine"
      }
    },
    "cache": {
      "type": "files",
      "args": {
        "path": "/var/cache/cocaine"
      }
    }
  }
}

I can't understand what does it mean [E]: unable to initialize service: [19] set_option: No such device [source: core, service: locator]

Sometimes (I don't know exactly when), cocaine-runtime starts successfully.

Start Locator service restircted

Hello.

I'm trying to start cocaine-runtime with cocaine-default.conf from package and want to get minimal cluster configuration.
When I try to run cocaine-tool info I get error in service "locator" - service is not available [1]
Old cocaine-tools from reverbrain repo stuch on info command, and in log appears message: [E]: uncaught invocation exception: [4] 0: specified channel was revoked [service: locator, endpoint: [::1]:48620, source: core:asio, engine: 0x7f37c4b63700]

My config:

{
    "version": 3,
    "logging": {
        "core" : {
            "loggers": [
                {
                    "formatter": {
                        "type": "string",
                        "pattern": "[%(timestamp)s] [%(severity)s]: %(message)s %(...:[:])s"
                    },
                    "sink": {
                        "type": "syslog",
                        "identity": "cocaine"
                    }
                }
            ],
            "timestamp": "%Y-%m-%d %H:%M:%S.%f",
            "verbosity": "debug"
        }
    },
    "network": {
        "pinned": {
            "locator": 10053
        }
    },
    "paths": {
        "plugins": "/usr/lib/cocaine",
        "runtime": "/var/run/cocaine"
    },
    "services": {
        "locator": {
            "type": "locator",
            "args": {
                "cluster": {
                    "type": "multicast",
                    "args": {
                        "group": "239.0.100.53"
                    }
                },
                "gateway": {
                    "type": "adhoc"
                }
            }
        },
        "logging": {
            "type": "logging",
            "args": {
                "backend": "core"
            }
        },
        "storage": {
            "type": "storage",
            "args": {
                "backend": "core"
            }
        }
    },
    "storages": {
        "core": {
            "type": "files",
            "args": {
                "path": "/var/lib/cocaine"
            }
        },
        "cache": {
            "type": "files",
            "args": {
                "path": "/var/cache/cocaine"
            }
        }
    }
}

Moving from cocaine 11 to 12

Hi

There is a question about moving apparently client app from 11 to 12 cocaine at reverbrain mail list, please take a look and reply both here and in the mailgroup

We are trying move from cocaine 11 to 12 and I'm investigating details. I didn't find any docs about writing applications with cocaine12 and examples are too simple.
Now I'm interested how properly send big array of bytes in chunks?

App:

worker.on("ping", [](worker::sender tx, worker::receiver rx) {
       std::cout << "After invoke" << std::endl;
       if (boost::optional<std::string> message = rx.recv().get()) { // app read one chunk
            std::cout << "After chunk: '" << *message << "'" << std::endl;
           tx.write(*message).get(); // app write one chunk
            std::cout << "After write" << std::endl;
       }
       std::cout << "After close" << std::endl;
   });

Client:

task<void>::future_type
on_invoke(task<channel<io::app::enqueue>>::future_move_type future) {
   auto channel = future.get();
   auto tx = std::move(channel.tx);
   auto rx = std::move(channel.rx);
   return tx.send<scope::chunk>("le message") // client write one chunk
        .then(trace_t::bind(&on_send, std::placeholders::_1, rx))
       .then(trace_t::bind(&on_chunk, std::placeholders::_1, rx)) // client read one chunk
        .then(trace_t::bind(&on_choke, std::placeholders::_1));
}

In this example I see how to send one chunk from client to app and backward. But what should I do if I want to send 3 chunks from client to app and after that 5 chunks from app to client?

https://groups.google.com/forum/#!topic/reverbrain/4VGLV2-yIac

Native HTTP Bridge

Hello. I'm not sure about right place for this issue, so I've placed it in 'core'.

As I understend the core concept, the user application 'announces' its services to cocaine cloud and waits for 'service request' then process it. And all the time between requests where are no application activity at all, so it starts on-demand. Right? I name it as 'asynch manner' here. Also there are no way for applications to operate in 'server manner' by starting to listening on some TCP/UDP port and it's reasonable for isolated environment that may be run as multiple instances on same machine with same network interface. Also 'server manner' will not work with cocaine routing...

But allmost all existing applications and frameworks operates in 'server manner'. And to migrate any existing functionality into cocaine I should rewrite code or add some adopting library to make application 'async'- friendly.

I think that it would be nice to give users some kind of supporting library that allows them to run existing applications without any code changes and then smoothly migrate to new service oriented approach.

If all above looks reasanoble, I'm ready to do some code-work with pull requests.

Regards

Spawning worker(s) at app start

Hi!

IMHO, it would be usefull to have some option in app's Profile to autospawn configured amount of workers at app start. And keep them alive despite of idle-timeout option. All extra-workers should be killed after timeout.

Spawning new workers is not a quick process (est. 200-300 ms), and it can be unpleasant in some cases.

And the second issue.
we can set idle-timeout to zero - spawned workers will never die. If you don't like my first idea - maybe, implement it only for idle-timeout = 0 case? If the workers never die, it's no matter when to start them - at app start or at first query.

What do you think about it?

does elasticsearch plugin required to start cocaine-runtime

Hello! Strange behavior of cocaine-runtime (master branch). Here is my config (this is the default config):

$ cat /etc/cocaine/cocaine-default.conf 
{
    "version": 2,
    "paths": {
        "plugins": "/usr/lib/cocaine",
        "runtime": "/var/run/cocaine"
    },
    "services": {
        "logging": {
            "type": "logging"
        },
        "storage": {
            "type": "storage",
            "args": {
                "backend": "core"
            }
        },
        "node": {
            "type": "node",
            "args": {
                "runlist": "default"
            }
        }
    },
    "storages": {
        "core": {
            "type": "files",
            "args": {
                "path": "/var/lib/cocaine"
            }
        },
        "cache": {
            "type": "files",
            "args": {
                "path": "/var/cache/cocaine"
            }
        }
    },
    "logging": {
        "core" : {
            "verbosity": "info",
            "timestamp": "%Y-%m-%d %H:%M:%S.%f",
            "loggers": [
                {
                    "formatter": {
                        "type": "string",
                        "pattern": "[%(timestamp)s] [%(severity)s]: %(message)s [%(...LG)s]"
                    },
                    "sink": {
                        "type": "syslog",
                        "identity": "cocaine"
                    }
                }
            ]
        }
    }
}

When I try to run cocaine-runtime it gives me following:

$ sudo cocaine-runtime -c /etc/cocaine/cocaine-default.conf
ERROR: unable to initialize the context - unable to load '/usr/lib/cocaine/elasticsearch.cocaine-plugin' - file not found.

But there are no elasticsearch service in config. Looks like it's hardcoded somewere? I'll make and install this plugin as workaround.

Your releases don't contain sobmodule-checkouts in foreign

That leads to compilation errors like
[..]/cocaine-core-0.11.2.0/src/runtime/runtime.cpp:41:24: fatal error: backward.hpp: No such file or directory
#include "backward.hpp"
Is there another place where we can pick your (working) release tarballs?

Cocaine doesn't use "spool" config path

Hi!

Cocaine-core version 0.11.2.2, the latest commit in v0.11 branch.
OS: Mac OS X 10.9.2
Cocaine installed to /usr/local/...
Started with /usr/local/bin/cocaine-runtime --configuration /usr/local/etc/cocaine/cocaine-default.conf
Pathes in cocaine config defined like this:

    "paths": {
        "plugins": "/usr/local/lib/cocaine",
        "runtime": "/usr/local/var/run/cocaine",
        "spool": "/usr/local/var/spool/cocaine"
    },
...
    "storages": {
        "core": {
            "type": "files",
            "args": {
                "path": "/usr/local/var/lib/cocaine"
            }
        }
    },

All paths does exist and are readable/writable for cocaine-runtime owner-user.

Profiles, manifests and apps upload works fine from cocaine-tool.
Everything lives in /usr/local/var/lib/cocaine/ ... Fine.

But app start fails!
The cocaine log sais:

[Mon Mar 17 20:42:31 2014] [INFO] service/node: starting the 'login' app
[Mon Mar 17 20:42:31 2014] [DEBUG] storage/core: reading object 'login', collection: manifests, path: "/usr/local/var/lib/cocaine/manifests/login"
[Mon Mar 17 20:42:31 2014] [DEBUG] storage/core: reading object 'TestProfile', collection: profiles, path: "/usr/local/var/lib/cocaine/profiles/TestProfile"
[Mon Mar 17 20:42:31 2014] [INFO] app/login: deploying the app to '"/var/spool/cocaine/login"'
[Mon Mar 17 20:42:31 2014] [DEBUG] storage/core: reading object 'login', collection: apps, path: "/usr/local/var/lib/cocaine/apps/login"
[Mon Mar 17 20:42:31 2014] [INFO] packaging: compression: gzip, size: 561 bytes
[Mon Mar 17 20:42:31 2014] [DEBUG] packaging: extracting "/var/spool/cocaine/login/login_worker.py"
[Mon Mar 17 20:42:31 2014] [ERROR] app/login: unable to extract the app files - Can't create '/var/spool/cocaine/login/login_worker.py'
[Mon Mar 17 20:42:31 2014] [ERROR] service/node: unable to initialize the 'login' app - the 'login' app is not available

You see? Cocaine tries to deploy app to /var/spool/... instead of configured /usr/local/var/spool/...!

Lost file

Try build and get error:

.....
Scanning dependencies of target cocaine-runtime
[ 96%] Building CXX object CMakeFiles/cocaine-runtime.dir/src/runtime/pid_file.cpp.o
[100%] Building CXX object CMakeFiles/cocaine-runtime.dir/src/runtime/runtime.cpp.o
/home/cc-dev/cocaine-core/src/runtime/runtime.cpp:41:24: fatal error: backward.hpp: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/cocaine-runtime.dir/src/runtime/runtime.cpp.o] Error 1
make[1]: *** [CMakeFiles/cocaine-runtime.dir/all] Error 2
make: *** [all] Error 2

Terrible project name!

I'm shocked that you would name the project "cocaine". I understand it stands for "Configurable Omnipotent Custom Applications Integrated Network Engine", but that's no excuse for using this name.

I can tell just by the forced use of "Omnipotent" that you purposely were looking for a way to use the word cocaine as your project name.

Why do you want us to be thinking about cocaine? Are you trying to legitimize cocaine use? Do you not know how dangerous a substance it is, and how many lives it has ruined? Or is cocaine just a big joke in Russia, and to everyone that works at Yandex?

Apparently that must be the case, so let me tell you this - cocaine isn't a joke. Use of cocaine can lead to addiction, dependence, emotional-motivational withdrawls, overdose, and sudden death. Cocaine production has led to untold loss of life in some areas of South America due to the gang violence that has surrounded the trade in recent years. Is that really what you want this project, and everyone contributing to it, to be associated with?

This project name is like a bad joke that no one bothered to do anything about. If I worked at Yandex, I would be extremely ashamed. I can't help wonder how many people abuse cocaine at Yandex for this project name to be allowed.

Build on master failed

Hello

I've Ubuntu Server 14.04 LTS.

$ uname -a
Linux coca-node-1 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

After adding repos

deb http://repo.reverbrain.com/trusty/ current/amd64/
deb http://repo.reverbrain.com/trusty/ current/all/

I have no docker and ipvs plugins:

$ apt-cache search cocaine
cocaine-framework-python - Cocaine - Python Framework
cocaine-dbg - Cocaine - Debug Files
libcocaine-plugin-elliptics-dev - Distributed hash table storage (cocaine plugin includes)
cocaine-tornado-proxy - Tornado-based cocaine HTTP proxy
cocaine-framework-native - Cocaine - Native Framework
libcocaine-plugin-elliptics - Distributed hash table storage (cocaine plugin)
cocaine-runtime - Cocaine - Runtime
cocaine-framework-native-dbg - Cocaine - Native Framework Debug Files
cocaine-framework-native-dev - Cocaine - Native Framework Development Headers
cocaine-tools - Cocaine - Toolset
libcocaine-core2 - Cocaine - Core Libraries
libcocaine-dev - Cocaine - Development Headers

So, i decide to build from sources. Here is my build progress:

cd /tmp
sudo apt-get -y install git equivs devscripts
git clone https://github.com/cocaine/cocaine-core.git
cd cocaine-core
git submodule update --init
sudo mk-build-deps -ir
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr ..
make -j$(grep -c 'processor' /proc/cpuinfo)

Until make everything looks fine. But make gives me following:

$ make -j$(grep -c 'processor' /proc/cpuinfo)
Scanning dependencies of target cocaine-raft
[  3%] Building CXX object CMakeFiles/cocaine-raft.dir/src/raft.cpp.o
[  6%] Building CXX object CMakeFiles/cocaine-raft.dir/src/services/counter.cpp.o
Linking CXX static library libcocaine-raft.a
[  6%] Built target cocaine-raft
Scanning dependencies of target cocaine-core
[  9%] Building CXX object CMakeFiles/cocaine-core.dir/src/actor.cpp.o
[ 12%] Building CXX object CMakeFiles/cocaine-core.dir/src/api.cpp.o
[ 15%] Building CXX object CMakeFiles/cocaine-core.dir/src/context.cpp.o
[ 18%] Building CXX object CMakeFiles/cocaine-core.dir/src/auth.cpp.o
[ 21%] Building CXX object CMakeFiles/cocaine-core.dir/src/dispatch.cpp.o
[ 24%] Building CXX object CMakeFiles/cocaine-core.dir/src/dynamic.cpp.o
[ 27%] Building CXX object CMakeFiles/cocaine-core.dir/src/engine.cpp.o
[ 30%] Building CXX object CMakeFiles/cocaine-core.dir/src/essentials.cpp.o
[ 33%] Building CXX object CMakeFiles/cocaine-core.dir/src/group.cpp.o
[ 36%] Building CXX object CMakeFiles/cocaine-core.dir/src/gateways/adhoc.cpp.o
[ 39%] Building CXX object CMakeFiles/cocaine-core.dir/src/isolates/process.cpp.o
[ 42%] Building CXX object CMakeFiles/cocaine-core.dir/src/isolates/process/archive.cpp.o
[ 45%] Building CXX object CMakeFiles/cocaine-core.dir/src/isolates/process/spooler.cpp.o
[ 48%] Building CXX object CMakeFiles/cocaine-core.dir/src/locator.cpp.o
[ 51%] Building CXX object CMakeFiles/cocaine-core.dir/src/logging.cpp.o
[ 54%] Building CXX object CMakeFiles/cocaine-core.dir/src/repository.cpp.o
[ 57%] Building CXX object CMakeFiles/cocaine-core.dir/src/services/logging.cpp.o
In file included from /tmp/cocaine-core/include/cocaine/detail/services/logging.hpp:28:0,
                 from /tmp/cocaine-core/src/services/logging.cpp:21:
/tmp/cocaine-core/include/cocaine/rpc/dispatch.hpp: In member function ‘typename Visitor::result_type cocaine::dispatch< <template-parameter-1-1> >::invoke(int, const Visitor&) const [with Visitor = cocaine::aux::invocation_visitor_t; Tag = cocaine::io::log_tag; typename Visitor::result_type = std::shared_ptr<cocaine::io::basic_dispatch_t>]’:
/tmp/cocaine-core/include/cocaine/rpc/dispatch.hpp:201:17: error: ‘*((void*)(& slot)+8).std::__shared_ptr<cocaine::io::basic_slot<cocaine::io::log::emit>, (__gnu_cxx::_Lock_policy)2u>::_M_ptr’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
         return (*slot)(std::move(args), typename io::basic_slot<Event>::upstream_type(upstream));
                 ^
/tmp/cocaine-core/include/cocaine/rpc/dispatch.hpp:247:38: note: ‘*((void*)(& slot)+8).std::__shared_ptr<cocaine::io::basic_slot<cocaine::io::log::emit>, (__gnu_cxx::_Lock_policy)2u>::_M_ptr’ was declared here
     typename slot_map_t::mapped_type slot = lb->second;
                                      ^
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/cocaine-core.dir/src/services/logging.cpp.o] Ошибка 1
make[1]: *** [CMakeFiles/cocaine-core.dir/all] Ошибка 2
make: *** [all] Ошибка 2

At this moment master on commit #6d0e21eda8ddaee279eecdc8efd6e9bf1fad2fc6

A have made several attempts with previous commits. Build is ok, but cocaine-runtime crashes with ipvs gateway option with message ipvs-gateway.cocaine-plugin: undefined symbol: nl_handle_alloc (with adhoc all works fine). Also I'm not shure that I've build right cocaine-plugins version (I tried runtime fixed in v11.0 branch with plugins from v11.0 branch).

What exactly commits for runtime and for plugins should I build?

Thanks in advance

v0.11 application crashes in dispatch.hpp

Hi

Elliptics srw test application (https://github.com/reverbrain/elliptics/blob/master/tests/srw_test_app.cpp) regiulary crashes when building in vagrant. Here is a backtrace:

#0  malloc_consolidate (av=av@entry=0x2b40bd857760 <main_arena>) at malloc.c:4165
#1  0x00002b40bd517fed in _int_free (av=0x2b40bd857760 <main_arena>, p=<optimized out>, have_lock=0) at malloc.c:4057
#2  0x00002b40bc07ef90 in deallocate (this=<optimized out>, __p=<optimized out>) at /usr/include/c++/4.8/ext/new_allocator.h:110
#3  _M_deallocate (this=<optimized out>, __n=<optimized out>, __p=<optimized out>) at /usr/include/c++/4.8/bits/stl_vector.h:174
#4  ~_Vector_base (this=0x1c92118, __in_chrg=<optimized out>) at /usr/include/c++/4.8/bits/stl_vector.h:160
#5  ~vector (this=0x1c92118, __in_chrg=<optimized out>) at /usr/include/c++/4.8/bits/stl_vector.h:416
#6  ~writable_stream (this=0x1c920c8, __in_chrg=<optimized out>) at /usr/include/cocaine/asio/writable_stream.hpp:31
#7  destroy<cocaine::io::writable_stream<cocaine::io::socket<cocaine::io::local> > > (this=<optimized out>, __p=0x1c920c8)
    at /usr/include/c++/4.8/ext/new_allocator.h:124
#8  _S_destroy<cocaine::io::writable_stream<cocaine::io::socket<cocaine::io::local> > > (__a=..., __p=0x1c920c8)
    at /usr/include/c++/4.8/bits/alloc_traits.h:281
#9  destroy<cocaine::io::writable_stream<cocaine::io::socket<cocaine::io::local> > > (__a=..., __p=0x1c920c8)
    at /usr/include/c++/4.8/bits/alloc_traits.h:405
#10 std::_Sp_counted_ptr_inplace<cocaine::io::writable_stream<cocaine::io::socket<cocaine::io::local> >, std::allocator<cocaine::io::writable_stream<cocaine::io::socket<cocaine::io::local> > >, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=<optimized out>)
    at /usr/include/c++/4.8/bits/shared_ptr_base.h:407
#11 0x00002b40bc056579 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x1c920b0)
    at /usr/include/c++/4.8/bits/shared_ptr_base.h:144
#12 0x00002b40bc07f086 in ~__shared_count (this=0x1c7f110, __in_chrg=<optimized out>)
    at /usr/include/c++/4.8/bits/shared_ptr_base.h:546
#13 ~__shared_ptr (this=0x1c7f108, __in_chrg=<optimized out>) at /usr/include/c++/4.8/bits/shared_ptr_base.h:781
#14 ~shared_ptr (this=0x1c7f108, __in_chrg=<optimized out>) at /usr/include/c++/4.8/bits/shared_ptr.h:93
#15 ~encoder (this=0x1c7f0c0, __in_chrg=<optimized out>) at /usr/include/cocaine/rpc/encoder.hpp:42
---Type <return> to continue, or q <return> to quit---
#16 operator() (this=<optimized out>, __ptr=0x1c7f0c0) at /usr/include/c++/4.8/bits/unique_ptr.h:67
#17 ~unique_ptr (this=0x1c7f4d8, __in_chrg=<optimized out>) at /usr/include/c++/4.8/bits/unique_ptr.h:184
#18 ~channel (this=0x1c7f4d0, __in_chrg=<optimized out>) at /usr/include/cocaine/rpc/channel.hpp:33
#19 std::_Sp_counted_ptr<cocaine::io::channel<cocaine::io::socket<cocaine::io::local> >*, (__gnu_cxx::_Lock_policy)2>::_M_dispose (
    this=<optimized out>) at /usr/include/c++/4.8/bits/shared_ptr_base.h:290
#20 0x0000000000416199 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x1c7f2e0)
    at /usr/include/c++/4.8/bits/shared_ptr_base.h:144
#21 0x000000000041087c in ~__shared_count (this=0x1c7f690, __in_chrg=<optimized out>)
    at /usr/include/c++/4.8/bits/shared_ptr_base.h:546
#22 ~__shared_ptr (this=0x1c7f688, __in_chrg=<optimized out>) at /usr/include/c++/4.8/bits/shared_ptr_base.h:781
#23 ~shared_ptr (this=0x1c7f688, __in_chrg=<optimized out>) at /usr/include/c++/4.8/bits/shared_ptr.h:93
#24 ~dispatch_t (this=0x1c7f580, __in_chrg=<optimized out>) at /usr/include/cocaine/framework/dispatch.hpp:48
#25 std::default_delete<cocaine::framework::dispatch_t>::operator() (__ptr=__ptr@entry=0x1c7f580, this=<optimized out>)
    at /usr/include/c++/4.8/bits/unique_ptr.h:67
#26 0x000000000041b88a in ~unique_ptr (this=<synthetic pointer>, __in_chrg=<optimized out>)
    at /usr/include/c++/4.8/bits/unique_ptr.h:184
#27 cocaine::framework::run<app_context<> > (argc=<optimized out>, argv=<optimized out>)
    at /usr/include/cocaine/framework/dispatch.hpp:236
#28 0x00002b40bd4b9ec5 in __libc_start_main (main=0x40f890 <main(int, char**)>, argc=9, argv=0x7fff972e44c8, init=<optimized out>, 
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff972e44b8) at libc-start.c:287
#29 0x000000000040fb60 in _start ()

cocaine-core and native framework are the latest checkouts from v0.11 branches
Does this fire the light or you need more help?

Server logs contain among other cocaine lines the following 'committed suicide' note:

2014-09-17 01:29:34.304526 0000000000000000/4399/4332 DEBUG: slave 41415dd3-61ea-49e5-a707-cc861be17517 received type 2 message in session 0, attrs: ['source': 'srw', 'app': 'app/dnet_cpp_srw_test_app']
2014-09-17 01:29:34.304549 0000000000000000/4378/4332 DEBUG: processing type 0 message using slot 'emit', attrs: ['source': 'srw', 'app': 'service/logging']
2014-09-17 01:29:34.304753 0000000000000000/4399/4332 DEBUG: slave 41415dd3-61ea-49e5-a707-cc861be17517 is committing suicide: per request, attrs: ['source': 'srw', 'app': 'app/dnet_cpp_srw_test_app']
2014-09-17 01:29:34.304865 0000000000000000/4378/4332 DEBUG: worker 41415dd3-61ea-49e5-a707-cc861be17517 received type 2 message, attrs: ['source': 'srw', 'app': 'app/dnet_cpp_srw_test_app']
2014-09-17 01:29:34.304982 0000000000000000/4399/4332 DEBUG: slave 36390bc3-a85a-4b82-951c-02dac78cd9fe received type 2 message in session 0, attrs: ['source': 'srw', 'app': 'app/dnet_cpp_srw_test_app']
2014-09-17 01:29:34.305310 0000000000000000/4378/4332 DEBUG: processing type 0 message using slot 'emit', attrs: ['source': 'srw', 'app': 'service/logging']
2014-09-17 01:29:34.305428 0000000000000000/4399/4332 DEBUG: slave 36390bc3-a85a-4b82-951c-02dac78cd9fe is committing suicide: per request, attrs: ['source': 'srw', 'app': 'app/dnet_cpp_srw_test_app']
2014-09-17 01:29:34.305498 0000000000000000/4378/4332 DEBUG: worker 36390bc3-a85a-4b82-951c-02dac78cd9fe received type 2 message, attrs: ['source': 'srw', 'app': 'app/dnet_cpp_srw_test_app']
2014-09-17 01:29:34.305814 0000000000000000/4399/4332 DEBUG: slave 41415dd3-61ea-49e5-a707-cc861be17517 has been terminated, attrs: ['source': 'srw', 'app': 'app/dnet_cpp_srw_test_app']

Cocaine-runtime v0.11 crash

We're experiencing crash of cocaine-runtime, possibly at the time of creating/restarting cocaine applications with cocaine-tool. We were not able to collect core dumps though.

Stack trace (most recent call last) in thread 67:
#19   Object "", at 0xffffffffffffffff, in 
#18   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7ff03d85acfc, in clone
#17   Object "/lib/x86_64-linux-gnu/libpthread.so.0", at 0x7ff03d3320a4, in start_thread
#16   Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7ff03ddf6dcf, in std::this_thread::__sleep_for(std::chrono::duration<long, std::ratio<1l, 1l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)
#15   Object "/usr/lib/libcocaine-core.so.2", at 0x7ff03e2d245e, in 
#14   Object "/usr/lib/x86_64-linux-gnu/libev.so.4", at 0x7ff03e051fe6, in ev_run
#13   Object "/usr/lib/x86_64-linux-gnu/libev.so.4", at 0x7ff03e04ee44, in ev_invoke_pending
#12   Object "/usr/lib/libcocaine-core.so.2", at 0x7ff03e2e14ac, in cocaine::io::readable_stream<cocaine::io::socket<cocaine::io::tcp> >::on_event(ev::io&, int)
#11   Object "/usr/lib/libcocaine-core.so.2", at 0x7ff03e2d7a36, in cocaine::io::decoder<cocaine::io::readable_stream<cocaine::io::socket<cocaine::io::tcp> > >::on_event(char const*, unsigned long)
#10   Object "/usr/lib/libcocaine-core.so.2", at 0x7ff03e2d31af, in cocaine::actor_t::on_message(int, cocaine::io::message_t const&)
#9    Object "/usr/lib/libcocaine-core.so.2", at 0x7ff03e2fbc3a, in cocaine::dispatch_t::invoke(cocaine::io::message_t const&, std::shared_ptr<cocaine::api::stream_t> const&) const
#8    Object "/usr/lib/libcocaine-core.so.2", at 0x7ff03e344752, in cocaine::io::blocking_slot<Json::Value, boost::mpl::list<std::vector<std::string, std::allocator<std::string> >, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na> >::operator()(msgpack::object const&, std::shared_ptr<cocaine::api::stream_t> const&)
#7    Object "/usr/lib/libcocaine-core.so.2", at 0x7ff03e344334, in cocaine::io::detail::result_of<std::function<Json::Value (std::vector<std::string, std::allocator<std::string> >)>, void>::type cocaine::io::detail::invoke<boost::mpl::list<std::vector<std::string, std::allocator<std::string> >, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na> >::apply<std::function<Json::Value (std::vector<std::string, std::allocator<std::string> >)> >(std::function<Json::Value (std::vector<std::string, std::allocator<std::string> >)> const&, msgpack::object const&)
#6    Object "/usr/lib/libcocaine-core.so.2", at 0x7ff03e341373, in std::_Function_handler<Json::Value (std::vector<std::string, std::allocator<std::string> >), std::_Bind<std::_Mem_fn<Json::Value (cocaine::service::node_t::*)(std::vector<std::string, std::allocator<std::string> > const&)> (cocaine::service::node_t*, std::_Placeholder<1>)> >::_M_invoke(std::_Any_data const&, std::vector<std::string, std::allocator<std::string> >)
#5    Object "/usr/lib/libcocaine-core.so.2", at 0x7ff03e3402de, in cocaine::service::node_t::on_pause_app(std::vector<std::string, std::allocator<std::string> > const&)
#4    Object "/usr/lib/libcocaine-core.so.2", at 0x7ff03e2e3eef, in cocaine::app_t::stop()
#3    Object "/usr/lib/libcocaine-core.so.2", at 0x7ff03e2f1305, in cocaine::context_t::detach(std::string const&)
#2    Object "/usr/lib/libcocaine-core.so.2", at 0x7ff03e31d142, in cocaine::locator_t::detach(std::string const&)
#1    Object "/usr/lib/libcocaine-core.so.2", at 0x7ff03e2d326a, in cocaine::actor_t::location() const

Versions:

dpkg -l | grep cocaine
ii  cocaine-framework-native             0.11.1.4                         amd64        Cocaine - Native Framework
ii  cocaine-framework-python             0.11.1.12                        amd64        Cocaine - Python Framework
ii  cocaine-runtime                      0.11.3.2                         amd64        Cocaine - Runtime
ii  cocaine-tools                        0.11.7.5                         amd64        Cocaine - Toolset
ii  libcocaine-core2                     0.11.3.2                         amd64        Cocaine - Core Libraries
ii  libcocaine-plugin-cache2             0.11.4.2                         amd64        Cocaine - Cache Service
ii  libcocaine-plugin-chrono2            0.11.4.2                         amd64        Cocaine - Chrono Service
ii  libcocaine-plugin-docker2            0.11.4.2                         amd64        Cocaine - Docker Isolation
ii  libcocaine-plugin-elasticsearch2     0.11.4.2                         amd64        Cocaine - Elasticsearch Client Service
ii  libcocaine-plugin-elliptics          2.26.9.3                         amd64        Distributed hash table storage (cocaine plugin)
ii  libcocaine-plugin-ipvs2              0.11.4.2                         amd64        Cocaine - IPVS Gateway
ii  libcocaine-plugin-logstash2          0.11.4.2                         amd64        Cocaine - Logstash Logger
ii  libcocaine-plugin-urlfetch2          0.11.4.2                         amd64        Cocaine - URLFetch Service

Cmake should check libasio-dev

include/cocaine/detail/actor.hpp:28:31: fatal error: asio/io_service.hpp: No such file or directory
#include <asio/io_service.hpp>
^
compilation terminated.

cmake can not find msgpack

The latest msgpack has been installed in /usr/local/lib and /usr/local/include, although, cmake can not find it.

cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_C_FLAGS=-I/usr/local/include .. 
CMake Error at CMakeLists.txt:21 (INCLUDE):
  include could not find load file:

    foreign/modules/AddCXXCompilerFlag.cmake


-- Boost version: 1.63.0
-- Found the following Boost libraries:
--   filesystem
--   program_options
--   system
--   thread
CMake Error at cmake/locate_library.cmake:13 (MESSAGE):
  libmsgpack development files are required to build.
Call Stack (most recent call first):
  CMakeLists.txt:35 (LOCATE_LIBRARY)


-- Configuring incomplete, errors occurred!

i386 + gcc 4.6 build is broken

default i386 ubuntu 12.04 can't compile it without removing '-Werror'

/usr/bin/g++   -Dcocaine_core_EXPORTS -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -Wall -fPIC -I/home/user/elliptics/cocaine-core/include -I/home/user/elliptics/cocaine-core/foreign/cppzmq -I/home/user/elliptics/cocaine-core/foreign/backward-cpp -I/home/user/elliptics/cocaine-core/foreign/jsoncpp-0.6.0-rc2/include    -std=c++0x -W -Wall -Werror -pedantic -o CMakeFiles/cocaine-core.dir/src/essentials/services/logging.cpp.o -c /home/user/elliptics/cocaine-core/src/essentials/services/logging.cpp
In file included from /home/user/elliptics/cocaine-core/include/cocaine/dispatch.hpp:25:0,
                 from /home/user/elliptics/cocaine-core/include/cocaine/api/service.hpp:25,
                 from /home/user/elliptics/cocaine-core/include/cocaine/essentials/services/logging.hpp:24,
                 from /home/user/elliptics/cocaine-core/src/essentials/services/logging.cpp:21:
/home/user/elliptics/cocaine-core/include/cocaine/slot.hpp: In static member function 'static typename cocaine::detail::result_of<F>::type cocaine::invoke<Sequence>::apply(const F&, const msgpack::object&) [with F = std::function<cocaine::logging::priorities()>, Sequence = boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, typename cocaine::detail::result_of<F>::type = cocaine::logging::priorities]':
/home/user/elliptics/cocaine-core/include/cocaine/slot.hpp:180:9:   instantiated from 'void cocaine::blocking_slot<R, Sequence>::operator()(const stream_ptr_t&, const msgpack::object&) [with R = cocaine::logging::priorities, Sequence = boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, cocaine::api::stream_ptr_t = std::shared_ptr<cocaine::api::stream_t>]'
/home/user/elliptics/cocaine-core/src/essentials/services/logging.cpp:42:1:   instantiated from here
/home/user/elliptics/cocaine-core/include/cocaine/slot.hpp:104:9: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
/home/user/elliptics/cocaine-core/include/cocaine/slot.hpp: In static member function 'static typename cocaine::detail::result_of<F>::type cocaine::invoke<Sequence>::apply(const F&, const msgpack::object&) [with F = std::function<void(cocaine::logging::priorities, std::basic_string<char>, std::basic_string<char>)>, Sequence = boost::mpl::list<cocaine::logging::priorities, std::basic_string<char>, std::basic_string<char> >, typename cocaine::detail::result_of<F>::type = void]':
/home/user/elliptics/cocaine-core/include/cocaine/slot.hpp:212:9:   instantiated from 'void cocaine::blocking_slot<void, Sequence>::operator()(const stream_ptr_t&, const msgpack::object&) [with Sequence = boost::mpl::list<cocaine::logging::priorities, std::basic_string<char>, std::basic_string<char> >, cocaine::api::stream_ptr_t = std::shared_ptr<cocaine::api::stream_t>]'
/home/user/elliptics/cocaine-core/src/essentials/services/logging.cpp:42:1:   instantiated from here
/home/user/elliptics/cocaine-core/include/cocaine/slot.hpp:104:9: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]

Can not build v0.11 on Fedora19

/usr/bin/c++ -Dcocaine_core_EXPORTS -O2 -g -fPIC -I/home/zbr/rpmbuild/BUILD/libcocaine-core2-0.11.2.3/include -I/home/zbr/rpmbuild/BUILD/libcocaine-core2-0.11.2.3/foreign/backward-cpp -I/home/zbr/rpmbuild/BUILD/libcocaine-core2-0.11.2.3/foreign/jsoncpp-0.6.0-rc2/include -I/usr/include/libev -std=c++0x -W -Wall -Werror -pedantic -o CMakeFiles/cocaine-core.dir/src/drivers/fs.cpp.o -c /home/zbr/rpmbuild/BUILD/libcocaine-core2-0.11.2.3/src/drivers/fs.cpp
In file included from /home/zbr/rpmbuild/BUILD/libcocaine-core2-0.11.2.3/include/cocaine/detail/actor.hpp:24:0,
from /home/zbr/rpmbuild/BUILD/libcocaine-core2-0.11.2.3/src/actor.cpp:21:
/home/zbr/rpmbuild/BUILD/libcocaine-core2-0.11.2.3/include/cocaine/common.hpp:52:16: error: operator '||' has no left operand
#if HAVE_GCC47 || TARGET_OS_MAC
^
In file included from /home/zbr/rpmbuild/BUILD/libcocaine-core2-0.11.2.3/include/cocaine/app.hpp:24:0,
from /home/zbr/rpmbuild/BUILD/libcocaine-core2-0.11.2.3/src/app.cpp:21:
/home/zbr/rpmbuild/BUILD/libcocaine-core2-0.11.2.3/include/cocaine/common.hpp:52:16: error: operator '||' has no left operand
#if HAVE_GCC47 || TARGET_OS_MAC
^

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.3/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-isl=/builddir/build/BUILD/gcc-4.8.3-20140624/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.3-20140624/obj-x86_64-redhat-linux/cloog-install --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.3 20140624 (Red Hat 4.8.3-1) (GCC)

$ git branch -v | grep v0.11

  • v0.11 399ce63 Merge pull request #124 from diunko/feature/hostname-option

Project status?

I really want to use this framework in my infrastructure, but I need some more informations about the future of this project. Is there any roadmap and planned development for Cocaine?

Zombies on Ubuntu 12.04

Hi!

At last, I'm reporting this bug =) I've promissed it since Yandex GoLang Meetup...

Cocaine leaves zombie processes after stopping application.
OS Ubuntu 12.04, Cocaine 0.11.1.0 or 0.11.2.0 (reproduced on both)

How to reproduce:

  1. Start cocaine application (for example, Echo-application).
  2. Make a call to start a worker.
    check ps aux | grep python and findout it has been started...
  3. If worker is closed automatically (after 10 minutes timeout of inactivity), everything is fine!
    But if make cocaine-tool app stop -n <name> than check ps aux | grep python - it will return something like this:
ps aux | grep python
cocaine   4280  0.9  0.0      0     0 ?        Z    20:16   0:00 [python] <defunct>
ikorolev  4318  0.0  0.0   8112   928 pts/1    S+   20:16   0:00 grep python

After that, every shutdown worker (doesn't matter, was it closed manually or automatically) stays in system as zombie.

This is reproduced not only if having Python workers, but also Native.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.