Mve: تم فتح عدد كبير جدًا من الملفات

تم إنشاؤها على ٣١ أغسطس ٢٠١٥  ·  11تعليقات  ·  مصدر: simonfuhrmann/mve

مرحبًا ، هل هناك حد لعدد الملفات التي يمكنني فتحها؟ لقد علقت في 1021 ملفا.

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

عدة قذائف تحد من عدد واصفات الملفات المسموح للعملية بفتحها. في bash يمكنك استخدام ulimit -n للتحقق من هذا الحد وتعيينه. يتم تعيينه افتراضيًا على 1024 وأفترض أنه تم تجاوز الحد الأقصى في حالتك (stdin و stdout و stderr و prebundle و 1020 وجهات نظر أخرى).
لكن السؤال هو لماذا يتم فتح العديد من الآراء في نفس الوقت؟

باش يليميت مان بيست

ال 11 كومينتر

هل هذا متعلق بـ 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

0 0x00007ff42a1c7267 في __GI_raise (sig = sig @ entry = 6)

at ../sysdeps/unix/sysv/linux/raise.c:55

1 0x00007ff42a1c8eca في __GI_abort () في abort.c: 89

2 0x00007ff42af1006d في __gnu_cxx :: __ verbose_terminate_handler () ()

من /usr/lib/x86_64-linux-gnu/libstdc++.so.6

3 0x00007ff42af0dee6 في ؟؟ () من /usr/lib/x86_64-linux-gnu/libstdc++.so.6

4 0x00007ff42af0cee9 في ؟؟ () من /usr/lib/x86_64-linux-gnu/libstdc++.so.6

5 0x00007ff42af0d6ea في __gxx_personality_v0 ()

من /usr/lib/x86_64-linux-gnu/libstdc++.so.6

6 0x00007ff42a789ed3 في ؟؟ () من /lib/x86_64-linux-gnu/libgcc_s.so.1

7 0x00007ff42a78a3f7 في _Unwind_Resume ()

من /lib/x86_64-linux-gnu/libgcc_s.so.1

8 0x00000000004d58f1 في _M_dispose (__a = ... ، هذا =)

at /usr/include/c++/4.9/bits/basic_string.h:240

9 ~ basic_string (هذا = 0x7ff426a457b0، __in_chrg =)

at /usr/include/c++/4.9/bits/basic_string.h:547

10 mve :: View :: load_image_intern (this =و

proxy=proxy@entry=0x1cd4af0, init_only=init_only@entry=false)
at view.cc:790

11 0x00000000004d5baa في mve :: View :: load_image ( this = this @ entry = 0x1cd4780 ،

proxy=proxy@entry=0x1cd4af0, update=update@entry=false) at view.cc:739

12 0x00000000004d5c30 في mve :: View :: get_image (هذا = 0x1cd4780 ،

this@entry=0x3fc, name="original", type=type@entry=mve::IMAGE_TYPE_UINT8)

---اكتبللمتابعة ، أو qليستقيل---
في view.cc:405

13 0x0000000000435de7 في get_byte_image (الاسم = "original" ، هذا = 0x3fc)

at ../../libs/mve/view.h:436

14 sfm :: bundler :: features :: compute () في bundler_features.cc:56

15 0x00007ff42a99dc16 في ؟؟ () من /usr/lib/x86_64-linux-gnu/libgomp.so.1

16 0x00007ff42a5636aa في start_thread (arg = 0x7ff426a46700)

at pthread_create.c:333

17 0x00007ff42a298eed في استنساخ ()

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 مرة أخرى.
شكرا لمساعدتك

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

أي مزيد من المعلومات الإضافية؟ وإلا سيتم إغلاق القضية.

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

القضايا ذات الصلة

HelliceSaouli picture HelliceSaouli  ·  12تعليقات

HelliceSaouli picture HelliceSaouli  ·  14تعليقات

GustavoCamargoRL picture GustavoCamargoRL  ·  13تعليقات

MaxDidIt picture MaxDidIt  ·  30تعليقات

daleydeng picture daleydeng  ·  8تعليقات