Edge-home-orchestration-go: استجابة خطأ من البرنامج الخفي: لا يمكن الحصول على سجلات من الحاوية الميتة أو التي تم وضع علامة عليها للإزالة

تم إنشاؤها على ١٣ يونيو ٢٠٢٠  ·  13تعليقات  ·  مصدر: lf-edge/edge-home-orchestration-go

تعمل صورة Docker بشكل جيد على نظامي ولكن عند تشغيلها على تنسيق الحافة ، تظهر لي الأخطاء:
Screenshot from 2020-06-13 10-40-25
يعمل بشكل مثالي على نظامي:
Screenshot from 2020-06-13 10-42-01

هذا هو الأمر الذي أقوم بتشغيله:
curl -X POST "192.168.43.11:56001/api/v1/orchestration/services" -H "Accept: application / json" -H "Content-Type: application / json" -d "{\" ServiceName \ ": \ "age_detection \"، \ "ServiceInfo \": [{\ "ExecutionType \": \ "container \"، \ "ExecCmd \": [\ "docker \"، \ "run \"، \ "- it \" ، \ "- rm \"، \ "- device = / dev / video0 \"، \ "- e \"، \ "DISPLAY = $ DISPLAY \"، \ "- v \"، \ "$ XSOCK: XSOCK $ \ "، \" - v \ "، \" XAUTH $: $ XAUTH \ "، \" - e \ "، \" XAUTHORITY = $ XAUTH \ "، \" - e \ "، \" QT_X11_NO_MITSHM = 1 \ "، \" animeshj123 / age_det_ image: 02 \ "]}]، \" StatusCallbackURI \ ": \" http://192.168.43.11 : 8888 / api / v1 / services / الإعلام \ "}"

bug question

التعليق الأكثر فائدة

إنه يعمل على الباوباب. اشكرك.

ال 13 كومينتر

@ Deepak-Enc لقد أعدت إنتاج حالتك بنجاح مع وجود خطأ وأطلقت الحاوية بنجاح باستخدام تنسيق الحافة.
يوجد أدناه الأمر الذي قمت به للتشغيل بنجاح

virtual-pc@virtualpc-VirtualBox:~$ curl -X POST "127.0.0.1:56001/api/v1/orchestration/services" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"ServiceName\": \"age_detection\", \"ServiceInfo\": [{ \"ExecutionType\": \"container\", \"ExecCmd\": [ \"docker\", \"run\", \"-it\",\"--rm\",\"--device=/dev/video0\", \"--net=host\",\"--ipc=host\", \"-e\",\"DISPLAY=$DISPLAY\",\"-v\",\"/tmp/.X11-unix:/tmp/.X11-unix\",\"-e\",\"QT_X11_NO_MITSHM=1\",\"animeshj123/age_det_image:02\"]}], \"StatusCallbackURI\": \"http://127.0.0.1:8888/api/v1/services/notification\"}"
{"Message":"ERROR_NONE","RemoteTargetInfo":{"ExecutionType":"container","Target":"10.0.2.15"},"ServiceName":"age_detection"}
  1. تختلف إعدادات خادم My X قليلاً ، ولكن يمكنك استخدام إعداداتك الخاصة إذا كانت تعمل من أجلك. الشيء الرئيسي الذي يجب الانتباه إليه هو علامات الاقتباس. في المثال الخاص بك ، هم غير صحيحين (أعتقد أن هذا خطأ مطبعي).
  2. الخطأ الذي واجهته كان نتيجة تشغيل الحاوية مرتين. يعطي البرنامج الذي يعمل بالداخل خطأً ، لأنه لا يمكنه الوصول إلى كاميرا الويب.

    قبل البدء ، تأكد من عدم بدء تشغيل هذه الحاوية قبل استخدام الأمر
virtual-pc@virtualpc-VirtualBox:~$ docker ps -a
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS               NAMES
0d73793665d9        animeshj123/age_det_image:02   "python detect_age_c…"   16 minutes ago      Up 16 minutes                           crazy_visvesvaraya
f1a1dacb70fd        edge-orchestration:baobab      "sh run.sh"              16 minutes ago      Up 16 minutes                           edge-orchestration
virtual-pc@virtualpc-VirtualBox:~$ 

أوقف تشغيل الحاوية ، وبعد ذلك يمكنك البدء في استخدام تنسيق الحافة

من فضلك أعط ملاحظاتك ما هي نتيجتك؟ أتمنى أن يكون كل شيء على ما يرام بالنسبة لك. إذا كانت لديك أسئلة ، يسعدنا الإجابة!

تلقي نفس الخطأ.
Screenshot from 2020-06-15 15-09-29

Screenshot from 2020-06-15 15-10-09

Screenshot from 2020-06-15 15-10-37

تحتاج إلى التأكد من أن البرنامج الموجود في الحاوية animeshj123/age_det_image:02 يبدأ بشكل صحيح ، حيث يوضح السطر container execution status : 1 حدوث خطأ في البرنامج نفسه.
изображение

أقترح القيام بذلك. بعد ذلك ، أرى أن كل شيء يعمل بشكل صحيح:

virtual-pc@virtualpc-VirtualBox:~$ sudo docker run --rm -ti --device=/dev/video0 --net=host --ipc=host -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --env="QT_X11_NO_MITSHM=1" animeshj123/age_det_image:02
[sudo] password for virtual-pc: 
[INFO] loading face detector model...
[INFO] loading age detector model...
[INFO] starting video stream...
^CTraceback (most recent call last):
  File "detect_age_cam.py", line 121, in <module>
    results = detect_and_predict_age(frame, faceNet, ageNet,
  File "detect_age_cam.py", line 29, in detect_and_predict_age
    detections = faceNet.forward()
KeyboardInterrupt
virtual-pc@virtualpc-VirtualBox:~$ docker ps -a
CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS              PORTS               NAMES
f1a1dacb70fd        edge-orchestration:baobab   "sh run.sh"         17 hours ago        Up 17 hours                             edge-orchestration
virtual-pc@virtualpc-VirtualBox:~$ curl -X POST "127.0.0.1:56001/api/v1/orchestration/services" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"ServiceName\": \"age_detection\", \"ServiceInfo\": [{ \"ExecutionType\": \"container\", \"ExecCmd\": [ \"docker\", \"run\", \"-it\",\"--rm\",\"--device=/dev/video0\", \"--net=host\",\"--ipc=host\", \"-e\",\"DISPLAY=$DISPLAY\",\"-v\",\"/tmp/.X11-unix:/tmp/.X11-unix\",\"-e\",\"QT_X11_NO_MITSHM=1\",\"animeshj123/age_det_image:02\"]}], \"StatusCallbackURI\": \"http://127.0.0.1:8888/api/v1/services/notification\"}"
{"Message":"ERROR_NONE","RemoteTargetInfo":{"ExecutionType":"container","Target":"10.0.2.15"},"ServiceName":"age_detection"}virtual-pc@virtualpc-VirtualBox:~$ 
virtual-pc@virtualpc-VirtualBox:~$ 

أنا أيضا أرى مثل هذا الخطأ.
изображение
يمكن إصلاحه في حالة إعادة تشغيل عامل الإرساء (إعادة تشغيل عامل ميناء الخدمة)

نفس الحاوية تعمل بشكل جيد على الحافة الخاصة بك وأيضًا على مضيفي المحلي
يعني البرنامج ليس له مشكلة. قد تكون هناك مشكلة في بلدي
تنسيق الحافة كيفية حل هذه المشكلة.

في الإثنين ، 15 يونيو 2020 ، الساعة 16:25 ، كتب tdrozdovsky ، [email protected] :

تحتاج إلى التأكد من أن البرنامج الموجود بالصورة animeshj123 / age_det_
تبدأ الحاوية بشكل صحيح ، كحالة تنفيذ الحاوية: سطر واحد
يوضح حدوث خطأ في البرنامج نفسه.
[الصورة: изображение]
https://user-images.githubusercontent.com/45031429/84649763-bd171c00-af0f-11ea-9ff6-7ba80aea6662.png

أقترح القيام بذلك. بعد ذلك ، أرى أن كل شيء يعمل بشكل صحيح:

Virtual-pc @ virtualpc-VirtualBox : ~ $ sudo docker run --rm -ti --device = / dev / video0 --net = host --ipc = host -e DISPLAY = $ DISPLAY -v /tmp/.X11- يونيكس: /tmp/.X11-unix --env = "QT_X11_NO_MITSHM = 1" animeshj123 / age_det_ image: 02

[sudo] كلمة المرور للكمبيوتر الافتراضي:

[INFO] تحميل نموذج جهاز كشف الوجه ...

[INFO] تحميل نموذج كاشف العمر ...

[INFO] بدء دفق الفيديو ...

^ CTraceback (آخر مكالمة أخيرة):

ملف "detect_age_cam.py" ، السطر 121 ، بتنسيق

results = detect_and_predict_age(frame, faceNet, ageNet,

ملف "Discover_age_cam.py" ، السطر 29 ، في det_and_predict_age

detections = faceNet.forward()

لوحة المفاتيح المقاطعة

Virtual-pc @ virtualpc-VirtualBox : ~ $ docker ps -a

أسماء منافذ الحالة التي تم إنشاؤها بأمر صورة معرف الحاويات

f1a1dacb70fd edge-orch estration: baobab "sh run.sh" منذ 17 ساعة حتى 17 ساعة edge-orchestration

Virtual-pc @ virtualpc-VirtualBox : ~ $ curl -X POST "127.0.0.1:56001/api/v1/orchestration/services" -H "Accept: application / json" -H "Content-Type: application / json" - d "{\" ServiceName \ ": \" age_detection \ "، \" ServiceInfo \ ": [{\" ExecutionType \ ": \" container \ "، \" ExecCmd \ ": [\" docker \ "، \" تشغيل \ "، \" - it \ "، \" - rm \ "، \" - device = / dev / video0 \ "، \" - net = host \ "، \" - ipc = host \ "، \" - e \ "، \" DISPLAY = $ DISPLAY \ "، \" - v \ "، \" / tmp / .X11-unix: /tmp/.X11-unix \ "، \" - e \ "، \" QT_X11_NO_MITSHM = 1 \ "، \" animeshj123 / age_det_ image: 02 \ "]}]، \" StatusCallbackURI \ ": \" http://127.0.0.1 : 8888 / api / v1 / services / الإعلام \ "}"

{"Message": "ERROR_NONE"، "RemoteTargetInfo": {"ExecutionType": "container"، "Target": "10.0.2.15"}، "ServiceName": "age_detection"} virtual-pc @ virtualpc-VirtualBox : ~ $

Virtual-pc @ virtualpc-VirtualBox : ~ $

أنا أيضا أرى مثل هذا الخطأ.
[الصورة: изображение]
https://user-images.githubusercontent.com/45031429/84649385-1d598e00-af0f-11ea-9b6a-43a7780c7cf5.png
يمكن إصلاحه في حالة إعادة تشغيل عامل الإرساء (إعادة تشغيل عامل ميناء الخدمة)

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/lf-edge/edge-home-orchestration-go/issues/91#issuecomment-644056795 ،
أو إلغاء الاشتراك
https://github.com/notifications/unsubscribe-auth/ANR2JO4EKLU3UYAYP4OSZB3RWX4ZPANCNFSM4N42UCTA
.

يوجد أدناه مثال على كيفية عدم عملها بشكل صحيح

virtual-pc@virtualpc-VirtualBox:~$ docker run --rm -ti --device=/dev/video0 --net=host --ipc=host -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --env="QT_X11_NO_MITSHM=1" animeshj123/age_det_image:02
[sudo] password for virtual-pc: 
[INFO] loading face detector model...
[INFO] loading age detector model...
[INFO] starting video stream...
[ WARN:0] global /io/opencv/modules/videoio/src/cap_v4l.cpp (887) open VIDEOIO(V4L2:/dev/video0): can't open camera by index
Traceback (most recent call last):
  File "detect_age_cam.py", line 117, in <module>
    frame = imutils.resize(frame, width=400)
  File "/usr/local/lib/python3.8/site-packages/imutils/convenience.py", line 69, in resize
    (h, w) = image.shape[:2]
AttributeError: 'NoneType' object has no attribute 'shape'

انظر الآن إلى رمز الخطأ

virtual-pc@virtualpc-VirtualBox:~$ echo $?
1

الخطأ هو نفسه كما إرجاع منسق الحافة

أعتقد أنه من الضروري البحث عن أسباب عدم عمل البرنامج بشكل صحيح (على سبيل المثال ، لا يوجد وصول إلى /dev/video0 أو غيرها)

يرجى مسح شككي. إنه يعمل بشكل جيد على الجهاز المضيف الخاص بي مما يعني أنه لا توجد مشكلة في حاوية عامل الميناء أو ملف عامل الإرساء. قد تكون هناك مشكلة في تزامن الحواف لأنني غير قادر على الكشف في ملف الحاوية أو عامل الإرساء.

@ Deepak-Enc يرجى وصف المزيد من التفاصيل حول ماهية "مشكلة في تنسيق الحافة". من وجهة نظري ، يتم تشغيل حاوية الاستهداف الخاصة بك بنجاح على مضيفك المحلي من خلال ملف حاوية / عامل إرساء ، لكنها تفشل عندما تحاول تشغيلها على تنسيق الحافة. لقد وجهنا لك العديد من التوصيات ولكن لا يزال من غير الواضح حل هذه المشكلة. هل نحن على صواب؟
@ suresh-lc ما هو رأيك؟ لا يبدو أنها مجرد مشكلة تكوين.

2020/06/16 04:27:56 containerexecutor.go: 84: [containerexecutor] إنشاء حاوية: c22c72a303
2020/06/16 04:28:01 containerexecutor.go: 102: [نوع الحاوية] حالة تنفيذ الحاوية: 1
2020/06/16 04:28:01 containerexecutor.go: 111: [containerexecutor] استجابة خطأ من البرنامج الخفي: لا يمكن الحصول على سجلات من الحاوية الميتة أو التي تم وضع علامة عليها للإزالة
2020/06/16 04:28:01 orchestration_api.go: 340: تم تغيير حالة الخدمة [orchestrationapi] [appNames: age_detection] [الحالة:]
2020/06/16 04:28:01 containerexecutor.go: 122: [containerexecutor] استجابة خطأ من البرنامج الخفي: إزالة الحاوية c22c72a303bff50d18b4af5d5b7d644256cdd8fb2c7d2b08ccfa2ea225b3aa7f قيد التقدم بالفعل

أتلقى هذه الأخطاء أثناء تشغيل حاويات الكشف عن العمر (في الوقت الفعلي والفيديو) على تنسيق الحافة. يلتقط الإطار الأول للتطبيق ولكن بعد ذلك يتم وضع علامة على الحاوية تلقائيًا على أنها حاوية ميتة.

@ Deepak-Enc: يمكننا أن نرى من السجلات أنه تم وضع علامة على الحاوية لإزالتها بعد قراءة الإطار الأول بسبب بعض الأخطاء. ولكن بالضبط لماذا نحاول أن نجد. يمكنك مشاركة ملف سجل الخطأ الكامل. وأيضًا إذا كان بإمكانك مشاركة مقطع الفيديو الخاص بالخطوات التي قمت بها ، فسيكون ذلك مفيدًا للغاية.

يوجد أدناه مقطع فيديو يوضح كيفية عمل الحاوية تحت تنسيق الحافة

Ubuntu_v16_04 [قيد التشغيل] - Oracle VM VirtualBox 6_16_2020 9_30_15 AM.zip

يوضح السجل الذي أرسلته أن التطبيق الموجود في الحاوية لم ينته بشكل صحيح. مطلوب المزيد من البيانات

@ Deepak-Enc: هل يمكنك أن تأخذ فرع Baobab وتجربة السيناريو.
يبدو أن القائمة البيضاء للحاوية لم يتم إجراؤها للخدمة التي بدأت من تنسيق الحافة.
يخطئ: = verifier.GetInstance (). ContainerIsInWhiteList (s.ParamStr [paramLen-1]).

ومن ثم يمكنك تجربة فرع الباوباب مرة واحدة وإعلامنا بالنتيجة.

إنه يعمل على الباوباب. اشكرك.

تم حل المشكلة. @ suresh-lc tdrozdovsky @ Deepak-Enc شكرًا لك على كل اهتماماتك

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات