[Bro-Dev] [JIRA] (BIT-635) Test to crash proxies

Johanna Amann (JIRA) jira at bro-tracker.atlassian.net
Mon Oct 19 13:23:00 PDT 2015


     [ https://bro-tracker.atlassian.net/browse/BIT-635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Johanna Amann updated BIT-635:
------------------------------
    Resolution: Won't Fix
        Status: Closed  (was: Open)

Closing - we are moving away from the current communication scheme - and this has not been touched for 4 years.

> Test to crash proxies
> ---------------------
>
>                 Key: BIT-635
>                 URL: https://bro-tracker.atlassian.net/browse/BIT-635
>             Project: Bro Issue Tracker
>          Issue Type: Problem
>          Components: Bro
>            Reporter: Seth Hall
>
> I have a btest test that can reliably crash proxies (on my laptop at least).  I'm not assigning this to the next release though because it just seems to be a case of filling the pipe between the parent and child and not the weird "poll 101" crash that is occasionally seen in some cases, I'm still trying to create a test to cause that crash.
> Here's the error you get from btest from each proxy since each proxy in the test crashes with the same message::
> {noformat}
>   error: parent: 1317739862.781639 fatal error, shutting down communication: Resource temporarily unavailable [35]
>   error: parent: 1317739862.781754 fatal error, shutting down communication: Resource temporarily unavailable [35]
>   error: parent: 1317739862.781775 fatal error, shutting down communication: Resource temporarily unavailable [35]
>   Assertion failed: (peer->log_buffer), function SendLogWrite, file ./src/RemoteSerializer.cc, line 2556.
> {noformat}
> Here's the test::
> {noformat}
> # @TEST-EXEC: btest-bg-run manager-1 BROPATH=$BROPATH:.. CLUSTER_NODE=manager-1 bro %INPUT
> # @TEST-EXEC: btest-bg-run proxy-1   BROPATH=$BROPATH:.. CLUSTER_NODE=proxy-1 bro %INPUT
> # @TEST-EXEC: btest-bg-run proxy-2   BROPATH=$BROPATH:.. CLUSTER_NODE=proxy-2 bro %INPUT
> # @TEST-EXEC: btest-bg-run worker-1  BROPATH=$BROPATH:.. CLUSTER_NODE=worker-1 bro %INPUT
> # @TEST-EXEC: btest-bg-run worker-2  BROPATH=$BROPATH:.. CLUSTER_NODE=worker-2 bro %INPUT
> # @TEST-EXEC: btest-bg-run worker-3  BROPATH=$BROPATH:.. CLUSTER_NODE=worker-3 bro %INPUT
> # @TEST-EXEC: btest-bg-run worker-4  BROPATH=$BROPATH:.. CLUSTER_NODE=worker-4 bro %INPUT
> # @TEST-EXEC: btest-bg-wait -k 10
> # @TEST-EXEC: btest-diff proxy-1/.stdout
> @TEST-START-FILE cluster-layout.bro
> redef Cluster::nodes = {
>         ["manager-1"] = [$node_type=Cluster::MANAGER, $ip=127.0.0.1, $p=37757/tcp, $workers=set("worker-1")],
>         ["proxy-1"] = [$node_type=Cluster::PROXY,     $ip=127.0.0.1, $p=37758/tcp, $manager="manager-1", $workers=set("worker-1", "worker-3")],
>         ["proxy-2"] = [$node_type=Cluster::PROXY,     $ip=127.0.0.1, $p=37759/tcp, $manager="manager-1", $workers=set("worker-2", "worker-4")],
>         ["worker-1"] = [$node_type=Cluster::WORKER,   $ip=127.0.0.1, $p=37760/tcp, $manager="manager-1", $proxy="proxy-1", $interface="eth0"],
>         ["worker-2"] = [$node_type=Cluster::WORKER,   $ip=127.0.0.1, $p=37761/tcp, $manager="manager-1", $proxy="proxy-2", $interface="eth1"],
>         ["worker-3"] = [$node_type=Cluster::WORKER,   $ip=127.0.0.1, $p=37762/tcp, $manager="manager-1", $proxy="proxy-1", $interface="eth0"],
>         ["worker-4"] = [$node_type=Cluster::WORKER,   $ip=127.0.0.1, $p=37763/tcp, $manager="manager-1", $proxy="proxy-2", $interface="eth1"],
> };
> @TEST-END-FILE
> global all_data: set[string] = set() &synchronized;
> global blah = 0;
> @if ( Cluster::local_node_type() == Cluster::WORKER )
> event slam_proxy()
>         {
>         add all_data[unique_id(peer_description)];
>         ++blah;
>         if ( blah < 10000 )
>                 event slam_proxy();
>         }
> event bro_init()
>         {
>         event slam_proxy();
>         }
> @endif
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.0.0-OD-08-002#70107)


More information about the bro-dev mailing list