CGO集成wireshark4.2.0动态链接库新错误col_set_cls_time: assertion “not reached“ failed

CGO集成wireshark4.2.0动态链接库新错误col_set_cls_time: assertion "not reached" failed

    • 1.版本环境
    • 2.问题
    • 3.解决过程

1.版本环境

  • wireshark4.2.0
  • golang1.21
  • mac m1 和 ubuntu22

2.问题

在cgo调用wireshark进行协议解析时候遇到错误:

** (PID:73155) 16:21:54.232994 [(none) ERROR] epan/column-utils.c:1570 -- col_set_cls_time(): assertion "not reached" failed** (PID:73155) Aborting on fatal log level exception

3.解决过程

epan/column-utils.c文件的col_set_cls_time函数1570行逻辑如下:

switch (timestamp_get_type()) {
...
...
case TS_NOT_SET:/* code is missing for this case, but I don't know which [jmayer20051219] */ws_assert_not_reached();break;}

timestamp_get_type()方法来自wireshark/epan/timestamp.h,说明没有设置timestamp,同文件看到设置方法timestamp_set_type(ts_type),在源码中找一下案例:
tshark.c有涉及到:

timestamp_set_type(TS_RELATIVE);
timestamp_set_precision(TS_PREC_AUTO);
timestamp_set_seconds_type(TS_SECONDS_DEFAULT);

在设定这三个值之后进行了wtap_init操作,因此判断为初始化wireshark组件时候要进行的设置,于是在自定义代码初始化位置加上以上逻辑,再将epan/timestamp.h导入,通过在mac m1和ubuntu22平台测试,均正确。

至此,完成了对wireshark4.2.0的cgo接口对接。

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

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

相关文章

django建站过程(5)添加导入导出功能

django建站过程(5)添加导入导出功能 后端添加导入导出功能django-import-export参考官方:安装命令settings.py添加到INSTALLED_APPS创建一个resource.py**配置Admin**定义导入导出的字段其他 后端添加导入导出功能 django-import-export 参…

基于静电放电算法优化概率神经网络PNN的分类预测 - 附代码

基于静电放电算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于静电放电算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于静电放电优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

Vue中给对象添加新属性时,界面不刷新怎么办?

文章目录 前言直接添加属性的问题原理分析解决方案总结后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:vue.js 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现…

微信个人号api

简要描述: 登录E云平台 请求URL: http://域名地址/member/login域名地址开发者账号密码:后台系统自助开通 请求方式: POST 请求头Headers: Content-Type:application/json 参数: 参数名必选类型说…

​如何使用ArcGIS Pro制作渐变河流效果

对于面要素的河流水系,制作渐变效果方法比较简单,如果是线要素的河流有办法制作渐变效果吗,答案是肯定的,这里为大家介绍一下制作方法,希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的水系数…

quarkus的一些注解1

path 用于指定一个类或者方法的URL路径前缀。 Inject 将一个依赖注入到一个类或方法中 Get 用于指定一个处理HTTP GET请求 Produce 注解用于指定一个方法返回的内容类型。例如,Produces(MediaType.TEXT_PLAIN) 表示该方法返回一个纯文本类型的内容 QuarkusIn…

利用WebSocket +MQ发送紧急订单消息,并在客户端收到消息的用户的页面自动刷新列表

背景:在原有通知公告的基础上,把通知公共的推送服务修改为其他业务收到紧急订单发送公告到消息队列MQ,然后在js中创建一个socket去监听公告,收到公告后刷新所有在订单页面的用户的页面列表(重点就是用户在收到紧急订单…

《网络协议》07. 其他协议

title: 《网络协议》07. 其他协议 date: 2022-10-07 18:24:02 updated: 2023-11-15 08:00:52 categories: 学习记录:网络协议 excerpt: IPv6、WebSocket、WebService(SOAP,WSDL)、HTTPDNS、FTP、邮件(SMTP,…

基于单片机的温度控制器系统设计

**单片机设计介绍, 基于单片机的温度控制器系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的温度控制器系统是一种利用单片机来检测环境温度并控制温度的系统。它通常由以下几个部分组成&#xff…

CSDN每日一题学习训练——Python版(新浪微博热门话题、Z 字形变换)

版本说明 当前版本号[20231117]。 版本修改说明20231117初版 目录 文章目录 版本说明目录新浪微博热门话题题目解题思路代码思路参考代码 Z 字形变换题目解题思路代码思路参考代码 新浪微博热门话题 题目 ​ 新浪微博可以在发言中嵌入“话题”,即将发言中的话题…

Spring 设计模式-简洁版

Java 中包括以下设计模式: 其中Spring 用到的设计模式 1.简单工厂-BeanFactory 2.工厂方法FactoryBean 3.单例模式Bean实例 4.适配器模式SpringMVC中的HandlerAdatper 5.装饰器模式BeanWrapper 6.代理模式_AOP底层 7.观察者模式-spring的事件监听 8.策略横式exclud…

C#委托初步

委托可以很方便地实现对一个对象方法的扩展 PhotoFilters是一个类,有3个人方法: public void ApplyBrightness(Photo photo){Console.WriteLine("亮度增加");}public void ApplyContrast(Photo photo){Console.WriteLine("对比度增加&q…

【限时免费】20天拿下华为OD笔试之 【不定滑窗】2023B-字符串摘要【欧弟算法】全网注释最详细分类最全的华为OD真题题解

文章目录 题目描述与示例题目描述输入描述输出描述示例一输入输出说明 示例二输入输出说明 解题思路滑窗三问滑窗三答 代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描述 给定一个字符串的摘要算法,请输出给定字符串…

基于人工电场算法优化概率神经网络PNN的分类预测 - 附代码

基于人工电场算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于人工电场算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于人工电场优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

WPF如何实现应用程序托盘

在WPF中实现应用程序托盘图标和菜单功能通常需要使用System.Windows.Forms.NotifyIcon类,因为WPF本身并没有直接提供这样的控件。为了使用NotifyIcon,你需要添加对System.Windows.Forms的引用。以下是如何实现的步骤: 1. 添加对 System.Wind…

jedis连接redis

package com.wsd;import redis.clients.jedis.Jedis;import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.Map; import java.util.Properties;public class Redis {public static void main(String[] args) {//读取properti…

Windows11 python3.12 安装pyqt6 pyqt6-tools

Windows11 python3.12 安装pyqt6比较容易,但pyqt6-tools一直安装不上去。出错信息如下: (venv) PS D:\python_project\pyqt6> pip install pyqt6-tools Collecting pyqt6-toolsUsing cached pyqt6_tools-6.4.2.3.3-py3-none-any.whl (29 kB) Collec…

思源笔记的优缺点 vs Obsidian vs Logseq vs Trilium

新用户对思源笔记的印象。(PS:两年前我试用过思源笔记,被卡顿劝退了) 优点 相比obsidian, 可在文档树拖拽 拖拽调整笔记顺序 拖拽使一个笔记成为另一个笔记的子笔记,树状结构 设置-文档树,默认…

homeassiant主题

下载主题 https://github.com/maartenpaauw/home-assistant-community-themes.git 使用file editor到homeassiant路径下,新建文件夹themes文件夹,用terminal新建也可以。 使用file editor上传文件 使用Terminal解压 mkdir themes unzip home-assistan…

Redis(消息队列Stream)

Stream是一个轻量级的消息队列。 Redis中Stream的作用是提供一种高效的消息传递机制,允许多个消费者并行地消费消息,并且不会重复消费已经处理过的消息。它可以用于实现分布式任务队列、日志收集、实时数据处理等场景。Redis中的Stream支持多个消费者组…