Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Dec 2017 14:21:36 +0000
From:      Martina Balintova <balint.martina@gmail.com>
To:        net@freebsd.org
Subject:   Netmap ouch double free
Message-ID:  <CADBMiEfM8qEQbRtb-egJjtQ0vhZ0CCMRS2YHbmz8A_k7AyZu_Q@mail.gmail.com>
In-Reply-To: <CADBMiEd-X-pJ5yjhcxXK5Fo_EgWsMai0Um2HGffYzC_EnRUU3g@mail.gmail.com>
References:  <CADBMiEd-X-pJ5yjhcxXK5Fo_EgWsMai0Um2HGffYzC_EnRUU3g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,
I am currently playing with lb app in netmap. Every time I kill/close it,
the app hangs for some time and does not end immediately. In syslogs I am
getting:
'
Netmap_do_unregif   deleting last instance for myapp{1
Netmap_do_deref     active=5
Netnap_obj_free       ouch, double free on buffer 27777
Netmap_extra_free   freed 0 buffers
'

This happens when I have some consumer on the pipe and at some point during
whole lb lifetime, it did not consume all packets (resulting in oq being
filled or packets being dropped). If the pipe did not ever have a consumer,
then it will not end up in the double free.
I am finding it quite hard to debug in gdb, as this is happening at the
shutdown.
Could someone pls point me to reason?

I am running lb with one interface and 2 groups, different numb of pipes
per group and this happens even with no  extra buffers.

Martina



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADBMiEfM8qEQbRtb-egJjtQ0vhZ0CCMRS2YHbmz8A_k7AyZu_Q>