Remove backtrace output 25/307525/2
authorHwankyu Jhun <h.jhun@samsung.com>
Mon, 11 Mar 2024 22:54:08 +0000 (07:54 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Mon, 11 Mar 2024 23:13:31 +0000 (08:13 +0900)
If amd calls backtrace() when getting the signal, amd can be crashed.
This patch removes to print backtrace using backtrace() function.

Change-Id: I58a4ae0427da67a2ff2bdf67f8171c5e58515b12
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/lib/amd_unix_signal.c

index f4efa147cd838939c88186bb60a05592110ffe9b..9b557d85193934eb66a6009d5e91cd8006b719c5 100644 (file)
@@ -67,8 +67,6 @@ static struct signo_map_s signo_map[] = {
 };
 
 static struct sigaction old_action[SIGNO_MAX];
-static logger_h logger;
-static int logger_fd = -1;
 
 static const char *__unix_signal_get_signo_string(int signal)
 {
@@ -97,8 +95,6 @@ static enum signo_e __unix_signal_get_signo(int signal)
 static void __unix_signal_handler(int signal, siginfo_t *info, void *arg)
 {
        enum signo_e signo;
-       int nptrs;
-       void *buffer[BT_BUF_SIZE];
        sigset_t old_mask;
        sigset_t mask;
 
@@ -108,10 +104,6 @@ static void __unix_signal_handler(int signal, siginfo_t *info, void *arg)
        _W("[__UNIX_SIGNAL__] signal: %d(%s)",
                        signal, __unix_signal_get_signo_string(signal));
 
-       nptrs = backtrace(buffer, BT_BUF_SIZE);
-       backtrace_symbols_fd(buffer, nptrs,
-                       (logger_fd > 0) ? logger_fd : STDERR_FILENO);
-
        sigprocmask(SIG_SETMASK, &old_mask, NULL);
 
        signo = __unix_signal_get_signo(signal);
@@ -124,7 +116,6 @@ static void __unix_signal_handler(int signal, siginfo_t *info, void *arg)
 int _unix_signal_init(void)
 {
        struct sigaction action = { 0, };
-       char path[PATH_MAX];
        int ret;
        int i;
 
@@ -142,15 +133,6 @@ int _unix_signal_init(void)
                }
        }
 
-       snprintf(path, sizeof(path), "%s/amd_backtrace.log",
-                       _logger_get_dir_name());
-       ret = _logger_create(path, &logger);
-       if (ret != 0)
-               return ret;
-
-       _logger_print(logger, "BACKTRACE", "pid: %d", getpid());
-       _logger_get_fd(logger, &logger_fd);
-
        return 0;
 }
 
@@ -160,8 +142,6 @@ void _unix_signal_fini(void)
 
        _W("UNIX_SIGNAL_FINI");
 
-       _logger_destroy(logger);
-
        for (i = 0; i < SIGNO_MAX; ++i)
                sigaction(signo_map[i].value, &old_action[i], NULL);
 }