Trying this I noticed a few things (ordered by urgency from my point of 
view).

With this change, we Bro cannot be compiled out of the Box on 
RedHat/Centos 7 anymore. Since that is the latest release of RedHat and 
probably used in production by quite a few people a potentially 
significant amount of people might not be able to (easily) compile Bro 
with this merge.

It aborts in configure, with:

-- Performing Test cxx11_header_works - Success
CMake Error at aux/broker/CMakeLists.txt:4 (cmake_minimum_required):
   CMake 3.0.2 or higher is required.  You are running version 2.8.12.2

--snip

Compiling on Debian 8 gives some CAF warnings that are a tad ugly:

In file included from 
/root/bro/aux/broker/3rdparty/caf/libcaf_core/caf/serializer.hpp:32:0,
                  from 
/root/bro/aux/broker/3rdparty/caf/libcaf_core/caf/detail/tuple_vals.hpp:25,
                  from 
/root/bro/aux/broker/3rdparty/caf/libcaf_core/caf/make_message.hpp:28,
                  from 
/root/bro/aux/broker/3rdparty/caf/libcaf_core/caf/mailbox_element.hpp:27,
                  from 
/root/bro/aux/broker/3rdparty/caf/libcaf_core/caf/abstract_actor.hpp:37,
                  from 
/root/bro/aux/broker/3rdparty/caf/libcaf_core/caf/actor.hpp:32,
                  from /root/bro/aux/broker/broker/data.hh:11,
                  from /root/bro/aux/broker/broker/broker.hh:8,
                  from /root/bro/src/broker/Data.h:4,
                  from /root/bro/src/broker/Data.cc:1:
/root/bro/aux/broker/3rdparty/caf/libcaf_core/caf/data_processor.hpp: In 
function ‘typename std::enable_if<std::is_same<caf::error, decltype 
(declval<caf::deserializer&>().caf::data_processor<caf::deserializer>::apply(declval<T&>()))>::value>::type
 
caf::operator&(caf::deserializer&, T&) [with T = 
std::chrono::time_point<std::chrono::_V2::system_clock, 
std::chrono::duration<long int, std::ratio<1l, 1000000000l> > >; 
typename std::enable_if<std::is_same<caf::error, decltype 
(declval<caf::deserializer&>().caf::data_processor<caf::deserializer>::apply(declval<T&>()))>::value>::type
 
= void]’:
/root/bro/aux/broker/3rdparty/caf/libcaf_core/caf/data_processor.hpp:478:7: 
warning: ‘dur’ may be used uninitialized in this function 
[-Wmaybe-uninitialized]
        t = std::chrono::time_point<std::chrono::system_clock, 
Duration>{dur};
        ^
/root/bro/aux/broker/3rdparty/caf/libcaf_core/caf/data_processor.hpp:476:16: 
note: ‘dur’ was declared here
        Duration dur;
                 ^
--snip

/root/bro/aux/broker/3rdparty/caf/libcaf_core/src/scheduled_actor.cpp:892:55: 
warning: unused parameter ‘sender’ [-Wunused-parameter]
                                            actor_addr& sender,

--snip

I noticed one small thing while building with make -j4; in this case you 
get several different % numbers simultaneously (one for car and one for 
broker).

Example:

[ 25%] Built target plugin-Bro-BackDoor
[ 25%] Building CXX object 
src/analyzer/protocol/bittorrent/CMakeFiles/plugin-Bro-BitTorrent.dir/bittorrent_pac.cc.o
[ 85%] Building CXX object 
libcaf_io/CMakeFiles/libcaf_io_shared.dir/src/interfaces.cpp.o
[ 25%] Building CXX object 
src/analyzer/protocol/bittorrent/CMakeFiles/plugin-Bro-BitTorrent.dir/events.bif.cc.o

While this is obviously cosmetic, it still looks weird to me :).

Apart from that it compiled and ran all tests on all systems I tried it 
on.

There were a few test failures on the first run (that succeeded on a 
rerun) though.

These were (from different systems):
MacOs:
[ 76%] scripts.base.frameworks.logging.field-extension-cluster ... 
failed
[ 21%] broker.disconnect ... failed
[ 56%] broker.ssl_auth_failure ... failed
[ 89%] scripts.base.frameworks.control.shutdown ... failed
[ 99%] scripts.base.frameworks.openflow.log-cluster ... failed

There were also a couple that did not succeed after several reruns for 
me. This was on a digital ocean 4cpu optimized debian8 instance for me; 
the reruns were not parallel:

root@debian-c-4-8gib-sfo2-01:~/bro/testing/btest# ../../aux/btest/btest 
-r -d
[  0%] scripts.base.frameworks.control.configuration_update ... failed
   % 'btest-bg-wait 10' failed unexpectedly (exit code 1)
   % cat .stderr
   The following processes did not terminate:

   
BROPATH=.:/root/bro/scripts:/root/bro/scripts/policy:/root/bro/scripts/site:/root/bro/build/scripts:..
 
bro 
/root/bro/testing/btest/.tmp/scripts.base.frameworks.control.configuration_update/configuration_update.bro
 
frameworks/control/controller Control::host=127.0.0.1 
Control::host_port=65531/tcp Control::cmd=shutdown

   -----------
   <<< [15700] 
BROPATH=.:/root/bro/scripts:/root/bro/scripts/policy:/root/bro/scripts/site:/root/bro/build/scripts:..
 
bro 
/root/bro/testing/btest/.tmp/scripts.base.frameworks.control.configuration_update/configuration_update.bro
 
frameworks/control/controllee Broker::default_port=65531/tcp
   <params>, line 1: received termination signal
  >>>
   <<< [15738] 
BROPATH=.:/root/bro/scripts:/root/bro/scripts/policy:/root/bro/scripts/site:/root/bro/build/scripts:..
 
bro 
/root/bro/testing/btest/.tmp/scripts.base.frameworks.control.configuration_update/configuration_update.bro
 
test-redef frameworks/control/controller Control::host=127.0.0.1 
Control::host_port=65531/tcp Control::cmd=configuration_update
   /root/bro/scripts/policy/frameworks/control/controller.bro, line 136: 
Control framework sent 330 IDs
   <params>, line 1: received termination signal
  >>>
   <<< [15779] 
BROPATH=.:/root/bro/scripts:/root/bro/scripts/policy:/root/bro/scripts/site:/root/bro/build/scripts:..
 
bro 
/root/bro/testing/btest/.tmp/scripts.base.frameworks.control.configuration_update/configuration_update.bro
 
frameworks/control/controller Control::host=127.0.0.1 
Control::host_port=65531/tcp Control::cmd=shutdown
   <params>, line 1: received termination signal
  >>>

[ 20%] scripts.base.frameworks.control.id_value ... failed
   % 'btest-diff controller/.stdout' failed unexpectedly (exit code 1)
   % cat .diag
   == File ===============================
   == Diff ===============================
   --- /tmp/test-diff.15967.controller..stdout.baseline.tmp     2018-04-26 
19:02:46.156000000 +0000
   +++ /tmp/test-diff.15967.controller..stdout.tmp      2018-04-26 
19:02:46.156000000 +0000
   @@ -1 +0,0 @@
   -Got an id_value_response(test_var, This is the value from the 
controllee) event
   =======================================

   % cat .stderr
   <<< [15865] 
BROPATH=.:/root/bro/scripts:/root/bro/scripts/policy:/root/bro/scripts/site:/root/bro/build/scripts:..
 
bro 
/root/bro/testing/btest/.tmp/scripts.base.frameworks.control.id_value/id_value.bro
 
only-for-controllee frameworks/control/controllee 
Broker::default_port=65532/tcp
   <params>, line 1: received termination signal
  >>>
   <<< [15893] 
BROPATH=.:/root/bro/scripts:/root/bro/scripts/policy:/root/bro/scripts/site:/root/bro/build/scripts:..
 
bro 
/root/bro/testing/btest/.tmp/scripts.base.frameworks.control.id_value/id_value.bro
 
frameworks/control/controller Control::host=127.0.0.1 
Control::host_port=65532/tcp Control::cmd=id_value Control::arg=test_var
   <params>, line 1: received termination signal
  >>>

[ 60%] scripts.base.frameworks.intel.remove-item-cluster ... failed
   % 'TEST_DIFF_CANONIFIER=$SCRIPTS/diff-sort btest-diff 
worker-1/.stdout' failed unexpectedly (exit code 1)
   % cat .diag
   == File ===============================
   Purging 192.168.0.1.
   Purging 192.168.0.2.
   Removing 192.168.1.2 (source: source1).
   Removing 192.168.1.2 (source: source2).
   == Diff ===============================
   --- /tmp/test-diff.16234.worker-1..stdout.baseline.tmp       2018-04-26 
19:02:50.396000000 +0000
   +++ /tmp/test-diff.16234.worker-1..stdout.tmp        2018-04-26 
19:02:50.404000000 +0000
   @@ -1,6 +1,5 @@
    ### NOTE: This file has been sorted with diff-sort.
    Purging 192.168.0.1.
    Purging 192.168.0.2.
   -Purging 192.168.1.2.
    Removing 192.168.1.2 (source: source1).
    Removing 192.168.1.2 (source: source2).
   =======================================

   % cat .stderr
   <<< [16113] 
BROPATH=.:/root/bro/scripts:/root/bro/scripts/policy:/root/bro/scripts/site:/root/bro/build/scripts:..
 
CLUSTER_NODE=manager-1 bro 
/root/bro/testing/btest/.tmp/scripts.base.frameworks.intel.remove-item-cluster/remove-item-cluster.bro
   received termination signal
  >>>
   <<< [16142] 
BROPATH=.:/root/bro/scripts:/root/bro/scripts/policy:/root/bro/scripts/site:/root/bro/build/scripts:..
 
CLUSTER_NODE=worker-1 bro 
/root/bro/testing/btest/.tmp/scripts.base.frameworks.intel.remove-item-cluster/remove-item-cluster.bro
   received termination signal
  >>>

[ 80%] scripts.base.frameworks.logging.field-extension-cluster ... 
failed
   % 'btest-diff manager-1/http.log' failed unexpectedly (exit code 1)
   % cat .diag
   == File ===============================
   #separator \x09
   #set_separator       ,
   #empty_field (empty)
   #unset_field -
   #path        http
   #open        2018-04-26-19-02-54
   #fields      _write_ts       _stream _system_name    ts      uid     
id_orig_h       id_orig_p       id_resp_h       id_resp_p       trans_depth     
method  host    uri     referrer        version user_agent      
request_body_len        response_body_len       status_code     status_msg      
info_code       info_msg        tags    username        password        proxied 
orig_fuids      orig_filenames  orig_mime_types resp_fuids      resp_filenames  
resp_mime_types
   #types       time    string  string  time    string  addr    port    addr    
port    count   string  string  string  string  string  string  count   count   
count   string  count   string  set[enum]       string  string  set[string]     
vector[string]  vector[string]  vector[string]  vector[string]  vector[string]  
vector[string]
   1524769374.222098    http    worker-1        1524769374.162224       
CUM0KZ3MLUfNB0cl11      141.142.220.118 48649   208.80.152.118  80      1       
GET     bits.wikimedia.org      /skins-1.5/monobook/main.css    
http://www.wikipedia.org/       1.1     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   #close       2018-04-26-19-03-00
   == Diff ===============================
   --- /tmp/test-diff.16396.manager-1.http.log.baseline.tmp     2018-04-26 
19:03:00.504000000 +0000
   +++ /tmp/test-diff.16396.manager-1.http.log.tmp      2018-04-26 
19:03:00.508000000 +0000
   @@ -7,17 +7,4 @@
    #fields     _write_ts       _stream _system_name    ts      uid     
id_orig_h       id_orig_p       id_resp_h       id_resp_p       trans_depth     
method  host    uri     referrer        version user_agent      
request_body_len        response_body_len       status_code     status_msg      
info_code       info_msg        tags    username        password        proxied 
orig_fuids      orig_filenames  orig_mime_types resp_fuids      resp_filenames  
resp_mime_types
    #types      time    string  string  time    string  addr    port    addr    
port    count   string  string  string  string  string  string  count   count   
count   string  count   string  set[enum]       string  string  set[string]     
vector[string]  vector[string]  vector[string]  vector[string]  vector[string]  
vector[string]
    XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
CUM0KZ3MLUfNB0cl11      141.142.220.118 48649   208.80.152.118  80      1       
GET     bits.wikimedia.org      /skins-1.5/monobook/main.css    
http://www.wikipedia.org/       1.1     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   -XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
CwjjYJ2WqgTbAqiHl6      141.142.220.118 49997   208.80.152.3    80      1       
GET     upload.wikimedia.org    /wikipedia/commons/6/63/Wikipedia-logo.png      
http://www.wikipedia.org/       1.0     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   -XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
C3eiCBGOLw3VtHfOj       141.142.220.118 49996   208.80.152.3    80      1       
GET     upload.wikimedia.org    
/wikipedia/commons/thumb/b/bb/Wikipedia_wordmark.svg/174px-Wikipedia_wordmark.svg.png
   http://www.wikipedia.org/       1.0     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   -XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
Ck51lg1bScffFj34Ri      141.142.220.118 49998   208.80.152.3    80      1       
GET     upload.wikimedia.org    /wikipedia/commons/b/bd/Bookshelf-40x201_6.png  
http://www.wikipedia.org/       1.0     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   -XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
CtxTCR2Yer0FR1tIBg      141.142.220.118 50000   208.80.152.3    80      1       
GET     upload.wikimedia.org    
/wikipedia/commons/thumb/8/8a/Wikinews-logo.png/35px-Wikinews-logo.png  
http://www.wikipedia.org/       1.0     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   -XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
CykQaM33ztNt0csB9a      141.142.220.118 49999   208.80.152.3    80      1       
GET     upload.wikimedia.org    
/wikipedia/commons/4/4a/Wiktionary-logo-en-35px.png     
http://www.wikipedia.org/       1.0     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   -XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
CLNN1k2QMum1aexUK7      141.142.220.118 50001   208.80.152.3    80      1       
GET     upload.wikimedia.org    
/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/35px-Wikiquote-logo.svg.png    
http://www.wikipedia.org/       1.0     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   -XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
CiyBAq1bBLNaTiTAc       141.142.220.118 35642   208.80.152.2    80      1       
GET     meta.wikimedia.org      /images/wikimedia-button.png    
http://www.wikipedia.org/       1.0     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   -XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
CwjjYJ2WqgTbAqiHl6      141.142.220.118 49997   208.80.152.3    80      2       
GET     upload.wikimedia.org    
/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/35px-Wikibooks-logo.svg.png    
http://www.wikipedia.org/       1.0     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   -XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
C3eiCBGOLw3VtHfOj       141.142.220.118 49996   208.80.152.3    80      2       
GET     upload.wikimedia.org    
/wikipedia/commons/thumb/d/df/Wikispecies-logo.svg/35px-Wikispecies-logo.svg.png
        http://www.wikipedia.org/       1.0     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   -XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
Ck51lg1bScffFj34Ri      141.142.220.118 49998   208.80.152.3    80      2       
GET     upload.wikimedia.org    
/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/35px-Wikisource-logo.svg.png  
http://www.wikipedia.org/       1.0     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   -XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
CtxTCR2Yer0FR1tIBg      141.142.220.118 50000   208.80.152.3    80      2       
GET     upload.wikimedia.org    
/wikipedia/commons/thumb/4/4a/Commons-logo.svg/35px-Commons-logo.svg.png        
http://www.wikipedia.org/       1.0     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   -XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
CykQaM33ztNt0csB9a      141.142.220.118 49999   208.80.152.3    80      2       
GET     upload.wikimedia.org    
/wikipedia/commons/thumb/9/91/Wikiversity-logo.svg/35px-Wikiversity-logo.svg.png
        http://www.wikipedia.org/       1.0     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
   -XXXXXXXXXX.XXXXXX   http    worker-1        XXXXXXXXXX.XXXXXX       
CLNN1k2QMum1aexUK7      141.142.220.118 50001   208.80.152.3    80      2       
GET     upload.wikimedia.org    
/wikipedia/commons/thumb/7/75/Wikimedia_Community_Logo.svg/35px-Wikimedia_Community_Logo.svg.png
        http://www.wikipedia.org/       1.0     Mozilla/5.0 
(X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 
(lucid) Firefox/3.6.15  0       0       304     Not 
Modified        -       -       (empty) -       -       -       -       -       
-       -       -       -
    #close XXXX-XX-XX-XX-XX-XX
   =======================================

   % cat .stderr
   <<< [16284] cp ../cluster-layout.bro . && CLUSTER_NODE=manager-1 bro 
/root/bro/testing/btest/.tmp/scripts.base.frameworks.logging.field-extension-cluster/field-extension-cluster.bro
   received termination signal
  >>>
   <<< [16325] cp ../cluster-layout.bro . && CLUSTER_NODE=worker-1 bro 
--pseudo-realtime -C -r /root/bro/testing/btest/Traces/wikipedia.trace 
/root/bro/testing/btest/.tmp/scripts.base.frameworks.logging.field-extension-cluster/field-extension-cluster.bro
  >>>

Johanna


On 26 Apr 2018, at 8:16, Jon Siwek wrote:

> The latest version of the new Broker-ized cluster/communication system
> for Bro in 'topic/actor-system' branch is wrapping up and, in my
> opinion, ready to be merged into Bro's 'master' branch.
>
> However, since it's such a big change, I'd like a last round of 
> feedback
> before merging.  If you want to test, the build process should now be 
> as
> simple as:
>
> $ git clone --recursive --branch=topic/actor-system 
> git://git.bro.org/bro
> $ cd bro && ./configure && make
>
> Configuring BroControl is not any different from before.
>
> If you had custom scripts, they may require porting.  There's a guide
> and examples for that at [1] and [2] (hyperlinks in those docs will
> render more nicely when it's up on bro.org).
>
> Though, for this round of testing, I'd be most interested just in any
> general stability issues or major feature breakages from a vanilla Bro
> installation.  Mild performance issues, minor bugs, or other issues w/
> porting custom scripts are things I think we can iron out even after
> merging into 'master'.
>
> - Jon
>
> [1]
> https://github.com/bro/bro/blob/topic/actor-system/doc/frameworks/broker.rst
> [2] 
> https://github.com/bro/bro/tree/topic/actor-system/doc/frameworks/broker
> _______________________________________________
> bro-dev mailing list
> bro-dev@bro.org
> http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev

_______________________________________________
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev

Reply via email to