[Bro-Dev] [JIRA] (BIT-1376) method to reproduce "internal error: unknown msg type 115 in Poll()"
Justin Azoff (JIRA)
jira at bro-tracker.atlassian.net
Sat Apr 18 06:40:01 PDT 2015
[ https://bro-tracker.atlassian.net/browse/BIT-1376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=20321#comment-20321 ]
Justin Azoff commented on BIT-1376:
-----------------------------------
I deployed the patch to our dev cluster a few days ago. No issues so far, though we were only seeing a proxy crash about once a week.
The highest I've seen 'pending' in the updated log message was one spike to 46095 that drained to 0 within the same second, otherwise it is always 0. I think Seth may be on to something with looking into what the proxies are doing.
I'd be ok with running a patch on our dev cluster that dumps all proxy communication to a log file. It appears to be very low volume aside from these occasional spikes.
> 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)
More information about the bro-dev
mailing list