首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >centos7.6,localtime_r函数导致程序崩溃?

centos7.6,localtime_r函数导致程序崩溃?

提问于 2021-02-06 11:47:09
回答 2关注 0查看 831

系统:centos7.6 内核:3.10.0-1160.11.1.el7.x86_64 编译器:g++ 4.8.5

问题:/var/log/meassage里面提示segfault at 7fa6227fdf40 ip 00007fa62c0ba671 sp 00007fa6227fdf40 error 6 in libc-2.17.so[7fa62c060000+1c4000]。我调用corefile调试,显示信息如下

  0x00007fa62c0ba671 in __GI__IO_vfscanf () from /lib64/libc.so.6

  0x00007fa62c0d14d7 in vsscanf () from /lib64/libc.so.6

  0x00007fa62c0cb447 in sscanf () from /lib64/libc.so.6

  0x00007fa62c115e18 in __tzset_parse_tz () from /lib64/libc.so.6

  0x00007fa62c11820b in __tzfile_compute () from /lib64/libc.so.6

  0x00007fa62c116ba7 in __tz_convert () from /lib64/libc.so.6

判断为localtime()函数在多线程下崩溃,改用localtime_r()函数,还是出现同样问题。

下面是我的代码:

struct comtime

{

  int mtday;

  int mthour;

  int mtmin;

  int mtsec;

};

comtime ctime;

  memset(&ctime, 0, sizeof(ctime));

  time_t now = 0;

  struct tm timenow = {0};

  time(&now);

  localtime_r(&now, &timenow);

  ctime.mtday = timenow.tm_wday;

  ctime.mthour = timenow.tm_hour;

  ctime.mtmin = timenow.tm_min;

  ctime.mtsec = timenow.tm_sec;

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档