Red Hat Bugzilla – Bug 821419
RFE: Make accessible mapped + deleted files (shared libraries)
Last modified: 2012-05-14 11:24:54 EDT
Description of problem:
If a process is running its executable + shared libraries may be already deleted. If that process crashes we can no longer analyse the core file as its shared libraries are no longer available
Currently one has to create whole new chroot with the older libraries installed, this is very time consuming (ABRT Retrace Server). One could just download the older separate .debug files and using the libraries which were available at the core dumping time.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
xz >/dev/null & p=$!; yum some downgrade/update; cat /proc/$p/maps
No way to access /usr/lib64/liblzma.so.5.0.99.
$ cat /proc$p/maps
39cfe00000-39cfe23000 r-xp 00000000 00:11 27528913 /usr/lib64/liblzma.so.5.0.99 (deleted)
39cfe23000-39d0023000 ---p 00023000 00:11 27528913 /usr/lib64/liblzma.so.5.0.99 (deleted)
39d0023000-39d0024000 r--p 00023000 00:11 27528913 /usr/lib64/liblzma.so.5.0.99 (deleted)
39d0024000-39d0025000 rw-p 00024000 00:11 27528913 /usr/lib64/liblzma.so.5.0.99 (deleted)
Make them accessible for example by:
cat /proc/$p/mappedfiles/00:11-27528913 >/tmp/liblzma.so.5.0.99
The executable itself is already accessible as /proc/$p/exe.
One can 'cat' it out even if it is already deleted during core dumping time by /proc/sys/kernel/core_pattern command.
I recommend bringing this up on lkml/linux-mm.