diff options
author | YoungHun Kim <yh8004.kim@samsung.com> | 2018-11-30 14:02:03 +0900 |
---|---|---|
committer | YoungHun Kim <yh8004.kim@samsung.com> | 2018-12-10 11:33:05 +0900 |
commit | 0ab7d3e67e56c0498774b24d13a920d3b2ab04a5 (patch) | |
tree | de5dd0cc3758a29e650d8146087e188e81c6f6c5 /server | |
parent | 7d57d6b2f0bb4f9f01fe1f74b7bca2e31cd3d2fc (diff) | |
download | mmsvc-core-0ab7d3e67e56c0498774b24d13a920d3b2ab04a5.tar.gz mmsvc-core-0ab7d3e67e56c0498774b24d13a920d3b2ab04a5.tar.bz2 mmsvc-core-0ab7d3e67e56c0498774b24d13a920d3b2ab04a5.zip |
Update to log additional information for debugging the exception errors
- Additional information is Unix domain socket using system call and
the user (uid, user name) and group (gid, group name) using new function (ms_log_user_group_info)
Change-Id: I0e66a61568fed1f39aa3e1230ac341b7c9ab3b13
Diffstat (limited to 'server')
-rw-r--r-- | server/include/muse_server_private.h | 3 | ||||
-rw-r--r-- | server/src/muse_server_private.c | 28 |
2 files changed, 28 insertions, 3 deletions
diff --git a/server/include/muse_server_private.h b/server/include/muse_server_private.h index 5ccf592..e36603d 100644 --- a/server/include/muse_server_private.h +++ b/server/include/muse_server_private.h @@ -34,6 +34,8 @@ #include "muse_server_workqueue.h" #include "muse_server_tool.h" #include <systemd/sd-daemon.h> +#include <pwd.h> +#include <grp.h> #ifdef MUSE_TTRACE_LOG #include <trace.h> @@ -104,6 +106,7 @@ void ms_exit_worker(muse_module_h m); void ms_respawn(int signo); int ms_get_pid(muse_module_h m); void ms_log_process_info(int pid); +void ms_log_user_group_info(void); gboolean ms_is_log_enabled(void); int ms_kill_thread(int signo); gboolean ms_init_bufmgr(void); diff --git a/server/src/muse_server_private.c b/server/src/muse_server_private.c index 22530b9..dcc7ab7 100644 --- a/server/src/muse_server_private.c +++ b/server/src/muse_server_private.c @@ -180,7 +180,7 @@ static int _ms_new(muse_channel_e channel) fd = socket(AF_UNIX, SOCK_STREAM, 0); /* Unix Domain Socket */ if (!muse_core_fd_is_valid(fd)) { strerror_r(errno, err_msg, MUSE_MSG_LEN_MAX); - LOGE("socket failed sock: %s", err_msg); + LOGE("socket failed sock (%d) : %s", errno, err_msg); return MUSE_ERR; } @@ -194,7 +194,9 @@ static int _ms_new(muse_channel_e channel) /* Bind to filename */ if (bind(fd, (struct sockaddr *)&addr_un, address_len) < 0) { strerror_r(errno, err_msg, MUSE_MSG_LEN_MAX); - LOGE("socket bind failed : %s", err_msg); + LOGE("[%d] socket bind failed (%d) %s", fd, errno, err_msg); + muse_core_log_file_info(UDS_files[channel]); + ms_log_user_group_info(); if (errno == EADDRINUSE) unlink(addr_un.sun_path); close(fd); @@ -203,7 +205,10 @@ static int _ms_new(muse_channel_e channel) /* Setup listen queue */ if (listen(fd, 5) == MUSE_ERR) { - LOGE("listen failed"); + strerror_r(errno, err_msg, MUSE_MSG_LEN_MAX); + LOGE("[%d] listen failed (%d) %s", fd, errno, err_msg); + muse_core_log_file_info(UDS_files[channel]); + ms_log_user_group_info(); close(fd); return MUSE_ERR; } @@ -853,6 +858,22 @@ void ms_log_process_info(int pid) ms_log_get_cmd_info(cmd); } +void ms_log_user_group_info(void) +{ + struct passwd *p; + struct group *g; + uid_t uid; + gid_t gid; + + uid = getuid(); + gid = getgid(); + + p = getpwuid(uid); + g = getgrgid(gid); + + LOGE("user [%s : %lu] group [%s : %lu]", p->pw_name, (unsigned long)uid, g->gr_name, (unsigned long)gid); +} + gboolean ms_is_log_enabled(void) { return muse_server->conf->log_enabled; @@ -865,6 +886,7 @@ gboolean ms_init_bufmgr(void) muse_server->bufmgr = tbm_bufmgr_init(-1); if (!muse_server->bufmgr) { LOGE("Error - tbm_bufmgr_init"); + ms_log_user_group_info(); return FALSE; } |