tree bc57a0369178f93407d93e9f4a2eb2e646910ba6
parent 3598158b90a69177f25f2ff6aab05c385c8fc987
author Chirag Sharma <chirshar@in.ibm.com> 1652089042 -0500
committer Marri Devender Rao <devenrao@in.ibm.com> 1674209817 -0600

dump: failure as open file handles are not closed

Dump manager adds watch using inotify_add_watch when
dump generation starts and closes the fd(file handle)
returned by the inotify_add_watch after dump generation
is completed.

Due to logic error, the fd is not closed, due to that
the application exhausts the fd count over time when a
lot of dumps are generated and it fails eventually.

The dump manager maintains stl::map of the path and watch
objects for newly created dumps so that when dump generation
is completed it can create D-Bus objects for the dumps.

When adding new entry to the stl::map dump directory is passed
and when clearing the entry the file path of dump file is pased
due to this entry from stl::map is not cleard and so is the
watch object.

Tested:
Post changes able to trigger 200+ dumps without any issue.

Verfied the open fd for the dump manager process before and after
dump genration and ensured that fd's are not incread.

before dump generation
root@p10bmc:~# ls -la /proc/4890/fd
dr-x------    2 root     root             0 Jan 20 10:03 .
dr-xr-xr-x    8 root     root             0 Jan 20 10:03 ..
lr-x------    1 root     root            64 Jan 20 10:04 0 -> /dev/null
lrwx------    1 root     root            64 Jan 20 10:04 1 -> socket:[35868]
lrwx------    1 root     root            64 Jan 20 10:04 2 -> socket:[35868]
lrwx------    1 root     root            64 Jan 20 10:03 3 -> socket:[35873]
lrwx------    1 root     root            64 Jan 20 10:04 4 ->
anon_inode:[eventpoll]
lr-x------    1 root     root            64 Jan 20 10:04 5 -> anon_inode:inotify
lrwx------    1 root     root            64 Jan 20 10:04 6 ->
anon_inode:[timerfd]

after dump generation
root@p10bmc:~# ls -la /proc/4890/fd
dr-x------    2 root     root             0 Jan 20 10:03 .
dr-xr-xr-x    8 root     root             0 Jan 20 10:03 ..
lr-x------    1 root     root            64 Jan 20 10:04 0 -> /dev/null
lrwx------    1 root     root            64 Jan 20 10:04 1 -> socket:[35868]
lrwx------    1 root     root            64 Jan 20 10:04 2 -> socket:[35868]
lrwx------    1 root     root            64 Jan 20 10:03 3 -> socket:[35873]
lrwx------    1 root     root            64 Jan 20 10:04 4 ->
anon_inode:[eventpoll]
lr-x------    1 root     root            64 Jan 20 10:04 5 -> anon_inode:inotify
lrwx------    1 root     root            64 Jan 20 10:04 6 ->
anon_inode:[timerfd]
lrwx------    1 root     root            64 Jan 20 10:05 7 -> socket:[35916]

Signed-off-by: Chirag Sharma <chirshar@in.ibm.com>
Change-Id: I67c704719e9991fdff478891f9dc72045fb0e9e1
