[PATCH v2 2/3] eal: fix trace init fail with long file-prefix
Chengwen Feng
fengchengwen at huawei.com
Tue Jun 14 07:58:59 CEST 2022
Bug scenario:
1. start testpmd:
dpdk-testpmd -l 4-6 -a 0000:7d:00.0 --trace=.* \
-file-prefix=trace_autotest -- -i
2. then observed:
EAL: eal_trace_init():94 failed to initialize trace [File exists]
EAL: FATAL: Cannot init trace
EAL: Cannot init trace
EAL: Error - exiting with code: 1
The root cause it that the offset set wrong with long file-prefix and
then lead the strftime return failed.
Fixes: 321dd5f8fa62 ("trace: add internal init and fini interface")
Cc: stable at dpdk.org
Signed-off-by: Chengwen Feng <fengchengwen at huawei.com>
---
lib/eal/common/eal_common_trace_utils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/eal/common/eal_common_trace_utils.c b/lib/eal/common/eal_common_trace_utils.c
index 64f58fb66a..0822678a60 100644
--- a/lib/eal/common/eal_common_trace_utils.c
+++ b/lib/eal/common/eal_common_trace_utils.c
@@ -104,7 +104,7 @@ trace_session_name_generate(char *trace_dir)
rc = rte_strscpy(trace_dir, eal_get_hugefile_prefix(),
TRACE_PREFIX_LEN);
if (rc == -E2BIG)
- rc = TRACE_PREFIX_LEN;
+ rc = TRACE_PREFIX_LEN - 1;
trace_dir[rc++] = '-';
rc = strftime(trace_dir + rc, TRACE_DIR_STR_LEN - rc,
--
2.33.0
More information about the dev
mailing list