[ovs-build] Fixed: ovn-org/ovn#134 (master - 49cc555)
builds at travis-ci.org
Fri Mar 6 23:29:08 UTC 2020
Build Update for ovn-org/ovn
Duration: 16 mins and 49 secs
Commit: 49cc555 (master)
Author: Damijan Skvarc
Message: logical-fields: fix memory leak caused by initialize ovnfield_by_name twice
ovnfield_by_name is hash of strings which is used to quickly find
field by name. This hash is initialized from ovn_init_symtab(). In case
the latter function is called multiple times then also ovnfield_by_name is
initialized multiple times but without freeing previously allocated
memory resources what cause memory leaks. This actually happens in
ovn-controller which calls ovn_init_symtab() function twice, once from
ofctrl.c and the other time from lflow.c files.
Problem was solved by initializing ovnfield_by_name entity only once
and using design pattern from stopwatch.c or meta_flow.c files (ovs).
Problem was reported by valgrind with flood of messages (190) while executing
ovn test suite:
==5999== 47 (32 direct, 15 indirect) bytes in 1 blocks are definitely lost in loss record 86 of 102
==5999== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5999== by 0x50635D: xmalloc (util.c:138)
==5999== by 0x4F6513: shash_add_nocopy__ (shash.c:109)
==5999== by 0x4F6585: shash_add_nocopy (shash.c:121)
==5999== by 0x4F65BD: shash_add (shash.c:129)
==5999== by 0x4F6602: shash_add_once (shash.c:136)
==5999== by 0x4395B7: ovn_init_symtab (logical-fields.c:261)
==5999== by 0x406C91: main (ovn-controller.c:1750)
Signed-off-by: Damijan Skvarc <damjan.skvarc at gmail.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>
View the changeset: https://github.com/ovn-org/ovn/compare/c8d28de41ee6...49cc555eda96
View the full build log and details: https://travis-ci.org/ovn-org/ovn/builds/659373346?utm_medium=notification&utm_source=email
You can unsubscribe from build emails from the ovn-org/ovn repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=24187664&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the build