链接了dpdk的进程启动core在 Illegal instruction
失败后的core栈像下面这样:
Program terminated with signal SIGILL, Illegal instruction.
# 0x00000000036a3fdd in rte_cpu_get_flag_enabled ()
[Current thread is (Thread 0x7fc26fda21a0 (LWP ))]
(gdb) bt
# 0x00000000036a3fdd in rte_cpu_get_flag_enabled ()
# 0x0000000003694f4e in rte_hash_crc_init_alg ()
# 0x000000000388074f in __libc_csu_init ()
# 0x00007fc26df6092e in __libc_start_main () from /lib64/libc.so.
# 0x0000000000bec929 in _start ()
core的原因很显然:"Illegal instruction",指令非法,查看core处的汇编代码:

shrx指令属于bmi2指令集,查看运行该binary的机器上有无bmi2指令集:
cat /proc/cpuinfo | grep flags
发现该CPU上没有bmi2指令集,所以core掉了。
所以根源是:编译dpdk library的机器的CPU版本更高,支持了bmi2指令,但是运行dpdk的机器的CPU版本更低,不支持bmi2指令。
网上有博文说在编译dpdk的时候将CONFIG_RTE_MACHINE设置成default能解,我们尝试了无果,最后找了一个CPU版本较低的机器编译了整套dpdk library,core未出现。不过这个解法只是权宜之计,长期来看,还是要做好不同CPU和机型的适配工作。
链接了dpdk的进程启动core在 Illegal instruction的更多相关文章
- Android系统init进程启动及init.rc全解析
		转:https://blog.csdn.net/zhonglunshun/article/details/78615980 服务启动机制system/core/init/init.c文件main函数中 ... 
- 【系统篇】从C/C++语言到进程启动背后的故事
		我们需要运行一个程序或者软件,双击之即可完成.不过从你双击到程序的窗口产生的这“短暂”的时间内,Windows为你做了很多的工作. 首先,系统有一个进程监测到了你的双击操作,这个进程就是系统shell ... 
- Android应用程序进程启动过程的源代码分析
		文章转载至CSDN社区罗升阳的安卓之旅,原文地址: http://blog.csdn.net/luoshengyang/article/details/6747696 Android 应用程序框架层创 ... 
- Android 跨进程启动Activity黑屏(白屏)的三种解决方案
		原文链接:http://www.cnblogs.com/feidu/p/8057012.html 当Android跨进程启动Activity时,过程界面很黑屏(白屏)短暂时间(几百毫秒?).当然从桌面 ... 
- Zygote及System进程启动
		1. init 根据init.rc 运行 app_process, 并携带‘--zygote' 和 ’--startSystemServer' 参数. 2. AndroidRuntime.cpp: ... 
- 笔记:Zygote和SystemServer进程启动过程
		简述 Android设备启动过程中,先是Linux内核加载完,接着Android中的第一个进程init启动,它会启动一些需要开机启动的进程. Zygote就是进程init启动起来的.Android中所 ... 
- Windows/Linux用户态监控进程启动事件方法
		catalogue . windows wmi监控进程启动 . linux netlink监控进程启动 1. windows wmi监控进程启动 from threading import Threa ... 
- Android系统启动流程(三)解析SystemServer进程启动过程
		1.Zygote启动SystemServer进程 在上一篇文章中我们讲到在ZygoteInit.java的startSystemServer函数中启动了SyetemServer进程,如下所示. fra ... 
- Android系统启动流程(一)解析init进程启动过程
		整体流程大致如下: 1.init简介 init进程是Android系统中用户空间的第一个进程,作为第一个进程,它被赋予了很多极其重要的工作职责,比如创建zygote(孵化器)和属性服务等.in ... 
随机推荐
- git branch & checkout fetch 的使用和冲突解决
			git branch & checkout fetch 的使用和冲突解决 branch git branch 查看本地分支 git branch -v 查看本地分支的具体信息(commi ... 
- SpringMVC(二四) 视图解析流程
			目标方法无论返回的是string.ModelAndView.View,最终都被解析成modelAndView 关键的实现代码是在springmvc.xml配置文件中定义解析器. 参考代码如下: < ... 
- C# MediaHelper
			using System.Text; public class MediaHelper { private static MediaHelper media = null; private Media ... 
- json信息的后台到前台的传输
			公共方法: /** * 实际返回的是 response.setContentType("text/html;charset=utf-8"); * * @param o */ pub ... 
- BZOJ.4910.[SDOI2017]苹果树(树形依赖背包 DP 单调队列)
			BZOJ 洛谷 \(shadowice\)已经把他的思路说的很清楚了,可以先看一下会更好理解? 这篇主要是对\(Claris\)题解的简单说明.与\(shadowice\)的做法还是有差异的(比如并没 ... 
- 最近在学习python,做了一道人机大战的题目,分享一下,虽然可能有些麻烦,但是每个人思维是不同的。
			#题目如下:1:人和机器进行猜拳游戏写成一个类,首先选择角色:1 曹操 2张飞 3 刘备,然后选择的角色进行猜拳:1剪刀 2石头 3布 玩家输入一个1-3的数字 : 1 import random c ... 
- Android应用程序结构
			综述:Android应用程序包含哪些部分? assets 可以出发一些随程序打包的文件,应用程序运行时可以动态读取到这些文件的内容. 如果使用到webview加载本地网页的功能,所有网页相关的文件都存 ... 
- CY7C68013 USB接口相机开发记录 - 第一天:资料下载
			一直觉得从头开发一套东西出来会极大的提升自己的自信心,能够最大化的开发自己的潜能.所以在犹豫很久之后决定学习下CY7C68013 USB接口相机的开发. 通过在网上查找多份资料后,觉得工欲善其事必先利 ... 
- BZOJ2670 : Almost
			求出前缀和$s[]$,那么区间$[l,r]$的几乎平均数$=\frac{s[r]-s[l-1]}{r-l}$. 若只有一个询问,那么可以维护$(i,s[i-1])$的凸壳,在凸壳上二分点$(i,s[i ... 
- Node爬取简书首页文章
			Node爬取简书首页文章 博主刚学node,打算写个爬虫练练手,这次的爬虫目标是简书的首页文章 流程分析 使用superagent发送http请求到服务端,获取HTML文本 用cheerio解析获得的 ... 
