مرحبًا ، هل هناك حد لعدد الملفات التي يمكنني فتحها؟ لقد علقت في 1021 ملفا.
هل هذا متعلق بـ MVE؟ يرجى نشر إخراج وحدة التحكم و backtrace إن أمكن.
تلقى البرنامج إشارة SIGABRT ، تم إحباطها.
[التبديل إلى مؤشر الترابط 0x7ff426a46700 (LWP 15483)]
0x00007ff42a1c7267 في __GI_raise (sig = sig @ entry = 6)
في ../sysdeps/unix/sysv/linux/raise.c:55
55 ../sysdeps/unix/sysv/linux/raise.c: لا يوجد مثل هذا الملف أو الدليل.
(gdb) bt
at ../sysdeps/unix/sysv/linux/raise.c:55
من /usr/lib/x86_64-linux-gnu/libstdc++.so.6
من /usr/lib/x86_64-linux-gnu/libstdc++.so.6
من /lib/x86_64-linux-gnu/libgcc_s.so.1
at /usr/include/c++/4.9/bits/basic_string.h:240
at /usr/include/c++/4.9/bits/basic_string.h:547
proxy=proxy@entry=0x1cd4af0, init_only=init_only@entry=false)
at view.cc:790
proxy=proxy@entry=0x1cd4af0, update=update@entry=false) at view.cc:739
this@entry=0x3fc, name="original", type=type@entry=mve::IMAGE_TYPE_UINT8)
---اكتب
في view.cc:405
at ../../libs/mve/view.h:436
at pthread_create.c:333
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
هل تعمل بأحدث إصدار من MVE؟ هل يمكن تكرار المشكلة باستمرار؟ هل هذه مجموعة بيانات كبيرة بشكل خاص؟ من أين حصلت على رسالة الخطأ Too many files open
من ، لا يمكنني رؤيتها في إخراج وحدة التحكم.
لقد قمت بإعادة إنتاجه عدة مرات على جهازي كمبيوتر مختلفين ودائمًا باستخدام أحدث إصدار من MVE. حدث الخطأ أثناء اكتشاف الميزة ودائمًا في الملف 1021. مجموعة البيانات ضخمة وتحتوي على حوالي 16000 صورة.
عرض معرف 1013 (1920 × 1080) ، 1860 ميزة ، استغرق 3268 مللي ثانية.
الكشف عن الميزات ، عرض 1021 من 16295 (6.2٪) ... تم استدعاء الإنهاء بعد طرح مثيل لـ "Usage :: Exception"
what (): خطأ في فتح الملف: عدد كبير جدًا من الملفات المفتوحة
تم إحباط (تم تفريغ النواة)
عدة قذائف تحد من عدد واصفات الملفات المسموح للعملية بفتحها. في bash يمكنك استخدام ulimit -n
للتحقق من هذا الحد وتعيينه. يتم تعيينه افتراضيًا على 1024 وأفترض أنه تم تجاوز الحد الأقصى في حالتك (stdin و stdout و stderr و prebundle و 1020 وجهات نظر أخرى).
لكن السؤال هو لماذا يتم فتح العديد من الآراء في نفس الوقت؟
لا يزال هناك الكثير من الملفات المفتوحة. ulimit بالطبع "يحل" ذلك.
سوف نلقي نظرة أخرى.
مرحبًا Jus80687 ،
لقد حاولنا إعادة إنتاج الخطأ مع التصحيح المطبق ولكننا لم ننجح. هل أنت متأكد من أنك قمت بتجميع نسخة محدثة من الكود؟
أيضًا ، بعد كم عدد الملفات التي حدث بها الخطأ مع التصحيح المطبق؟ يمكنك نشر backtrace عندما يحدث ذلك؟
هل يمكنك أن ترسل إلينا محتويات أحد أدلة view_xxxx.mve لمجموعة البيانات الخاصة بك من فضلك؟
شكرا مقدما.
مرحبًا أندريه ،
نعم ، قمت بتجميع أحدث إصدار من MVE. بعد التصحيح ، لم يعد الخطأ يحدث في نفس العرض تمامًا بعد الآن ، ولكن لا يزال حوالي 1024. الحل البديل مع ulimit بالطبع لا يزال يعمل.
لا أعتقد أنه مرتبط بطريقة عرض معينة لأنني قمت بتغيير عدد الصور عدة مرات. الصور نفسها مستخرجة من فيلم ولا تحتوي على معلومات EXIF.
لم يتغير إخراج وحدة التحكم ولكن لا بد لي من التحقق من backtrace مرة أخرى.
شكرا لمساعدتك
في هذه المرحلة ، نحتاج إلى بيانات إضافية لإعادة إنتاج المشكلة. هل يمكنك إرسال ملف مضغوط لإحدى وجهات نظرك من فضلك؟ شكرا.
أي مزيد من المعلومات الإضافية؟ وإلا سيتم إغلاق القضية.
التعليق الأكثر فائدة
عدة قذائف تحد من عدد واصفات الملفات المسموح للعملية بفتحها. في bash يمكنك استخدام
ulimit -n
للتحقق من هذا الحد وتعيينه. يتم تعيينه افتراضيًا على 1024 وأفترض أنه تم تجاوز الحد الأقصى في حالتك (stdin و stdout و stderr و prebundle و 1020 وجهات نظر أخرى).لكن السؤال هو لماذا يتم فتح العديد من الآراء في نفس الوقت؟
باش يليميت مان بيست