Nvll_osd_draw_lines coredump

• Hardware Platform (Jetson / GPU) GTX2080ti
• DeepStream Version 5.0.1
• TensorRT Version 7.1.3.4
• NVIDIA GPU Driver Version (valid for GPU only) 450.66

Sometimes the drawline function coredumped.
OUTPUT:
#0 0x00007f8e53f280d0 in ?? () from /usr/lib/x86_64-linux-gnu/libcairo.so.2
[Current thread is 1 (Thread 0x7f8d137fe700 (LWP 16890))]
(gdb)
(gdb) bt
#0 0x00007f8e53f280d0 in () at /usr/lib/x86_64-linux-gnu/libcairo.so.2
#1 0x00007f8e53f6d352 in () at /usr/lib/x86_64-linux-gnu/libcairo.so.2
#2 0x00007f8e53f5ed7f in () at /usr/lib/x86_64-linux-gnu/libcairo.so.2
#3 0x00007f8e53f5f84f in () at /usr/lib/x86_64-linux-gnu/libcairo.so.2
#4 0x00007f8e53f60402 in () at /usr/lib/x86_64-linux-gnu/libcairo.so.2
#5 0x00007f8e53f1a237 in () at /usr/lib/x86_64-linux-gnu/libcairo.so.2
#6 0x00007f8e53f2bf02 in () at /usr/lib/x86_64-linux-gnu/libcairo.so.2
#7 0x00007f8e53f642b9 in () at /usr/lib/x86_64-linux-gnu/libcairo.so.2
#8 0x00007f8e53f221c4 in () at /usr/lib/x86_64-linux-gnu/libcairo.so.2
#9 0x00007f8e53f1bbc9 in () at /usr/lib/x86_64-linux-gnu/libcairo.so.2
#10 0x00007f8e53f149d5 in cairo_stroke () at /usr/lib/x86_64-linux-gnu/libcairo.so.2
#11 0x00007f8e18cf3b72 in nvll_osd_draw_lines ()
at /opt/nvidia/deepstream/deepstream/lib/libnvds_osd.so

if (track_to_draw.size() > 1)
					{
						NvOSD_FrameLineParams frame_line_params;
						frame_line_params.buf_ptr = &(surface->surfaceList[surfindex]);
						frame_line_params.num_lines = track_to_draw.size() - 1;
						frame_line_params.mode = MODE_CPU;
						frame_line_params.line_params_list = (NvOSD_LineParams *)g_malloc(sizeof(NvOSD_LineParams) * frame_line_params.num_lines);

						for (guint k = 0; k < frame_line_params.num_lines; ++k)
						{
							NvOSD_LineParams *line_params = &frame_line_params.line_params_list[k];
							line_params->x1 = track_to_draw[k].x;
							line_params->y1 = track_to_draw[k].y;
							line_params->x2 = track_to_draw[k + 1].x;
							line_params->y2 = track_to_draw[k + 1].y;
							line_params->line_width = 1;
							line_params->line_color = color;
						}

						try
						{
							if (nvll_osd_draw_lines(ivaplugin3->nvosd_ctx, &frame_line_params))
							{
								printf("failure to draw lines");
							}
						}
						catch (std::exception e)
						{
							printf("failure to draw lines");
						}
						g_free(frame_line_params.line_params_list);
					}

It seems only rectangles support GPU

**And I also found that if I change to CPU mode, **
sometimes also rectangles crashed with the same error.

Any advice? THANKS!

Any replies?

Hey, would you mind to share the code which can be complied and run with us and the repro steps?

I found the solution:

nvll_osd_set_params should not be invoked too frequently!