Centos7.4内核符号地址查找函数的BUG
摘要:项目的一个需求,需要通过符号地址查找函数kallsyms_lookup_name获取内核模块函数的地址,意外发现了一个bug, 这个bug已经在高版本修复,至少在4.18.0内核里已经修复。 开始直接查找模块的某个函数,比如helloworld模块的hello_test函数,可以直接调用kallsy
阅读全文
Golang项目引入循环日志功能
摘要:Golang项目中,需要增加循环日志功能,但是从网上资料看,Go本身log包,功能比较简单,只提供了基本的日志输出, 并且没有日志级别控制,日志文件分割和回滚,以及日志分发等功能。 查阅几篇网络资料,决定引入logrus软件包,它完全兼容golang标准库日志模块:拥有六种日志级别:debug、in
阅读全文
搭建Linux Go项目工程环境
摘要:下载和安装Go软件包 下载地址: https://studygolang.com/dl 安装Go关键包 # rm -rf /usr/local/go && tar -C /usr/local -xzf go1.16.6.linux-amd64.tar.gz 设置go环境变量 编辑 /etc/prof
阅读全文
C++ string类赋值并发问题
摘要:前一段排查产品的一个异常问题,是有关C++ string类的,做字符串赋值操作时,应用程序崩溃了。 堆栈信息如下: 经过分析代码,发现同一个字符串变量会在多个线程里做赋值操作,而且没有加锁保护。 string类字符串赋值操作是线程不安全的,当多个线程同时对同一个string类变量做赋值操作时,就会产
阅读全文
业务内核模块引起Linux top进程被阻塞的问题分析
摘要:问题说明 线上服务器运行过程中突然失联,没有自动重启,维护人员进入机房后,接上显示器和鼠标均没反应。重新上电后,没有发现core文件, 检查messages日志没有什么发现,系统coredump设置也没问题。现场最近升级过一个安全版本,可能与这个版本有关系,但是没有core文件, 无法确认问题根本原
阅读全文