-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/15368/
-----------------------------------------------------------

Review request for mesos, Benjamin Hindman, Ben Mahler, and Vinod Kone.


Repository: mesos-git


Description
-------

Took valgrind for a spin and located a couple of leaks in os.hpp.
delete[] should be used instead of delete when new[] is used.

I1108 21:00:24.704984 11918 slave.cpp:560] Checkpointing SlaveInfo to 
'/tmp/mesos/0/meta/slaves/201311082100-2517376940-5050-11890-0/slave.info'
==11890== Thread 5:
==11890== Mismatched free() / delete / delete []
==11890==    at 0x4C2BADC: operator delete(void*) (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==11890==    by 0x524D54B: os::dirname(std::string const&) (os.hpp:359)
==11890==    by 0x52417F3: 
mesos::internal::slave::state::checkpoint(std::string const&, 
google::protobuf::Message const&) (state.cpp:620)
==11890==    by 0x5260589: 
mesos::internal::slave::Slave::registered(process::UPID const&, mesos::SlaveID 
const&) (slave.cpp:561)
...
==11890==  Address 0xc47b5b0 is 0 bytes inside a block of size 73 alloc'd
==11890==    at 0x4C2AFE7: operator new[](unsigned long) (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==11890==    by 0x524D50F: os::dirname(std::string const&) (os.hpp:351)
==11890==    by 0x52417F3: 
mesos::internal::slave::state::checkpoint(std::string const&, 
google::protobuf::Message const&) (state.cpp:620)
==11890==    by 0x5260589: 
mesos::internal::slave::Slave::registered(process::UPID const&, mesos::SlaveID 
const&) (slave.cpp:561)
...


Diffs
-----

  3rdparty/libprocess/3rdparty/stout/include/stout/os.hpp 18d8b7f 

Diff: https://reviews.apache.org/r/15368/diff/


Testing
-------

Running mesos-local with valgrind before and after fix.

make check


Thanks,

Niklas Nielsen

Reply via email to