I have this message popping up once or twice a day in suricata.log:
2025-04-02 13:55:09 Warning: streaming-buffer: StreamingBuffer::GrowRegionToSize() tried to alloc 1073742368 bytes, exceeds limit of 1073741824
Is that a hard-coded limit or something that be altered in settings? Is this something worth fixing?
This ist indeed a hardcoded limit in util-streaming-buffer.c:
if (size > BIT_U32(30)) { // 1GiB
if (!g2s_warn_once) {
SCLogWarning("StreamingBuffer::GrowRegionToSize() tried to alloc %u bytes, exceeds limit of %" PRIu32, size, BIT_U32(30));
g2s_warn_once = true;
}
return SC_ELIMIT;
}
I have exactly the same problem on our napatech-driven multi-gigabit sensors with suricata 8.0.3 and 8.0.4. And it seems to be independent of the stream memcap settings in the suricata.yaml, since these are way bigger than 1GB.
If that limit is reached, we get many napatech overflow drops, and suricata simply restarts itself (or its service is restarted by systemd).
I do not know whether this is a desired behavior or not.