mxpi_rtspsrc拉流插件运⾏偶现 BUS ERROR:XXX streamming stopped, reason error (-5) 错误
尝试打印Device侧的Tensor、Image内存数据时,发生coredump
问题现象
当Tensor、Image类数据在Device侧时,尝试调用GetData()接口返回指针并打印指针所指向的数据时,出现coredump提示。
原因分析
Device侧地址空间与Host侧地址空间相互独立,Host侧无法直接访问Device侧数据,具体请参见《CANN AscendCL应用软件开发指南 (C&C++)》。
解决方案
请先使用Tensor.ToHost()或Image.ToHost(),将Device侧Tensor类或Image类数据转移到Host侧后,再次尝试打印数据操作。
父主题: FAQ
使用mxVersion安装时,出现libpython3.9.so.1.0报错
问题现象
使用命令**./Ascend-mindxsdk-mxvision_{version}_linux-{arch}.run --install**安装版本包时,出现如下报错:
libpython3.9.so.1.0: cannot open shared object file: No such file or directory
原因分析
Python3.9需要的so文件依赖libpython3.9.so.1.0,在编译环境中找不到。
解决方案
将Python安装路径下的libpython3.9.so.1.0对象,复制到“/usr/lib”或“/usr/lib64”下。
父主题: FAQ
mxpi_rtspsrc拉流插件运⾏偶现 BUS ERROR:XXX streamming stopped, reason error (-5) 错误
问题现象
pipeline运行过程中,mxpi_rtspsrc插件报错Internal data stream error XXX streaming stopped, reason error (-5)的错误

原因分析
主要是由于数据源网络连接异常中断、或者是连接时cpu占用较高引起的偶现错误。
解决方案
mxpi_rtspsrc插件具有重连机制,等待30秒会尝试重连,建议等待重连成功即可。
父主题: FAQ
安装7.3.0版本gcc
以下步骤请在root用户下执行。
-
下载gcc-7.3.0.tar.gz,下载地址为https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz。
-
安装gcc时候会占用大量临时空间,所以先执行下面的命令清空“/tmp”目录:
rm -rf /tmp/* -
安装依赖(以CentOS和Ubuntu系统为例)。
-
CentOS执行如下命令安装。
yum install bzip2 -
Ubuntu执行如下命令安装。
apt-get install bzip2
-
-
编译安装gcc。
-
进入“gcc-7.3.0.tar.gz”源码包所在目录,解压源码包,命令为:
tar -zxvf gcc-7.3.0.tar.gz -
进入解压后的文件夹,执行如下命令下载gcc依赖包:
cd gcc-7.3.0./contrib/download_prerequisites如果执行上述命令报错,需要执行如下命令在“gcc-7.3.0/”文件夹下下载好以下依赖包:
wget http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2wget http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2wget http://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gzwget http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2下载好上述依赖包后,重新执行以下命令:
./contrib/download_prerequisites如果上述命令校验失败,需要确保依赖包为一次性下载成功,无重复下载现象。
-
执行配置、编译和安装命令:
./configure --enable-languages=c,c++ --disable-multilib --with-system-zlib --prefix=/usr/local/gcc7.3.0make -j15 # 通过grep -w processor /proc/cpuinfo|wc -l查看cpu数,示例为15,用户可自行设置相应参数。make install:::note 说明 其中“--prefix”参数用于指定gcc7.3.0安装路径,用户可自行配置,但注意不要配置为“/usr/local”及“/usr”,因为会与系统使用软件源默认安装的gcc相冲突,导致系统原始gcc编译环境被破坏。示例指定为“/usr/local/gcc7.3.0”。 :::
-
-
配置环境变量(请在实际需要时再进行配置)。
export LD_LIBRARY_PATH=/usr/local/gcc7.3.0/lib64:${LD_LIBRARY_PATH}export CC=/usr/local/gcc7.3.0/bin/gccexport CXX=/usr/local/gcc7.3.0/bin/g++export PATH=/usr/local/gcc7.3.0/bin:${PATH}其中“/usr/local/gcc7.3.0”为4.c中配置的gcc7.3.0安装路径,请根据实际情况替换。
父主题: 附录
Python依赖安装参考
介绍
目前mxVision开发套件包依赖Python 3.9,如环境中未配置Python 3.9,可参考本章节步骤安装依赖(以root用户安装Python 3.9.2为例)。
操作步骤
-
安装Python 3.9.2依赖库。
apt-get install -y build-essential gcc g++ make cmake zlib1g zlib1g-dev libsqlite3-dev openssl libssl-dev libffi-dev unzip pciutils net-tools libblas-dev gfortran libblas3 libopenblas-dev -
下载Python 3.9.2源码安装包。
wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz -
解压Python 3.9.2安装包。
tar -xzvf Python-3.9.2.tgz -
编译安装Python 3.9.2。
cd Python-3.9.2 && ./configure --prefix=/usr/local/python3.9.2 --enable-shared && make -j8 && make install -
拷贝libpython3.9.so.1.0到系统路径。
cp /usr/local/python3.9.2/lib/libpython3.9.so.1.0 /usr/lib -
设置环境变量。
export LD_LIBRARY_PATH=/usr/local/python3.9.2/lib:$LD_LIBRARY_PATHexport PATH=/usr/local/python3.9.2/bin:$PATH
:::note 说明 若源码方式安装完Python 3.9.2后,pip3工具无法使用,请参见源码方式安装完Python 3.9.2后,pip3工具无法使用解决。 :::
父主题: 附录
日志配置文件
日志框架基于glog实现,提供配置文件设置日志基本参数。
日志配置文件(logging.conf)
## MindX SDK configuration file
## Program name
## 项目工程名称,任意指定
program_name=mindx_sdk
## log output directory, create logs directory before use
## 日志输出文件夹,若是绝对路径,则会输出在该绝对路径下,该绝对路径只能设置在用户主目录下。若非绝对路径,则会输出在用户主目录下的/log/mindxsdk 与log_dir的拼接路径下。
log_dir=logs
## log file basefile
## 日志文件名前缀
base_filename=mxsdk.log.
## time to buffer the log in seconds,0 means write to file immediately
## 设置日志输出的周期(以秒为单位),0表示立即输出
logbufsecs=0
## will output to file, where level >= global_level,default is 0
## Log level: -1-debug,0-info
## 输出级别大于等于该数值的日志到文件,默认为0
global_level=0
## will output to stderr, where level >= console_level,default is 2
## Log level: -1-debug,0-info, 1-warn, 2-error, 3-fatal
## 输出级别大于等于该数值的日志到stderr,默认为2
console_level=2
## max log size, unit is MB, max_log_size must be an integer, default is 100. 1 <= value <= 1024
## 日志文件size最大值,单位为MB,max_log_size的值必须为大于等于1的正整数,默认值为100
max_log_size=100
## rotate time of log switch: 7 days(default), 1<= value <= 1000
## 日志文件天数回滚开关:默认值7天
## 日志文件天数回滚基于单一进程进行统计(只统计当前进程的日志);
rotate_day=7
## rotate file number of log switch: 50 (default, For each log level). 1 <= value <= 500
## 日志文件个数回滚开关:默认值50个(日志各个级别)
## 日志文件个数回滚基于单一进程进行统计(只统计当前进程的日志);
## 只有在程序正常退出时,才能保证日志文件的数量和rotate_file_number的值一致,用户异常退出程序时,实际日志数量可能会超过rotate_file_number。
rotate_file_number=50
## frequency of printing each log, frequency value must be an integer, defualt value is 1. 1 <= value <= 10000
## 每条日志的打印频率,参数值必须为整型,默认值为1,参数值填写范围在1~10000之间。
flow_control_frequency=1
父主题: 附录
在线提单