>> >On Wed, Apr 09, 2014 at 02:23:13AM +0000, Yinpeijun wrote:
>> >> >On Tue, Apr 08, 2014 at 03:51:33AM +0000, Yinpeijun wrote:
>> >> >> Hello everyone, Recently, I use openvswitch-2.0.0 to test send
>> >> >> packets between the vms, duration the test I use valgrind to
>> >> >>
>> >> >> catch if there is memory leak in ovs-vswitched process , after test I
>> >> >> see the valgrind log as follow :
>> >...
>> >> >> So , I should annotation or delete the code above? Any advice on
>> >> >> this would be greatly appreciated.
>> >> >
>> >> >This is certainly a bug that should be fixed, but I'm having
>> >> >trouble matching up the line numbers in the valgrind output above with
>> >> >the code that you quoted. What are the line numbers for the code you
>> >> >quoted above? Are you using exactly the openvswitch 2.0.0 release, or a
>> >> >different release, or a modified version of some release?
>> >>
>> >> Thank you for your reply Ben.
>> >> sorry for my mistake ,I exactly use a openvswitch 2.0.0 release but I
>> >> have added some our own code, and the valgrind output above match the
>> >> line numbers as follow:
>> >
>> >Can you explain how to trigger the issue? I spent a little time
>> >running
>>
>> I use two servers and create 20 vms in each , which are divided into three
>> classes: no vlan ,vlan 20 and vxlan 65536(our own scheme ), then vms to vms
>> send TCP or UDP packets with netperf .
>>
>> >2.0.0 today under valgrind and didn't manage to trigger it. (Also,
>> >since you've made significant changes to OVS, it is possible that one
>> >of those changes introduced the problem.)
>>
>> To ensure whether our changes introduced the problem,I will use
>> openvswitch-2.0.0 release without modification to test in the same
>> environment above.
>
>Did you find a memory leak in unmodified OVS?
After my test , there is no memory leak in unmodified OVS and I find my error
and trigger condition as follows:
In ovs_flow_extract() function, when the udp dst port is I want , I change the
udp src port to a static number like 4096 .
Then in subfacet_create() function code go to shouldn't happen way:
if (list_is_empty(&facet->subfacets)) {
subfacet = &facet->one_subfacet;
} else {
subfacet = subfacet_find(backer, key, key_len, key_hash);
if (subfacet) {
if (subfacet->facet == facet) {
return subfacet;
}
/* This shouldn't happen. */
VLOG_ERR_RL(&rl, "subfacet with wrong facet");
subfacet_destroy(subfacet);
}
subfacet = xmalloc(sizeof *subfacet);
}
_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss