Bug #632
closedtcp.reassembly_memuse incorrectly reported
Description
tcp.reassembly_memuse seems to be incorrectly multipled by the number of detector threads.
The static variable ra_memeuse holds the amount of memory used by the TcpSegmentPool, which is shared across all threads.
This global variable is used to set the value of the rtv->counter_tcp_reass_memuse counter (in StreamTcpReassembleMemuseCounter()), which is in the per-thread context.
However, when tcp.reassembly_memuse is printed on stats.log it is summed across all threads, therefore reporting the actual value of ra_memuse multipiled by the number of detector threads.
Verified on version suricata 1.3.4.
Updated by Victor Julien almost 12 years ago
- Status changed from New to Assigned
- Assignee set to Anoop Saldanha
Updated by Ken Steele about 10 years ago
Now (suricat 2.0.x) stats.log reports the value of ra_memuse for each thread. So it is no longer summed incorrectly, but it no implies that threads * ra_memuse amount of memory is being used, which is wrong.
Updated by Victor Julien over 8 years ago
- Status changed from Assigned to Closed
- Assignee deleted (
Anoop Saldanha) - Target version deleted (
TBD)
This has been addressed in 3.0 I believe.