Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

您好咨询coredump事宜 #284

Open
guachong133 opened this issue Jan 3, 2025 · 0 comments
Open

您好咨询coredump事宜 #284

guachong133 opened this issue Jan 3, 2025 · 0 comments

Comments

@guachong133
Copy link

您好,zlog在使用时,偶发出现了两次段错误,有一次捕捉到了coredump文件,bt追踪如下:

#0  0xb6deb8d4 in zlog_category_output (a_category=a_category@entry=0x1f1c7e0, 
    a_thread=0xb1b15b80) at category.c:236
#1  0xb6df89b8 in vzlog (category=0x1f1c7e0, file=0x44c1c "EVENT", filelen=5, 
    func=0x45bf0 <__FUNCTION__.5643> "log_debug", funclen=9, line=42, 
    level=20, format=0x44c98 "enquene event code= %d, enqueue size = %d", 
    args=...) at zlog.c:828
#2  0x00024588 in log_debug (logTag=0x44c1c "EVENT", 
    format=0x44c98 "enquene event code= %d, enqueue size = %d")
    at llos_app_common/app_cabinet/api/api_zlog.c:42
#3  0x0001e714 in event_request_write (newSingal=FSM_RTC_TICK, eventDetail=0x0)
    at llos_app_common/app_cabinet/api/api_event.c:100
#4  0x000393bc in task_on_rtcEvent (currentStamp=1735805973)
    at llos_app_common/app_cabinet/tasks/task_on_mcuEvent.c:54
#5  0x00020428 in rtc_event_daemon (rtcEventCb=0x39350 <task_on_rtcEvent>)
    at llos_app_common/app_cabinet/api/api_rtc.c:34
#6  0xb6fa276c in start_thread () from /lib/libpthread.so.0
#7  0xb6f2bca8 in ?? () from /lib/libc.so.6

我在使用时,对原有的函数做了一层封装,具体如下:

static void * _zlogger_caterogy_common(const char *logTag)
{
    static char defaultTag[32],*chPtr;
    
    
    if (rc || (!logTag))
        return NULL;

    //大写的tag转小写去配置文件里面找
    memset(defaultTag,0,sizeof(defaultTag));
    strcpy(defaultTag,logTag);
    for(chPtr=defaultTag;*chPtr;chPtr++)
    {
        *chPtr = tolower(*chPtr) ;
    }

    return zlog_get_category(defaultTag);
}

void log_debug(const char *logTag,const char *format, ...)
{
    zlog_category_t *c;
    va_list list;
    va_start(list, format);
    c = _zlogger_caterogy_common(logTag);
    vzlog(c, logTag, strlen(logTag), __func__, sizeof(__func__)-1, __LINE__, \
        ZLOG_LEVEL_DEBUG, format, list);
    va_end(list);
}

也许是我的封装导致,可以麻烦您得空看下大概时哪方面的原因吗?或者我发coredump给您邮箱便于进一步排查?

非常感谢~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant