quattor / ncm-cdispd

Node Configuration Manager Configuration Dispatch Daemon
www.quattor.org
Other
2 stars 5 forks source link

ncm-cdispd crashes when `too many open files` condition is met #54

Open stdweird opened 6 years ago

stdweird commented 6 years ago

ncm-cdispd daemon should at least keep running

crash log

2018/02/18-01:05:31 [VERB] component metaconfig already in list
Can't locate utf8.pm:   Too many open files at /usr/lib/perl/LC/Exception.pm line 204.
BEGIN failed--compilation aborted.
Uncaught exception!!! Calling stack is:
  LC::Exception::throw_error called at /usr/lib/perl/EDG/WP4/CCM/CacheManager/Configuration.pm line 546
  EDG::WP4::CCM::CacheManager::Configuration::elementExists called at /usr/lib/perl/CDISPD/Utils.pm line 371
  CDISPD::Utils::changed_CPE called at /usr/lib/perl/CDISPD/Utils.pm line 435
  CDISPD::Utils::compare_profiles called at /usr/lib/perl/CDISPD/Main.pm line 540
  CDISPD::Main::main_loop called at /usr/lib/perl/CDISPD/Main.pm line 635
  CDISPD::Main::main called at /usr/sbin/ncm-cdispd line 251
Use of uninitialized value $string in substitution (s///) at /usr/lib/perl/LC/Exception.pm line 387.
Use of uninitialized value $string in substitution (s///) at /usr/lib/perl/LC/Exception.pm line 387.
* 
Uncaught exception!!! Calling stack is:
  LC::Exception::throw_error called at /usr/lib/perl/LC/File.pm line 149
  LC::File::file_contents called at /usr/lib/perl/CAF/FileWriter.pm line 607
  CAF::FileWriter::_read_contents called at /usr/lib/perl/CAF/FileEditor.pm line 145
  CAF::FileEditor::new called at /usr/lib/perl/CAF/FileReader.pm line 71
  CAF::FileReader::new called at /usr/lib/perl/EDG/WP4/CCM/CacheManager/DB.pm line 327
  EDG::WP4::CCM::CacheManager::DB::open called at /usr/lib/perl/EDG/WP4/CCM/CacheManager/DB.pm line 362
  EDG::WP4::CCM::CacheManager::DB::read_db called at /usr/lib/perl/EDG/WP4/CCM/CacheManager/Element.pm line 199
  EDG::WP4::CCM::CacheManager::Element::_get_tied_db called at /usr/lib/perl/EDG/WP4/CCM/CacheManager/Element.pm line 231
  EDG::WP4::CCM::CacheManager::Element::elementExists called at /usr/lib/perl/EDG/WP4/CCM/CacheManager/Configuration.pm line 544
  EDG::WP4::CCM::CacheManager::Configuration::elementExists called at /usr/lib/perl/CDISPD/Utils.pm line 371
*** open(/var/lib/ccm/profile.1/path2eid.fmt): Too many open files
stdweird commented 6 years ago

it seems that the CCM db file handles aren't properly closed; probably due to https://github.com/quattor/CCM/pull/183