SIGSEGV gst-infer and yolov3

Hi,

I’m trying a simple gstreamer pipeline with my freshly trained yolov3 model but endup with a sigsegv when running the pipeline…

gst-launch-1.0 uridecodebin uri= file:///home/jetson/ml/data/videos/lovefish_terrasse_cam04_01.mp4  ! m.sink_0 nvstreammux name=m batch-size=1 width=1280 height=720  ! nvinfer config-file-path=config_infer_primary_yoloV3.txt  ! fakesink
Setting pipeline to PAUSED ...
Deserialize yoloLayerV3 plugin: yolo_83
Deserialize yoloLayerV3 plugin: yolo_95
Deserialize yoloLayerV3 plugin: yolo_107
Pipeline is PREROLLING ...
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 261 
NVMEDIA: Reading vendor.tegra.display-size : status: 6 
NvMMLiteBlockCreate : Block : BlockType = 261 
WARNING: Num classes mismatch. Configured:2, detected by network: 80
Caught SIGSEGV
#0  0x0000007fb465f048 in __GI___poll (fds=0x55c0ac7d90, nfds=548488528496, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41
#1  0x0000007fb476be40 in  () at /usr/lib/aarch64-linux-gnu/libglib-2.0.so.0
#2  0x00000055987483a0 in  ()
Spinning.  Please run 'gdb gst-launch-1.0 7360' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.

Any idea to get more clue as of where this sigsegv happens ?

Cheers

Hi,

Could you share the JetPack and Deepstream version with us first?
Thanks.

Hi !

sorry I’ve been away for couple of days.

I’ve manage to pinpoint the issue, was coming form the fact that I had different number of classes from the config to the model (trained with only one class)
Even though it “only” warns you, it is actually going to crash if you do have != classNum.

I’ll mark it as resolved !

Cheers

every time you change the number of classes you need to compile the program via:

export CUDA_VER=10.1

make -C nvdsinfer_custom_impl_Yolo

2 Likes