2013-01-02 2 views
3

어떻게이 오류 메시지의 근본 원인을 추적 할 수 있습니까?GStreamer-CRITICAL ** : gst_debug_log_valist : 어설 션`category! = NULL '에 실패 했습니까?

(시험 : 1090) :있는 GStreamer-CRITICAL ** : gst_debug_log_valist! 주장 '카테고리 = NULL'은 좀 더 걸릴 수 있습니다 코드에서 간헐적 인 문제를 디버깅 할 수 --gst-debug=GST_REFCOUNTING:5을 사용하고

실패 10 시간 이상 재생할 수 없습니다. 파이프 라인은 gst-debug 오류 메시지가 있어도 제대로 작동합니다. GStreamer-CRITICAL 오류 메시지에 대해 걱정해야합니까?

답변

4

이외의 다른 문제를 야기한다 일이 아니다 = 치명적이 극대화 환경 변수합니다 (의 Running GLib Applications 섹션을 참조하십시오 GDB와 use gdb to get a backtrace의 입심 설명서) ... 당신은 실제로 당신이 use a core dump instead 수 GDB에서 프로그램을 실행하지 않으려면

G_DEBUG=fatal-criticals gdb -ex run --args ./test arg1 arg2 ... 

같은.

추적을 얻으면 위반 코드를 쉽게 찾을 수 있습니다. 메시지가 무해하거나 GStreamer의 내부 문제 일 수도 있지만, 내가 너라면 최소한 체크 아웃 할 것입니다. 그런 일이 일어나는 것을 기다리는 세그먼트와 같이 심각한 문제를 나타내는 지표가 될 수 있습니다.

해당 메시지의 1090은 생성 된 C의 회선 번호가 아닌 PID을 참조 할 가능성이 있습니다.

2

이 메시지는 단순히 GST_REFCOUNTING 또는 카테고리와 같은 카테고리가없는 코드에 gstreamer 로그 메시지가 있다는 것을 알려주려는 것 같습니다. GST_REFCOUNTING 메시지에 관한 로그 메시지 만보고 싶기 때문에 gstreamer는이 특정 메시지가 중요한지 아닌지를 확신 할 수 없습니다. 직접 플러그인을 작성하거나 Logging functions 중 일부를 호출하지 않았다면 gstreamer 자체 또는 해당 플러그인 중 하나 일 가능성이 가장 높습니다.

하지만 잘못 분류 로그 메시지

나는 보통 G_DEBUG와 GDB에서 프로그램을 실행하는 일
관련 문제