Closed ddeokho closed 4 years ago
현재 진행 : NNStreamer 예제에 2D projection을 구성한 Gstreamer 코드 연결
이슈
변경 후 컴파일을 하니 아래 사진과 같은 에러가 발생
(py36) deokho@deokho-ThinkPad-T480s:~/nnstreamer-example/native/example_object_detection_tensorflow/nnstreamer-gstreamer$ g++ nnstreamer_example_object_detection_tf3.cc -o nntest3 `pkg-config --cflags --libs gstreamer-1.0 gstreamer-video-1.0 cairo gstreamer-app-1.0`
In file included from /usr/include/glib-2.0/gobject/gobject.h:28:0,
from /usr/include/glib-2.0/gobject/gbinding.h:29,
from /usr/include/glib-2.0/glib-object.h:23,
from /usr/include/gstreamer-1.0/gst/gstenumtypes.h:7,
from /usr/include/gstreamer-1.0/gst/gst.h:31,
from nnstreamer_example_object_detection_tf3.cc:26:
nnstreamer_example_object_detection_tf3.cc: In function ‘int main(int, char**)’:
/usr/include/glib-2.0/gobject/gsignal.h:475:103: error: cannot convert ‘AppData’ to ‘gpointer {aka void*}’ for argument ‘4’ to ‘gulong g_signal_connect_data(gpointer, const gchar*, GCallback, gpointer, GClosureNotify, GConnectFlags)’
g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
^
nnstreamer_example_object_detection_tf3.cc:722:3: note: in expansion of macro ‘g_signal_connect’
g_signal_connect (g_app.appsrc, "need-data", G_CALLBACK (start_feed), g_app);
^~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gsignal.h:475:103: error: cannot convert ‘AppData’ to ‘gpointer {aka void*}’ for argument ‘4’ to ‘gulong g_signal_connect_data(gpointer, const gchar*, GCallback, gpointer, GClosureNotify, GConnectFlags)’
g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
^
nnstreamer_example_object_detection_tf3.cc:723:3: note: in expansion of macro ‘g_signal_connect’
g_signal_connect (g_app.appsrc, "enough-data", G_CALLBACK (stop_feed), g_app);
우선 gstremaer 코드에서는 문제가 없는데 옮기는 과정이나 연결이 제대로 안되었는지 확인이 필요.
옮기는 과정이나 연결 확인을 의미하는 것이 gstreamer - nnstreamer 간 연결 시 기존 예제의 appsrc 에 data를 넣는걸 말씀하시는 거죠? 현재 제 환경에서도 동일한 에러가 발생해요
master branch에 해당 issue를 수정한 코드 올려놓았습니다.
현재는 build가 정상적으로 됩니다.
파일 이름 : nnstreamer_example_object_detection_tf3_2.cc
현재 덕호님 branch의 파일 nnstreamer_example_object_detection_tf2 에서 model을 squeezenet으로 교체했을 시 에러없이 잘 동작합니다.
파일 nnstreamer_example_object_detection_tf3_2.cc 에서는 빌드는 되나 실행 시 아래와 같이 모델을 불러오지 못합니다. default인 ssdlite_mobilenet_v2.pb 모델입니다.
방금 3월 12일(목) 올려주신 tf_init 추가된 코드 돌려보면 뜨는 에러입니다.
[Error Message]
ERROR:/build/nnstreamer-G2nmcV/nnstreamer-1.5.0.0/ext/nnstreamer/tensor_filter/tensor_filter_tensorflow.cc:388:int TFCore::validateTensor(const GstTensorsInfo*, int): assertion failed: (tensorInfo->info[i].type == getTensorTypeFromTF (type)) 중지됨 (core dumped)
[assertion failed]
아 파이프 라인에 input type이 float32로 되어있었네요. 그걸 uint8로 변경하시면 되어요.
2020-03-13 02:22:31.993854: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
data_point/0000000000.txt
number of point cnt=120574
ERROR: from element /GstPipeline:pipeline0/GstAppSrc:src: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstAppSrc:src:
streaming stopped, reason not-negotiated (-4)
Segmentation fault
에러는 이런 형태이고
/* run main loop */
g_main_loop_run (g_app.loop);
위 부분에서 에러가 나는데 파이프라인이 제대로 반복하지 못하는 거 같아요. 그런데 gstreamer의 appsrc부분에는 g_main_loop_run을 사용하지 않고 강제로 for를 이용해 돌려줬었는데 저희가 스트림 단위로 돌리는 게 아니기 때문에 위와 같은 방식으로 해야 하는 거 아닐까요?
네, 저도 input data type 을 바꿨을 때 동일한 에러가 났어요.
ERROR: from element /GstPipeline:pipeline0/GstAppSrc:src: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstAppSrc:src:
streaming stopped, reason not-negotiated (-4)
세그멘테이션 오류 (core dumped)
for문으로 반복하는 대신 g_main_loop_run 으로 시도해보자는 말씀이시죠? 찾아보고 얼른 에러 해결해야겠네요~!
g_main_loop_run 대신에 for로 돌려보려해요. 저희가 작업하고 있는 코드는 g_main_loop_run을 사용하고 있거든요.. 그런데 이건 방법이 아닌 거 같다는 생각도 드네요.. 데이터 타입부터 맞는 지 좀 찾아봐야 할 거 같아요
덕호님, 왜 g_main_loop_run()을 사용하는 부분에서 for문을 적용하여 파일을 불러오는 방법이 아니라고 생각하셨나요?
저도 지금 gstreamer internal data streaming과 관련하여 찾아보고있는데
/* run main loop */
//g_main_loop_run (g_app.loop);
해당 부분을 주석처리하여 실행하면 문제가 없어서, 지금 발생되는 에러인 연속된 파일을 불러오지 못하는 것과 관련하여 해결이 필요해보입니다. 기존 gstreamer appsrc 부분에서 g_main_loop_run() 함수 대신 for문으로 구현하여 파일을 불러오셨다하셨는데, 이를 동일하게 적용했을 때 무엇이 문제인가요?
해당 코드 를 630, 64 -> 640, 480으로 변경
/* setup */
g_object_set (G_OBJECT (g_app.appsrc), "caps",
gst_caps_new_simple ("video/x-raw",
"format", G_TYPE_STRING, "RGB16",
"width", G_TYPE_INT, 640, //@dw 20.03.09
"height", G_TYPE_INT, 480,
"framerate", GST_TYPE_FRACTION, 25, 1,
NULL), NULL);
/* setup appsrc */
g_object_set (G_OBJECT (g_app.appsrc),
"stream-type", 0, // GST_APP_STREAM_TYPE_STREAM
"format", GST_FORMAT_TIME,//GST_FORMAT_TIME
"is-live", TRUE,
NULL);
아래 사진과 같이 화면이 뜨나 까맣게만 나옴.
appsrc에서도 동작하는 것 확인 했으나 아래의 에러가 발생.
(py36) deokho@deokho-ThinkPad-T480s:~/nnstreamer-example/native/example_object_detection_tensorflow/nnstreamer-gstreamer$ sudo ./nntest333 2020-03-14 19:10:25.166165: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
data_point/0000000000.txt
number of point cnt=120574
data_point/0000000001.txt
ERROR: from element /GstPipeline:pipeline0/GstVideoConvert:videoconvert0: Internal GStreamer error: code not implemented. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
Additional debug info:
gstvideofilter.c(293): gst_video_filter_transform (): /GstPipeline:pipeline0/GstVideoConvert:videoconvert0:
invalid video buffer received
number of point cnt=120831
data_point/0000000002.txt
ERROR: from element /GstPipeline:pipeline0/GstVideoConvert:videoconvert0: Internal GStreamer error: code not implemented. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
Additional debug info:
gstvideofilter.c(293): gst_video_filter_transform (): /GstPipeline:pipeline0/GstVideoConvert:videoconvert0:
invalid video buffer received
number of point cnt=121015
Segmentation fault
Internal data stream error는 630, 64의 크기로 화면을 열 수 없었기에 발생한 것으로 판단.
NNStreamer pipeline 도는 것 확인
위와 같은 결과 나옴.
ThinkPad-T480s:~/nnstreamer-example/native/example_object_detection_tensorflow/nnstreamer-gstreamer$ sudo ./nntest333
2020-03-14 19:34:20.860266: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
data_point/0000000000.txt
number of point cnt=120574
data_point/0000000001.txt
number of point cnt=120831
data_point/0000000002.txt
number of point cnt=121015
Segmentation fault
하지만 데이터가 입력되는 중에 생기는 Segmentation fault는 해결해야 함.
valgrind로 'appsrc를 이용해 만든 것'과 '기존 NNStreamer예제' 둘 다 체크해 보았습니다.
그런데 결과는 두 개가 같네요.
appsrc
==13164== LEAK SUMMARY:
==13164== definitely lost: 16,384 bytes in 1 blocks
==13164== indirectly lost: 0 bytes in 0 blocks
==13164== possibly lost: 4,196 bytes in 61 blocks
==13164== still reachable: 8,084,732 bytes in 121,372 blocks
==13164== of which reachable via heuristic:
==13164== length64 : 464 bytes in 11 blocks
==13164== newarray : 4,576 bytes in 25 blocks
==13164== suppressed: 0 bytes in 0 blocks
==13164== Reachable blocks (those to which a pointer was found) are not shown.
==13164== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==13164==
==13164== For counts of detected and suppressed errors, rerun with: -v
==13164== ERROR SUMMARY: 63 errors from 63 contexts (suppressed: 0 from 0)
기존 NNStreamer 예제
==13147== LEAK SUMMARY:
==13147== definitely lost: 16,384 bytes in 1 blocks
==13147== indirectly lost: 0 bytes in 0 blocks
==13147== possibly lost: 4,236 bytes in 61 blocks
==13147== still reachable: 8,103,726 bytes in 121,563 blocks
==13147== of which reachable via heuristic:
==13147== length64 : 648 bytes in 12 blocks
==13147== newarray : 4,640 bytes in 29 blocks
==13147== suppressed: 0 bytes in 0 blocks
==13147== Reachable blocks (those to which a pointer was found) are not shown.
==13147== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==13147==
==13147== For counts of detected and suppressed errors, rerun with: -v
==13147== ERROR SUMMARY: 63 errors from 63 contexts (suppressed: 0 from 0)
처음 해보는 거라 하나씩 찾아가면서 다 체크해봐야 할 거 같아요.
위의 내용을 처리하기 어려워 NNStreamer 이슈에 질문을 남기려 합니다.
간략히 생각해본 설명과 질문인데 어떻게 하면 더 잘 설명하고 질문할 수 있을지 좀 더 고민해보고 내일 오전에 NNStreamer 이슈에 질문 남기도록 할게요.
NNStreamer 이슈에 질문 남겼습니다. 우선 예제 코드를 sudo권한 없이 돌렸을 때 나오는 segmentation fault (core dumped) 이슈부터 해결 한 후 저희가 만든 코드를 돌려고 합니다.(이 문제로 인해 발생 한다고 생각함)
1 -> 사용하는 모든 화일 권한부터 확인하세요. 권한 문제는 nnstreamer하고 관계없는 OS 문제입니다. 실행 에러잡을때, 특히 segmentation fault면 fault가 난 thread의 stack trace와 문제가 난 지점의 source과 그 순간의 관련 변수값 정도는 보여주셔야 의미있는 답변이 가능합니다.
1 -> 사용하는 모든 화일 권한부터 확인하세요. 권한 문제는 nnstreamer하고 관계없는 OS 문제입니다. 실행 에러잡을때, 특히 segmentation fault면 fault가 난 thread의 stack trace와 문제가 난 지점의 source과 그 순간의 관련 변수값 정도는 보여주셔야 의미있는 답변이 가능합니다.
친절히 답해 주셔서 감사합니다!
확인해야 할 사항(오늘 밤까지)
(py36) deokho@deokho-ThinkPad-T480s:~/nnstreamer/bin/tf_model$ ls -al
total 19460
drwxr-xr-x 2 deokho deokho 4096 3월 7 04:13 .
drwxr-xr-x 6 deokho deokho 4096 3월 12 20:19 ..
-rwxrwxrwx 1 deokho deokho 665 3월 7 04:12 coco_labels_list.txt
-rwxrwxrwx 1 deokho deokho 19911343 3월 7 03:52 ssdlite_mobilenet_v2.pb
tection_tensorflow/nnstreamer-gstreamer$ gdb -q ./nntest333
Reading symbols from ./nntest333...done.
(gdb) run
Starting program: /home/deokho/nnstreamer-example/native/example_object_detection_tensorflow/nnstreamer-gstreamer/nntest333
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
(nntest333:16829): GLib-CRITICAL **: 17:20:19.625: g_file_test: assertion 'filename != NULL' failed
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6da5580 in g_str_hash ()
from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
모르는 게 많아 공부해서 최대한 오늘 밤까지 하고 내용 공유 할게요.
덕호님, 문의주신 파일 권한에 대해 확인한 사항입니다.
저 또한 현재 segmentation fault가 발생하고 있어 제 파일 권한과 비교하는 것이 의미가 있을지 모르겠습니다.
일단 저의 경우 위와 같이 나옵니다.
NNStreamer mainainter 께서 주신 답변을 바탕으로 OS 문제로 파악되는 부분에 대해 research 하며 정리된 내용 이슈에 남기도록 하겠습니다!
제가 정확히 안적어서 다른 걸 이해하셨어요. 제 바운더리 컨디션?은 저희가 아무것도 건드리지 않은 예제로(해당 예제의 코드는 '기본 예제', 저희가 변경한 것은 'appsrc 변경 코드'라 명) 한정된 상태에요. 이것을 구동시킬 때 생기는 문제부터 해결해야 할 것 같아서요. 그래서 용희 님과 비교해 보려하는 것은 ''appsrc 변경 코드'가 아닌 '기본 예제(nnstreamer_example_object_detection_tf )' 구동 여부와 그 권한이였어요.
이유는 '기본 예제'를 돌렸을 때 저는 sudo 권한 없이는 안돌아 갔고 용희 님은 구동이 되었기 때문이에요. 그리고 이 환경 차이가 'appsrc 변경 코드'에서 생기는 문제에 중복으로 있지 않을까 생각해 '기본 예제'를 sudo권한을 주지 않은 채 돌렸을 때 segmentaion fault가 나오는 상황부터 해결하려 했어요.
답변해 주신 내용을 참고
Check the permissions, owner, attibute of ./tf_model/ssdlite_mobilenet_v2.pb in your binary directory.
제 권한(답변을 보고 넓혀봄)과 용희 님 권한이 같은 걸 확인.
(py36) deokho@deokho-ThinkPad-T480s:~/nnstreamer/bin/tf_model$ ls -al
total 19460
drwxr-xr-x 2 deokho deokho 4096 3월 7 04:13 .
drwxr-xr-x 6 deokho deokho 4096 3월 12 20:19 ..
-rwxrwxrwx 1 deokho deokho 665 3월 7 04:12 coco_labels_list.txt
-rwxrwxrwx 1 deokho deokho 19911343 3월 7 03:52 ssdlite_mobilenet_v2.pb
그럼에도 제 환경에서는 같은 문제가 발생 중. OS에서 무엇을 더 해줘야 하는 지 찾아봐야함.
segmentation fault를 해결하기 위해 구체적인 정보를 뽑기 위해 필요. 이 부분은 '기본 예제'와 'appsrc 변경 코드'를 sudo 권한을 줬을 때 주지 않았을 때로 나누어 gdb로 돌려봄. (이걸 stack trace라고 할 수 있는 건지는 잘 모르겠네요..)
기본 예제
sudo 권한 줬을 때 문제 gdb 확인
(py36) deokho@deokho-ThinkPad-T480s:~/nnstreamer/bin$ sudo gdb -q ./nnstreamer_example_object_detection_tf
Reading symbols from ./nnstreamer_example_object_detection_tf...done.
(gdb) run
Starting program: /home/deokho/nnstreamer/bin/nnstreamer_example_object_detection_tf
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe9338700 (LWP 17241)]
[New Thread 0x7fffe3d99700 (LWP 17242)]
[Thread 0x7fffe3d99700 (LWP 17242) exited]
2020-03-20 17:26:07.022775: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
[New Thread 0x7fffe3d99700 (LWP 17243)]
[New Thread 0x7fffea636700 (LWP 17244)]
[New Thread 0x7fffe9e35700 (LWP 17245)]
[New Thread 0x7fffe8b37700 (LWP 17246)]
[New Thread 0x7fffe2fdb700 (LWP 17247)]
[New Thread 0x7fffe27da700 (LWP 17248)]
[New Thread 0x7fffe1fd9700 (LWP 17249)]
[New Thread 0x7fffe17d8700 (LWP 17250)]
[New Thread 0x7fffe0fd7700 (LWP 17251)]
[New Thread 0x7fffbbfff700 (LWP 17252)]
[New Thread 0x7fffbb7fe700 (LWP 17253)]
[New Thread 0x7fffbaffd700 (LWP 17254)]
[New Thread 0x7fffba7fc700 (LWP 17255)]
[New Thread 0x7fffb9ffb700 (LWP 17256)]
[New Thread 0x7fffb97fa700 (LWP 17257)]
[New Thread 0x7fffb8ff9700 (LWP 17258)]
[New Thread 0x7fff9bfff700 (LWP 17259)]
[New Thread 0x7fff9b7fe700 (LWP 17260)]
[New Thread 0x7fff9affd700 (LWP 17261)]
[New Thread 0x7fff9a7fc700 (LWP 17262)]
[New Thread 0x7fff99ffb700 (LWP 17263)]
[Thread 0x7fff99ffb700 (LWP 17263) exited]
[New Thread 0x7fff99ffb700 (LWP 17264)]
[Thread 0x7fff99ffb700 (LWP 17264) exited]
[New Thread 0x7fff99ffb700 (LWP 17265)]
[Thread 0x7fff99ffb700 (LWP 17265) exited]
[New Thread 0x7fff99ffb700 (LWP 17266)]
ERROR: from element /GstPipeline:pipeline0/GstXImageSink:img_tensor: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstXImageSink:img_tensor:
There may be a timestamping problem, or this computer is too slow.
ERROR: from element /GstPipeline:pipeline0/GstXImageSink:img_tensor: A lot of buffers are being dropped.
sudo 권한 안줬을 때 gdb
(py36) deokho@deokho-ThinkPad-T480s:~/nnstreamer/bin$ gdb -q ./nnstreamer_example_object_detection_tf
Reading symbols from ./nnstreamer_example_object_detection_tf...done.
(gdb) run
Starting program: /home/deokho/nnstreamer/bin/nnstreamer_example_object_detection_tf
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
(nnstreamer_example_object_detection_tf:17229): GLib-CRITICAL **: 17:25:38.723: g_file_test: assertion 'filename != NULL' failed
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7af9580 in g_str_hash () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
**appsrc 변경 코드**
- sudo 권한 줬을 때
(py36) deokho@deokho-ThinkPad-T480s:~/nnstreamer-example/native/example_object_detection_tensorflow/nnstreamer-gstreamer$ sudo gdb -q ./nntest333 [sudo] password for deokho: Sorry, try again. [sudo] password for deokho: Reading symbols from ./nntest333...done. (gdb) run Starting program: /home/deokho/nnstreamer-example/native/example_object_detection_tensorflow/nnstreamer-gstreamer/nntest333 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7fffe9e8c700 (LWP 17541)] [New Thread 0x7fffe8931700 (LWP 17542)] [Thread 0x7fffe8931700 (LWP 17542) exited] 2020-03-20 17:36:16.897046: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA [New Thread 0x7fffe8931700 (LWP 17543)] [New Thread 0x7fffeb18a700 (LWP 17544)] [New Thread 0x7fffea989700 (LWP 17545)] [New Thread 0x7fffe968b700 (LWP 17546)] [New Thread 0x7fffe3aa9700 (LWP 17547)] [New Thread 0x7fffe32a8700 (LWP 17548)] [New Thread 0x7fffe2aa7700 (LWP 17549)] [New Thread 0x7fffe22a6700 (LWP 17550)] [New Thread 0x7fffe1aa5700 (LWP 17551)] [New Thread 0x7fffe12a4700 (LWP 17552)] [New Thread 0x7fffe0aa3700 (LWP 17553)] [New Thread 0x7fffb7fff700 (LWP 17554)] [New Thread 0x7fffb77fe700 (LWP 17555)] [New Thread 0x7fffb6ffd700 (LWP 17556)] [New Thread 0x7fffb67fc700 (LWP 17557)] [New Thread 0x7fffb5ffb700 (LWP 17558)] [New Thread 0x7fffb57fa700 (LWP 17559)] [New Thread 0x7fffb4ff9700 (LWP 17560)] [New Thread 0x7fff93fff700 (LWP 17561)] [New Thread 0x7fff937fe700 (LWP 17562)] data_point/0000000000.txt number of point cnt=120574 data_point/0000000001.txt [New Thread 0x7fff92ffd700 (LWP 17563)] [Thread 0x7fff92ffd700 (LWP 17563) exited] number of point cnt=120831 data_point/0000000002.txt number of point cnt=121015
Thread 23 "src:src" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff937fe700 (LWP 17562)] 0x00007ffff7615996 in ?? () from /usr/lib/x86_64-linux-gnu/libgstapp-1.0.so.0
- sudo 권한 안줬을 때
(nntest333:17508): GLib-CRITICAL **: 17:34:42.543: g_file_test: assertion 'filename != NULL' failed
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff6da5580 in g_str_hash () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (gdb) run The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /home/deokho/nnstreamer-example/native/example_object_detection_tensorflow/nnstreamer-gstreamer/nntest333 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
(nntest333:17517): GLib-CRITICAL **: 17:34:50.126: g_file_test: assertion 'filename != NULL' failed
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff6da5580 in g_str_hash () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
현재까지 위 내용을 토대로 모르는 것을 이것 저것 찾아 보았지만 아직 정리가 안되어 정리 후 작성 하겠습니다.
권한 이슈 아직 해결 못함 -> 시간이 많지 않기 때문에 우선 sudo 권한으로 구동시키려고함.
Segmentation fault -> 해결
Thread 23 "src:src" received signal SIGSEGV, Segmentation fault.
소스 패드로 들어가는 소스 확인(2D projection). 지정한 frame의 크기를 넘겨 들어오는 데이터 확인. -> 수정(코드 커밋)
gdb를 안 것이 매우 유용했음.(gstreamer로만 구현했던 코드와 다른 부분은 없었음. 변경이 있었다면 gcc컴파일러에서 g++로 컴파일러가 변경 된건데 그럴 수 있는 건가?)
-2D projection
-확대 본
목표 : NNStreamer 코드를 수정해서 파이프라인데 data를 넣기. (v4l2src 대신 appsrc 이용)
결과물 : NNStreamer 파이프라인의 구동
마감 : 3/11(수)
리뷰어 : 다운 님, 용희 님