[ https://bro-tracker.atlassian.net/browse/BIT-1376?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robin Sommer updated BIT-1376: ------------------------------ Resolution: Merged (was: Fixed) Status: Closed (was: Merge Request) > method to reproduce "internal error: unknown msg type 115 in Poll()" > -------------------------------------------------------------------- > > Key: BIT-1376 > URL: https://bro-tracker.atlassian.net/browse/BIT-1376 > Project: Bro Issue Tracker > Issue Type: Problem > Components: Bro > Reporter: Jon Siwek > Assignee: Robin Sommer > > Justin found a modification to Bro and a script that triggers the "unknown > msg type 115" bug. This method seems to reproduce the problem fairly > reliably and between two bro processes started via command-line. > Patch: > {code} > diff --git a/src/ChunkedIO.h b/src/ChunkedIO.h > index b590453..39af9b1 100644 > --- a/src/ChunkedIO.h > +++ b/src/ChunkedIO.h > @@ -223,10 +223,10 @@ private: > > // We report that we're filling up when there are more than this > number > // of pending chunks. > - static const uint32 MAX_BUFFERED_CHUNKS_SOFT = 400000; > + static const uint32 MAX_BUFFERED_CHUNKS_SOFT = 40; > > // Maximum number of chunks we store in memory before rejecting > writes. > - static const uint32 MAX_BUFFERED_CHUNKS = 500000; > + static const uint32 MAX_BUFFERED_CHUNKS = 50; > > char* read_buffer; > uint32 read_len; > {code} > Start a bro process like this: > {code} > $ cat test.bro > @load frameworks/communication/listen > redef Communication::nodes += { > ["foo"] = [$host = 127.0.0.1, $sync=T] > }; > global counters: table[string] of count &synchronized &default=0; > event do_some (n:count) > { > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters["thecounter"]; > ++counters[peer_description]; > if(counters["thecounter"] % 10000 == 0 ) { > Reporter::warning(fmt("I am %s and The counter is %d. my counter is > %d", peer_description, counters["thecounter"], counters[peer_description])); > } > if(n != 0) { > schedule 1msec { do_some(n-1) }; > } else { > Reporter::warning(fmt("The counter is %d", counters["thecounter"])); > } > } > event bro_init() > { > schedule 1sec { do_some(1000000) }; > schedule 2sec { do_some(1000000) }; > schedule 3sec { do_some(1000000) }; > } > $ bro -b ./test.bro > {code} > Then start another like this: > {code} > $ cat test.bro > @load base/frameworks/communication > redef Communication::nodes += { > ["foo"] = [$host = 127.0.0.1, $events = /.*/, $connect=T, $sync=T, > $retry=5sec] > }; > global counters: table[string] of count &synchronized &default=0; > event check () > { > print counters["thecounter"]; > schedule 5sec { check() }; > } > event bro_init() > { > schedule 5sec { check() }; > } > $ bro -b ./test.bro > processing suspended > processing continued > 55069 > 58963 > 62831 > 66636 > internal error: unknown msg type 115 in Poll() > Abort trap: 6 > {code} -- This message was sent by Atlassian JIRA (v6.4-OD-16-006#64014) _______________________________________________ bro-dev mailing list bro-dev@bro.org http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev