summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorYoungHun Kim <yh8004.kim@samsung.com>2018-11-30 14:02:03 +0900
committerYoungHun Kim <yh8004.kim@samsung.com>2018-12-10 11:33:05 +0900
commit0ab7d3e67e56c0498774b24d13a920d3b2ab04a5 (patch)
treede5dd0cc3758a29e650d8146087e188e81c6f6c5 /server
parent7d57d6b2f0bb4f9f01fe1f74b7bca2e31cd3d2fc (diff)
downloadmmsvc-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.h3
-rw-r--r--server/src/muse_server_private.c28
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;
}