[PATCH] Save cgroup information for crashing process
Stored in /proc/<pid>/cgroup --- src/hooks/abrt-hook-ccpp.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c index 83dbf9f..1a918c8 100644 --- a/src/hooks/abrt-hook-ccpp.c +++ b/src/hooks/abrt-hook-ccpp.c @@ -713,6 +713,11 @@ int main(int argc, char** argv) copy_file(source_filename, dest_filename, 0640); IGNORE_RESULT(chown(dest_filename, dd->dd_uid, dd->dd_gid));
+ strcpy(source_filename + source_base_ofs, "cgroup"); + strcpy(dest_base, FILENAME_CGROUP); + copy_file(source_filename, dest_filename, 0640); + IGNORE_RESULT(chown(dest_filename, dd->dd_uid, dd->dd_gid)); + strcpy(dest_base, FILENAME_OPEN_FDS); if (dump_fd_info(dest_filename, source_filename, source_base_ofs)) IGNORE_RESULT(chown(dest_filename, dd->dd_uid, dd->dd_gid));
On 03/19/2012 05:52 PM, Richard Marko wrote:
[PATCH] Save cgroup information for crashing process
Stored in /proc/<pid>/cgroup
src/hooks/abrt-hook-ccpp.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c index 83dbf9f..1a918c8 100644 --- a/src/hooks/abrt-hook-ccpp.c +++ b/src/hooks/abrt-hook-ccpp.c @@ -713,6 +713,11 @@ int main(int argc, char** argv) copy_file(source_filename, dest_filename, 0640); IGNORE_RESULT(chown(dest_filename, dd->dd_uid, dd->dd_gid));
strcpy(source_filename + source_base_ofs, "cgroup");
strcpy(dest_base, FILENAME_CGROUP);
copy_file(source_filename, dest_filename, 0640);
I think cgroups support in kernel is optional, so /proc/PID/cgroup may be not there.
This will emit error messages if source file does not exist. I guess you need to either suppress error messages or check existence of source file before copy_file() call.
On 03/20/2012 09:56 AM, Denys Vlasenko wrote:
On 03/19/2012 05:52 PM, Richard Marko wrote:
[PATCH] Save cgroup information for crashing process
Stored in /proc/<pid>/cgroup
src/hooks/abrt-hook-ccpp.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c index 83dbf9f..1a918c8 100644 --- a/src/hooks/abrt-hook-ccpp.c +++ b/src/hooks/abrt-hook-ccpp.c @@ -713,6 +713,11 @@ int main(int argc, char** argv) copy_file(source_filename, dest_filename, 0640); IGNORE_RESULT(chown(dest_filename, dd->dd_uid, dd->dd_gid));
strcpy(source_filename + source_base_ofs, "cgroup");
strcpy(dest_base, FILENAME_CGROUP);
copy_file(source_filename, dest_filename, 0640);
I think cgroups support in kernel is optional, so /proc/PID/cgroup may be not there.
This will emit error messages if source file does not exist. I guess you need to either suppress error messages or check existence of source file before copy_file() call.
Yes, they are optional, I'll add the check.
Denys Vlasenko dvlasenk@redhat.com writes:
On 03/19/2012 05:52 PM, Richard Marko wrote:
[PATCH] Save cgroup information for crashing process
Stored in /proc/<pid>/cgroup
src/hooks/abrt-hook-ccpp.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c index 83dbf9f..1a918c8 100644 --- a/src/hooks/abrt-hook-ccpp.c +++ b/src/hooks/abrt-hook-ccpp.c @@ -713,6 +713,11 @@ int main(int argc, char** argv) copy_file(source_filename, dest_filename, 0640); IGNORE_RESULT(chown(dest_filename, dd->dd_uid, dd->dd_gid));
strcpy(source_filename + source_base_ofs, "cgroup");
strcpy(dest_base, FILENAME_CGROUP);
copy_file(source_filename, dest_filename, 0640);
I think cgroups support in kernel is optional, so /proc/PID/cgroup may be not there.
This will emit error messages if source file does not exist. I guess you need to either suppress error messages or check existence of source file before copy_file() call.
for fedora and rhel7 it's mandatory due to systemd. Nevertheless checking should be there.
Richard Marko rmarko@redhat.com writes:
[PATCH] Save cgroup information for crashing process
Stored in /proc/<pid>/cgroup
src/hooks/abrt-hook-ccpp.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
[PATCH] Add cgroup information filename
src/include/internal_libreport.h | 1 + src/lib/problem_data.c | 1 + 2 files changed, 2 insertions(+), 0 deletions(-)
send please applicatable patch. if you have 2 patches than
$ git send-email HEAD~2
is your friend
crash-catcher@lists.fedorahosted.org