Hai, apakah ada batasan berapa banyak file yang bisa saya buka? Saya terjebak di 1021 file.
Apakah ini terkait dengan MVE? Silakan posting output konsol dan backtrace jika memungkinkan.
Program menerima sinyal SIGABRT, Dibatalkan.
[Beralih ke Utas 0x7ff426a46700 (LWP 15483)]
0x00007ff42a1c7267 di __GI_raise (sig=sig@entry=6)
di ../sysdeps/unix/sysv/linux/raise.c:55
55 ../sysdeps/unix/sysv/linux/raise.c: Tidak ada file atau direktori seperti itu.
(gdb) bt
at ../sysdeps/unix/sysv/linux/raise.c:55
dari /usr/lib/x86_64-linux-gnu/libstdc++.so.6
dari /usr/lib/x86_64-linux-gnu/libstdc++.so.6
dari /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)
---Jenis
di view.cc:405
at ../../libs/mve/view.h:436
at pthread_create.c:333
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Apakah Anda bekerja dengan MVE versi terbaru? Bisakah masalahnya direproduksi secara konsisten? Apakah ini kumpulan data yang sangat besar? Dari mana Anda mendapatkan pesan kesalahan Too many files open
, saya tidak dapat melihatnya di output konsol.
Saya mereproduksinya beberapa kali di dua komputer yang berbeda dan selalu dengan MVE versi terbaru. Kesalahan terjadi selama deteksi fitur dan selalu pada file 1021. Dataset sangat besar dan sekitar 16000 gambar.
View ID 1013 (1920x1080), fitur 1860, membutuhkan waktu 3268 ms.
Mendeteksi fitur, lihat 1021 dari 16295 (6,2%)...berhenti dipanggil setelah melempar instance 'util::Exception'
what(): Kesalahan membuka file: Terlalu banyak file yang terbuka
Dibatalkan (inti dibuang)
Beberapa shell membatasi jumlah deskriptor file yang diizinkan untuk dibuka oleh suatu proses. Dalam bash Anda dapat menggunakan ulimit -n
untuk memeriksa dan menetapkan batas ini. Defaultnya adalah 1024 dan saya menganggapnya sudah maksimal dalam kasus Anda (stdin, stdout, stderr, prebundle, dan 1020 tampilan lainnya).
Namun pertanyaannya adalah mengapa begitu banyak tampilan terbuka secara bersamaan?
Masih terlalu banyak file yang terbuka. ulimit tentu saja "menyelesaikannya".
Kami akan melihat lagi.
Hai Jus80687,
kami telah mencoba mereproduksi bug dengan tambalan yang diterapkan tetapi tidak berhasil. Apakah Anda yakin telah mengkompilasi kode versi terbaru?
Juga, setelah berapa banyak file kesalahan terjadi dengan tambalan yang diterapkan? Bisakah Anda memposting backtrace ketika itu terjadi?
Bisakah Anda mengirimkan konten salah satu direktori view_xxxx.mve dari kumpulan data Anda kepada kami?
Terima kasih sebelumnya.
Hai Andre,
ya, saya mengkompilasi versi terbaru dari MVE. Setelah patch kesalahan terjadi tidak pada tampilan yang sama lagi, tetapi masih sekitar 1024. Solusi dengan ulimit tentu saja masih berfungsi.
Saya tidak berpikir itu terkait dengan tampilan tertentu karena saya mengubah jumlah gambar beberapa kali. Gambar-gambar itu sendiri diambil dari film dan tidak memiliki informasi EXIF.
Output konsol tidak berubah tetapi saya harus memeriksa backtrace lagi.
Terima kasih atas bantuan Anda
Pada titik ini kita membutuhkan data tambahan untuk mereproduksi masalah. Bisakah Anda mengirimkan ZIP salah satu pandangan Anda kepada kami? Terima kasih.
Ada informasi tambahan lainnya? Jika tidak, masalah akan ditutup.
Komentar yang paling membantu
Beberapa shell membatasi jumlah deskriptor file yang diizinkan untuk dibuka oleh suatu proses. Dalam bash Anda dapat menggunakan
ulimit -n
untuk memeriksa dan menetapkan batas ini. Defaultnya adalah 1024 dan saya menganggapnya sudah maksimal dalam kasus Anda (stdin, stdout, stderr, prebundle, dan 1020 tampilan lainnya).Namun pertanyaannya adalah mengapa begitu banyak tampilan terbuka secara bersamaan?
halaman manual bash ulimit