Mve: Zu viele Dateien geöffnet

Erstellt am 31. Aug. 2015  ·  11Kommentare  ·  Quelle: simonfuhrmann/mve

Hallo, gibt es ein Limit, wie viele Dateien ich öffnen kann? Ich bleibe bei 1021 Dateien hängen.

Hilfreichster Kommentar

Mehrere Shells begrenzen die Anzahl der Dateideskriptoren, die ein Prozess öffnen darf. Innerhalb von bash können Sie ulimit -n verwenden, um dieses Limit zu überprüfen und festzulegen. Es ist standardmäßig 1024 und ich gehe davon aus, dass es in Ihrem Fall ausgereizt ist (stdin, stdout, stderr, prebundle und 1020 andere Ansichten).
Die Frage ist jedoch, warum so viele Ansichten gleichzeitig geöffnet sind?

bash ulimit Manpage

Alle 11 Kommentare

Hängt das mit MVE zusammen? Bitte poste die Konsolenausgabe und wenn möglich einen Backtrace.

Programmempfangssignal SIGABRT, abgebrochen.
[Umschalten auf Thread 0x7ff426a46700 (LWP 15483)]
0x00007ff42a1c7267 in __GI_raise (sig=sig@entry=6)
unter ../sysdeps/unix/sysv/linux/raise.c:55
55 ../sysdeps/unix/sysv/linux/raise.c: Keine solche Datei oder Verzeichnis.
(gdb) bt

0 0x00007ff42a1c7267 in __GI_raise (sig=sig@entry=6)

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

1 0x00007ff42a1c8eca in __GI_abort () bei abort.c:89

2 0x00007ff42af1006d in __gnu_cxx::__verbose_terminate_handler() ()

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

3 0x00007ff42af0dee6 in ?? () von /usr/lib/x86_64-linux-gnu/libstdc++.so.6

4 0x00007ff42af0cee9 im ?? () von /usr/lib/x86_64-linux-gnu/libstdc++.so.6

5 0x00007ff42af0d6ea in __gxx_personality_v0 ()

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

6 0x00007ff42a789ed3 in ?? () von /lib/x86_64-linux-gnu/libgcc_s.so.1

7 0x00007ff42a78a3f7 in _Unwind_Resume ()

aus /lib/x86_64-linux-gnu/libgcc_s.so.1

8 0x00000000004d58f1 in _M_dispose (__a=..., this=)

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

9 ~basic_string (this=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 in mve::View::load_image ( this=this@entry=0x1cd4780 ,

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

12 0x00000000004d5c30 in mve::View::get_image (this=0x1cd4780,

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

---Artum fortzufahren, oder qbeenden---
unter view.cc:405

13 0x0000000000435de7 in get_byte_image (name="original", this=0x3fc)

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

14 sfm::bundler::Features::compute () unter bundler_features.cc:56

15 0x00007ff42a99dc16 im ?? () von /usr/lib/x86_64-linux-gnu/libgomp.so.1

16 0x00007ff42a5636aa in start_thread (arg=0x7ff426a46700)

at pthread_create.c:333

17 0x00007ff42a298eed im Klon ()

at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Arbeiten Sie mit der neusten Version von MVE? Lässt sich das Problem konsistent reproduzieren? Ist das ein besonders großer Datensatz? Woher hast du die Fehlermeldung Too many files open , ich kann sie in der Konsolenausgabe nicht sehen.

Ich habe es mehrmals auf zwei verschiedenen Rechnern reproduziert und immer mit der neusten Version von MVE. Der Fehler tritt während der Merkmalserkennung auf und immer bei Datei 1021. Der Datensatz ist riesig und umfasst etwa 16000 Bilder.

Ansichts-ID 1013 (1920 x 1080), 1860 Funktionen, dauerte 3268 ms.
Erkennungsfunktionen, Ansicht 1021 von 16295 (6,2 %) ... Terminate aufgerufen, nachdem eine Instanz von „util::Exception“ ausgelöst wurde
what(): Fehler beim Öffnen der Datei: Zu viele offene Dateien
Abgebrochen (Core Dump)

Mehrere Shells begrenzen die Anzahl der Dateideskriptoren, die ein Prozess öffnen darf. Innerhalb von bash können Sie ulimit -n verwenden, um dieses Limit zu überprüfen und festzulegen. Es ist standardmäßig 1024 und ich gehe davon aus, dass es in Ihrem Fall ausgereizt ist (stdin, stdout, stderr, prebundle und 1020 andere Ansichten).
Die Frage ist jedoch, warum so viele Ansichten gleichzeitig geöffnet sind?

bash ulimit Manpage

Es sind noch zu viele Dateien geöffnet. ulimit "löst" es natürlich.

Wir werden noch einmal nachsehen.

Hallo Jus80687,
Wir haben versucht, den Fehler mit dem angewendeten Patch zu reproduzieren, waren aber nicht erfolgreich. Sind Sie sicher, dass Sie eine aktuelle Version des Codes kompiliert haben?
Außerdem, nach wie vielen Dateien tritt der Fehler mit dem angewendeten Patch auf? Können Sie einen Backtrace posten, wenn es passiert?
Können Sie uns bitte den Inhalt eines der view_xxxx.mve-Verzeichnisse Ihres Datensatzes schicken?
Vielen Dank im Voraus.

Hallo André,
Ja, ich habe die neueste Version von MVE kompiliert. Nach dem Patch tritt der Fehler nicht mehr genau bei der gleichen Ansicht auf, sondern immer noch um 1024 herum. Der Workaround mit ulimit funktioniert natürlich weiterhin.
Ich glaube nicht, dass es an einer bestimmten Ansicht liegt, da ich die Anzahl der Bilder ein paar Mal geändert habe. Die Bilder selbst werden aus einem Film extrahiert und haben keine EXIF-Informationen.
Die Konsolenausgabe hat sich nicht geändert, aber ich muss den Backtrace erneut überprüfen.
Danke für Ihre Hilfe

An dieser Stelle benötigen wir zusätzliche Daten, um das Problem zu reproduzieren. Können Sie uns bitte eine ZIP-Datei einer Ihrer Ansichten senden? Danke.

Weitere zusätzliche Informationen? Andernfalls wird das Thema geschlossen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

daleydeng picture daleydeng  ·  8Kommentare

HelliceSaouli picture HelliceSaouli  ·  12Kommentare

MaxDidIt picture MaxDidIt  ·  30Kommentare

GustavoCamargoRL picture GustavoCamargoRL  ·  13Kommentare

HelliceSaouli picture HelliceSaouli  ·  14Kommentare