Ticket #17 (accepted Problem)
MemoryAllocation() core dumps at termination
| Reported by: | robin | Owned by: | robin |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | Bro | Version: | branches-robin-work |
| Keywords: | Cc: |
Description
In rare situations, the final profiling_logger->Log(); in terminate_bro core-dumps in some object's MemoryAllocation(), liklely because that object has already been deleted.
Not clear whether this is still a problem after the recent round of ref-counting fixes but I've disabled the final Log() for now. Need to recheck.
Change History
comment:2 Changed 3 years ago by bernhard
I am afraid I can still easily reproduce the problem, using both release 1.4 and the current version (r6487) of Robin's work branch. Apparently the amount of data processed is not crucial in triggering this bug, so the simple recipe to reproduce it is to take a large trace, chop it in many little pieces and run bro on every single one of them. In my particular case this results in 22 segfaults out of 140 snippets of 40 to 400 MB each when run with brolite.bro and profiling.bro, an 2 segfaults if run with only profiling.bro. Note that running the whole trace at a single time not necessarily results in a segfault. For repeatability I use --load-seeds. In case you have questions just write email.