Coder Social home page Coder Social logo

lunastorm / wissbi Goto Github PK

View Code? Open in Web Editor NEW
13.0 3.0 0.0 4.91 MB

Wissbi is a toolset for distributed event processing

Home Page: http://lunastorm.github.io/wissbi/

License: MIT License

Python 0.10% C 1.16% C++ 98.06% Shell 0.58% CSS 0.06% Perl 0.01% XSLT 0.04%

wissbi's Introduction

Tested Build Environment

  • Ubuntu 12.04 with gcc 4.6.3 and cmake 2.8.7

Build Steps

Binaries

make

The output binaries will be put under tmp/build

Testing

make test

The JUnit testing result compatible xml files will be put under output/test

Debian Package

make deb

The debian package will be put under output/artifacts

Installation

  • You can run dpkg -i [debian package name] to install it to system or
  • simply run make install

Usage

wissbi-sub test

This will launch a subscriber listening messages from a source named "test", and write the messages to stdout.

Now you can start a new terminal session and execute:

echo "hello world" | wissbi-pub test

You can see the message "hello world" appeared in the subscriber's terminal.

Press Ctrl+c to exit wissbi-sub

See https://github.com/lunastorm/wissbi/wiki/Usage for detailed usage guide.

Administration

See https://github.com/lunastorm/wissbi/wiki/Administration for detailed administration guide.

wissbi's People

Contributors

lunastorm avatar

Stargazers

Pavel Kosov avatar LY Cheng avatar  avatar Jui-Shan Liang (Jenny) avatar  avatar  avatar Howard avatar Doro Wu avatar Dan Chen avatar Keith Yang avatar Tse-Ching Ho avatar Yu-han Lin avatar Kenneth Ho avatar

Watchers

Kenneth Ho avatar James Cloos avatar  avatar

wissbi's Issues

wissbi-sub randomly segfaults on exit

version: SHA: 24eaf0a

ways to reproduce:

  1. run wissbi-pub and write massive amount of messages
  2. run wissbi-sub to retrive the messages for a while, and then ctrl-c to exit

stack trace:

(gdb) t 1
[Switching to thread 1 (Thread 0x7fa12035e700 (LWP 8755))]
#0  0x0000000000435ea4 in ?? ()
(gdb) bt
#0  0x0000000000435ea4 in ?? ()
#1  0x0000000000431f89 in std::function<bool (bool, wissbi::msg_buf&)>::operator()(bool, wissbi::msg_buf&) const (this=0x7fffbe23cc60, __args#0=false, __args#1=...)
    at /usr/include/c++/4.6/functional:2161
#2  0x0000000000430e73 in wissbi::MsgFilter<wissbi::io_policy::SysvMq, wissbi::io_policy::Line>::Filter (this=0x7fffbe23bbe0) at /home/lunastorm/wissbi/src/msg_filter.hpp:44
#3  0x000000000042ffd7 in wissbi::MsgFilter<wissbi::io_policy::SysvMq, wissbi::io_policy::Line>::FilterLoop (this=0x7fffbe23bbe0) at /home/lunastorm/wissbi/src/msg_filter.hpp:48
#4  0x000000000042ae0b in operator() (this=0x1d745a8)
    at /home/lunastorm/wissbi/src/sub.cpp:58
#5  0x0000000000435b8d in std::_Bind_result<void, void run_sub<wissbi::MsgFilter<wissbi::io_policy::SysvMq, wissbi::io_policy::Line> >(std::string const&, bool)::{lambda()#1} ()>::__call<void>(std::tuple<>&&, std::_Index_tuple<>, void run_sub<wissbi::MsgFilter<wissbi::io_policy::SysvMq, wissbi::io_policy::Line> >(std::string const&, bool)::{lambda()#1} ()::__enable_if_void<void>::type) (this=0x1d745a8, __args=...) at /usr/include/c++/4.6/functional:1287
#6  0x0000000000435a81 in std::_Bind_result<void, void run_sub<wissbi::MsgFilter<wissbi::io_policy::SysvMq, wissbi::io_policy::Line> >(std::string const&, bool)::{lambda()#1} ()>::operator()<>() (this=0x1d745a8) at /usr/include/c++/4.6/functional:1378
#7  0x00000000004356be in std::thread::_Impl<std::_Bind_result<void, void run_sub<wissbi::MsgFilter<wissbi::io_policy::SysvMq, wissbi::io_policy::Line> >(std::string const&, bool)::{lambda()#1} ()> >::_M_run() (this=0x1d74590) at /usr/include/c++/4.6/thread:117
#8  0x00007fa1216a6c78 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x00007fa121941e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007fa1211594bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#11 0x0000000000000000 in ?? ()

(gdb) t 2
[Switching to thread 2 (Thread 0x7fa121d6a740 (LWP 8753))]
#0  0x00007fa12114c11d in write () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007fa12114c11d in write () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fa1210e0313 in _IO_file_write () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007fa1210e01da in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007fa1210e0c8e in _IO_file_xsputn () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x00007fa1210d676d in fwrite () from /lib/x86_64-linux-gnu/libc.so.6
#5  0x00007fa1216ce055 in std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007fa1216ce2ef in std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x000000000042a79e in wissbi::logger::log (msg=...)
    at /home/lunastorm/wissbi/src/logger.hpp:63
#8  0x000000000042ac66 in main (argc=2, argv=0x7fffbe23d068)
    at /home/lunastorm/wissbi/src/sub.cpp:135

(gdb) t 3
[Switching to thread 3 (Thread 0x7fa11fb5d700 (LWP 8757))]
#0  0x00007fa12115b4a3 in msgsnd () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007fa12115b4a3 in msgsnd () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x000000000042ba96 in wissbi::io_policy::SysvMq::Put (this=0x7fa11fb5bd40, msg=...)
    at /home/lunastorm/wissbi/src/io_policy/sysv_mq.hpp:49
#2  0x0000000000431221 in wissbi::MsgFilter<wissbi::io_policy::TCP, wissbi::io_policy::SysvMq>::Filter (this=0x7fa11fb5bd30) at /home/lunastorm/wissbi/src/msg_filter.hpp:43
#3  0x0000000000430321 in wissbi::MsgFilter<wissbi::io_policy::TCP, wissbi::io_policy::SysvMq>::FilterLoop (this=0x7fa11fb5bd30) at /home/lunastorm/wissbi/src/msg_filter.hpp:48
#4  0x000000000042aee9 in operator() (this=0x1d74ad8)
    at /home/lunastorm/wissbi/src/sub.cpp:92
#5  0x0000000000435b6b in std::_Bind_result<void, void run_sub<wissbi::MsgFilter<wissbi::io_policy::SysvMq, wissbi::io_policy::Line> >(std::string const&, bool)::{lambda()#2} ()>::__call<void>(std::tuple<>&&, std::_Index_tuple<>, void run_sub<wissbi::MsgFilter<wissbi::io_policy::SysvMq, wissbi::io_policy::Line> >(std::string const&, bool)::{lambda()#2} ()::__enable_if_void<void>::type) (this=0x1d74ad8, __args=...) at /usr/include/c++/4.6/functional:1287
#6  0x0000000000435a4d in std::_Bind_result<void, void run_sub<wissbi::MsgFilter<wissbi::io_policy::SysvMq, wissbi::io_policy::Line> >(std::string const&, bool)::{lambda()#2} ()>::operator()<>() (this=0x1d74ad8) at /usr/include/c++/4.6/functional:1378
#7  0x00000000004356a0 in std::thread::_Impl<std::_Bind_result<void, void run_sub<wissbi::MsgFilter<wissbi::io_policy::SysvMq, wissbi::io_policy::Line> >(std::string const&, bool)::{lambda()#2} ()> >::_M_run() (this=0x1d74ac0) at /usr/include/c++/4.6/thread:117
#8  0x00007fa1216a6c78 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x00007fa121941e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007fa1211594bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#11 0x0000000000000000 in ?? ()

(gdb) t 4
[Switching to thread 4 (Thread 0x7fa120b5f700 (LWP 8754))]
#0  0x00007fa12194952d in nanosleep () from /lib/x86_64-linux-gnu/libpthread.so.0
(gdb) bt
#0  0x00007fa12194952d in nanosleep () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x000000000042c6f1 in std::this_thread::sleep_for<long, std::ratio<1l, 1000l> > (
    __rtime=...) at /usr/include/c++/4.6/thread:286
#2  0x000000000042b55c in wissbi::io_policy::IOStreamBase::auto_flush()::{lambda()#1}::operator()() const (this=0x1d74428) at /home/lunastorm/wissbi/src/io_policy/iostream_base.hpp:26
#3  0x0000000000435baf in std::_Bind_result<void, wissbi::io_policy::IOStreamBase::auto_flush()::{lambda()#1} ()>::__call<void>(std::tuple<>&&, std::_Index_tuple<>, wissbi::io_policy::IOStreamBase::auto_flush()::{lambda()#1} ()::__enable_if_void<void>::type) (this=0x1d74428, 
    __args=...) at /usr/include/c++/4.6/functional:1287
#4  0x0000000000435ab5 in std::_Bind_result<void, wissbi::io_policy::IOStreamBase::auto_flush()::{lambda()#1} ()>::operator()<>() (this=0x1d74428) at /usr/include/c++/4.6/functional:1378
#5  0x00000000004356dc in std::thread::_Impl<std::_Bind_result<void, wissbi::io_policy::IOStreamBase::auto_flush()::{lambda()#1} ()> >::_M_run() (this=0x1d74410)
    at /usr/include/c++/4.6/thread:117
#6  0x00007fa1216a6c78 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007fa121941e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007fa1211594bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#9  0x0000000000000000 in ?? ()

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.