银河麒麟服务器系统中mysql数据库使用gdb内存回收报错问题处理

银河麒麟服务器系统中mysql数据库使用gdb内存回收报错问题处理

    • 一 系统环境
    • 二 问题现象
    • 三 分析原因
    • 四 解决方法

问题描述:在系统中执行回收命令(gdb --batch --pid pidof mysqld --ex ‘call malloc_trim(0)’;)报错’malloc_trim’ has unknown return type; cast the call to its declared return type

一 系统环境

[root@localhost ~]# nkvers 
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Sword)Kernel:
4.19.90-24.4.v2101.ky10.x86_64Build:
Kylin Linux Advanced Server
release V10 (SP2) /(Sword)-x86_64-Build09/20210524
#################################################

二 问题现象

[root@localhost ~]# gdb --batch --pid `pidof mysqld` --ex 'call malloc_trim(0)';
[New LWP 2916]
[New LWP 2917]
[New LWP 2918]
[New LWP 2919]
[New LWP 2920]
[New LWP 2921]
[New LWP 2922]
[New LWP 2923]
[New LWP 2924]
[New LWP 2925]
[New LWP 2926]
[New LWP 2927]
[New LWP 2929]
[New LWP 2930]
[New LWP 2931]
[New LWP 2932]
[New LWP 2933]
[New LWP 2934]
[New LWP 2935]
[New LWP 2936]
[New LWP 2937]
[New LWP 2938]
[New LWP 2939]
[New LWP 2940]
[New LWP 2941]
[New LWP 2942]
[New LWP 2943]
[New LWP 2944]
[New LWP 2945]warning: Expected absolute pathname for libpthread in the inferior, but got target:/usr/lib64/libpthread.so.0.warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.warning: Expected absolute pathname for libpthread in the inferior, but got target:/usr/lib64/libpthread.so.0.warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
0x00007fb2130629d9 in poll () from target:/usr/lib64/libc.so.6
'malloc_trim' has unknown return type; cast the call to its declared return type
[Inferior 1 (process 2914) detached]

三 分析原因

在C语言中,malloc_trim函数通常没有返回值,也就是说,它的返回类型是void。因此,malloc_trim函数不应该被强制转换为int类型。这样的转换在标准C语言中是没有意义的,因为malloc_trim不会返回一个整数值。
然而,一些特定的C库实现(如GNU C库)可能会为malloc_trim提供一个非标准的返回值,例如返回释放的内存字节数。在这种情况下,将malloc_trim的返回值强制转换为int可能是为了与这些非标准实现兼容。
总的来说,call (int)malloc_trim(0)call malloc_trim(0)在标准C语言中的行为应该是相同的,因为malloc_trim的标准定义不包含返回值。但是,如果您的代码依赖于某个特定C库的非标准扩展,那么这两种调用方式可能会有所不同:

  • call (int)malloc_trim(0):这种调用方式尝试将malloc_trim的任何返回值(如果有)强制转换为int类型。如果malloc_trim实际上返回了一个整数值,那么这个值将被转换为int类型。
  • call malloc_trim(0):这种调用方式忽略了malloc_trim的任何返回值。这是标准C语言中推荐的调用方式,因为它遵循了malloc_trim的标准定义。

需要将malloc_trim函数指定为int整数类型

四 解决方法

将gdb --batch --pid pidof mysqld --ex ‘call malloc_trim(0)’;命令修改为gdb --batch --pid pidof mysqld --ex ‘call (int)malloc_trim(0)’;

[root@localhost ~]# gdb --batch --pid `pidof mysqld` --ex 'call (int)malloc_trim(0)';
[New LWP 2916]
[New LWP 2917]
[New LWP 2918]
[New LWP 2919]
[New LWP 2920]
[New LWP 2921]
[New LWP 2922]
[New LWP 2923]
[New LWP 2924]
[New LWP 2925]
[New LWP 2926]
[New LWP 2927]
[New LWP 2929]
[New LWP 2930]
[New LWP 2931]
[New LWP 2932]
[New LWP 2933]
[New LWP 2934]
[New LWP 2935]
[New LWP 2936]
[New LWP 2937]
[New LWP 2938]
[New LWP 2939]
[New LWP 2940]
[New LWP 2941]
[New LWP 2942]
[New LWP 2943]
[New LWP 2944]
[New LWP 2945]warning: Expected absolute pathname for libpthread in the inferior, but got target:/usr/lib64/libpthread.so.0.warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.warning: Expected absolute pathname for libpthread in the inferior, but got target:/usr/lib64/libpthread.so.0.warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
0x00007fb2130629d9 in poll () from target:/usr/lib64/libc.so.6
$1 = 1
[Inferior 1 (process 2914) detached]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/822274.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++设计模式|创建型 2.工厂模式

1.简单工厂思想 简单工厂模式不属于23种设计模式之⼀,更多的是⼀种编程习惯。它的核心思想是将产品的创建过程封装在⼀个⼯⼚类中,把创建对象的流程集中在这个⼯⼚类⾥⾯。卡码网将其结构描述为下图所示的情况: 简单⼯⼚模式包括三个主要⻆⾊…

有且仅有的10个常见的排序算法,东西不多,怎么就背不下来呢

就这么跟你说吧,面试中肯定会出排序算法的算法题,你只需要背下来代码背下来他们的时间复杂度和空间复杂度就能蒙混过关。 不管你是前端还是后端,关于排序的算法有且仅有这 10个,如果你用心了,怎么会记不住呢。看完这篇…

docker安装并跑通QQ机器人实践(2)-签名服务器bs-qsign搭建

在前文中,我们详尽阐述了QQ机器人的搭建过程及其最终实现的各项功能展示。接下来,我们将转向探讨该项目基于Docker构建服务的具体实践。本篇将以QQ机器人签名服务——qsign为起点,逐步展开论述。 1 获取和运行 xzhouqd/qsign:8.9.63 镜像 1.…

社交媒体数据恢复:YY语音

YY语音数据恢复指南 在我们的日常生活中,数据丢失是一种常见的现象。有时候,我们可能会不小心删除了重要的文件,或者因为硬件故障而导致数据丢失。在这种情况下,数据恢复软件可以帮助我们找回丢失的数据。本文将重点介绍如何使用Y…

Element中DatePicker日期选择器跨度只能选一年如何实现?

只需要给标签加上pickerOptions&#xff0c;当前时间日期选择器特有的选项参考下表 <el-date-pickerv-model"FormData.time"value-format"yyyy:MM:DD":picker-options"pickeroptions"type-"daterange"range-separator"至"…

C# Winform DataGridView的列顺序,在运行时/数据源绑定后被改变的问题

如题&#xff1a; C# Winform DataGridView的列顺序&#xff0c;在运行时/数据源绑定后被改变的问题&#xff0c;这个问题对于需要控制列顺序的人来说&#xff0c;如果找不到原因&#xff0c;你就会发现一直都控制不了列的顺序。 当然&#xff0c;你可能也有事件处理程序或者…

Day91:API攻防-接口安全SOAPOpenAPIRESTful分类特征导入项目联动检测

目录 API分类特征-SOAP&OpenAPI&RESTful API分类特征 API常见漏洞 API检测流程 API检测项目-Postman&APIKit&XRAY 工具自动化-SOAP - WSDL Postman 联动burpxray APIKit插件(可联动xray) 工具自动化-OpenApi - Swagger Postman 联动burpxray APIKit…

【可实战】测试体系与测试方案设计(业务按公司实际情况,技术可参考通用测试方案)

一、如果我们要测试一个系统&#xff0c;首先我们要了解被测系统的架构 &#xff08;一&#xff09;业务架构-从需求里面去了解&#xff08;角色和行为&#xff09;&#xff1a; 业务模型分析&#xff08;是一个电商&#xff0c;还是一个企业的crm&#xff0c;还是一个网站&a…

科技驱动未来,提升AI算力,GPU扩展正当时

要说这两年最火的科技是什么&#xff1f;我想“AI人工智能”肯定是最有资格上榜的&#xff0c;尤其ChatGPT推出后迅速在社交媒体上走红&#xff0c;短短5天&#xff0c;注册用户数就超过100万&#xff0c;2023年一月末&#xff0c;ChatGPT的月活用户更是突破1亿&#xff0c;成为…

Visual Components:3D工厂仿真软件 | 离散物流、机器人编程与PLC调试

在数字化浪潮席卷全球制造业的今天&#xff0c;一款强大的3D工厂仿真软件已经成为企业提升生产效率、优化流程设计的关键工具。而Visual Components&#xff0c;正是这场变革中的领军者。本文将带您深入探索这款软件的核心功能与优势&#xff0c;揭示其如何在离散物流、机器人编…

python re.split()函数解析

re.split简单的使用方法&#xff1a; resultre.split(表达式,字符串,re.S)根据表达式拆分字符串并返回数组 如果拆分文本&#xff0c;比如拆分一本小说内容如下 ss第一章 第一章标题\n fadfasdfasdfadafd\n 第二章 第二章标题\n adfafdasdfasdfadsfasd\n 第三章 第三章…

每天学习一个Linux命令之chmod

每天学习一个Linux命令之chmod 在Linux系统下&#xff0c;chmod命令用于改变文件或目录的权限。通过分配不同的权限&#xff0c;我们可以控制用户对文件或目录的访问、读取、写入和执行的权限。本篇博客将详细介绍chmod命令的使用方法和常用选项。 命令语法 chmod命令的一般…

uniapp --- 实现图片压缩(兼容H5)

目录 创建组件 在 template 中添加组件 方法说明&#xff1a; compress() 方法参数&#xff1a; progress 方法回调对象属性详细说明&#xff1a; 源码示例&#xff1a; thank Canvas 是 HTML5 提供的一个用于在网页上绘制图形的元素&#xff0c;它可以实现图片压缩的功…

介绍与部署 Zabbix 监控系统

目录 前言 一、监控系统 1、主流的监控系统 2、监控系统功能 二、Zabbix 监控系统概述 1、Zabbix 概念 2、Zabbix 主要特点 3、Zabbix 主要功能 4、Zabbix 监控对象 5、Zabbix 主要程序 6、Zabbix 监控模式 7、Zabbix 运行机制 8、Zabbix 监控原理 9、Zabbix 主…

mybatis批量查询List实体类

在 MyBatis 中进行批量查询 List 实体类的操作通常使用 foreach 标签来实现。下面是一个示例代码&#xff0c;展示了如何在 MyBatis 中批量查询 List 实体类&#xff1a; 根据主键id 假设有一个名为 User 的实体类&#xff1a; public class User {private Long id;private …

Python3中的模块

模块&#xff1a;创建的py文件 包&#xff1a;创建文件夹&#xff0c;文件夹中放很多的py文件 在一个py文件里调用另外一个py文件里的函数&#xff0c;例子 # 这个文件是主文件&#xff0c;app.py 文件# 调用其他自定义的模块 # 导入非嵌套层级的模块 import exampledef run(…

Git回滚操作,工作区和暂存区恢复修改删除的文件

在利用git协作过程中&#xff0c;经常需要进行代码的撤销操作&#xff0c;这个行为可能发生在工作区&#xff0c;暂存区或者仓库区&#xff08;或版本库&#xff09;。 我们先讨论在工作区与暂存区发生的撤销行为&#xff0c;这里会有两个命令提供帮助&#xff0c;git restore…

Day 15 Linux网络管理

IP解析 IP地址组成&#xff1a;IP地址由4部分数字组成&#xff0c;每部分数字对应于8位二进制数字&#xff0c;各部分之间用小数点分开&#xff0c;这是点分2进制。如果换算为10进制我们称为点分10进制。 每个ip地址由两部分组成网络地址(NetID)和主机地址(HostID).网络地址表…

Spring-Aop源码解析(中)

Spring-Aop源码解析&#xff08;上&#xff09;上文讲解了到底什么是Aop&#xff0c;以及围绕方法该如何去找对应的增强点&#xff0c;包括整个Advisor链路的执行顺序&#xff0c;本文来对上文中存在的一些关键点进行一个深入挖掘 Advice:要增强的逻辑&#xff0c;就是我们执行…

养猫必看!毛发护理秘籍,猫粮选择大揭秘!

亲爱的猫友们&#xff0c;我们都知道&#xff0c;猫咪的毛发是它们健康与美丽的象征。选择一款合适的猫粮&#xff0c;对于猫咪的毛发健康至关重要。那么&#xff0c;如何根据猫咪的毛发情况来选择合适的猫粮呢&#xff1f;接下来&#xff0c;就让我来为你详细解答吧&#xff0…