Article ID: 9439, created on Dec 14, 2010, last review on May 10, 2014

  • Applies to:
  • Plesk Billing

Symptoms

Unable to process batch file with (pay invoice by bank transfer). Batch file processing failed with following error:

Error: Unknown error has occured: {ERROR: Date::Manip unable to determine TimeZone. at /usr/lib/perl5/vendor_perl/5.8.8/Date/Manip.pm line 3635 Date::Manip::Date_TimeZone called at /usr/lib/perl5/vendor_perl/5.8.8/Date/Manip.pm line 676 Date::Manip::Date_Init() called at /usr/lib/perl5/vendor_perl/5.8.8/Date/Manip.pm line 799 Date::Manip::ParseDateString('2010-11-13 07:18:29') called at /usr/lib/perl5/vendor_perl/5.8.8/Date/Manip.pm line 1791 Date::Manip::UnixDate('2010-11-13 07:18:29', '%m %d %Y %H %M %S') called at /usr/lib/perl5/site_perl/5.8.8/HSPC/Localization/Date.pm line 339 HSPC::Localization::Date::time_to_secs('2010-11-13 07:18:29') called at /usr/lib/perl5/site_perl/5.8.8/HSPC/Localization/Date.pm line 212 HSPC::Localization::Date::time_gmt_to_local('2010-11-13 07:18:29') called at /usr/lib/perl5/site_perl/5.8.8/HSPC/PluginToolkit/General.pm line 176 HSPC::PluginToolkit::General::gmt_to_local('2010-11-13 07:18:29') called at /usr/lib/perl5/site_perl/5.8.8/HSPC/MT/Plugin/PP/BT_Norma19.pm line 34 HSPC::MT::Plugin::PP::BT_Norma19::process_batch_content('HSPC::MT::Plugin::PP::BT_Norma19', 'template_id', 'BT_Norma19', 'transaction_list', 'ArrayOfHSPCPluginSOAPStructPPTransaction=ARRAY(0xa2c2cdc)', 'file_id', 1, 'vendor_info', 'HSPCPluginSOAPStructContact=HASH(0xaedb1a4)', ...) called at /usr/lib/perl5/site_perl/5.8.8/HSPC/Plugin/API/PP.pm line 382 HSPC::Plugin::API::PP::__ANON__() called at /usr/lib/perl5/vendor_perl/5.8.8/Error.pm line 415 eval {...} called at /usr/lib/perl5/vendor_perl/5.8.8/Error.pm line 407 Error::subs::try('CODE(0xad4de3c)', 'HASH(0xaee872c)') called at /usr/lib/perl5/site_perl/5.8.8/HSPC/Plugin/API/PP.pm line 402 HSPC::Plugin::API::PP::process_batch_content('HSPC::Plugin::SOAP::PP', 'HSPCPluginSOAPStructPPProcessBatchContentRequest=HASH(0xad497e8)') called at /usr/lib/perl5/site_perl/5.8.8/HSPC/Plugin/SOAP/PP.pm line 100 HSPC::Plugin::SOAP::PP::process_batch_content('HSPC::Plugin::SOAP::PP', 'HSPCPluginSOAPStructPPProcessBatchContentRequest=HASH(0xad497e8)') called at /usr/lib/perl5/vendor_perl/5.8.8/SOAP/Lite.pm line 2799 eval {...} called at /usr/lib/perl5/vendor_perl/5.8.8/SOAP/Lite.pm line 2784 eval {...} called at /usr/lib/perl5/vendor_perl/5.8.8/SOAP/Lite.pm line 2750 SOAP::Server::handle('SOAP::Transport::HTTP::FCGI=HASH(0xa9432ac)', '\x{a} '/usr/sbin/hspc-plugin-rpc.fcgi', '-text' => 'ERROR: Date::Manip unable to determine TimeZone. at /usr/lib/perl5/vendor_perl/5.8.8/Date/Manip.pm line 3635 Date::Manip::Date_TimeZone called at /usr/lib/perl5/vendor_perl/5.8.8/Date/Manip.pm line 676 Date::Manip::Date_Init() called at /usr/lib/perl5/vendor_perl/5.8.8/Date/Manip.pm line 799 Date::Manip::ParseDateString(\'2010-11-13 07:18:29\') called at /usr/lib/perl5/vendor_perl/5.8.8/Date/Manip.pm line 1791 Date::Manip::UnixDate(\'2010-11-13 07:18:29\', \'%m %d %Y %H %M %S\') called at /usr/lib/perl5/site_perl/5.8.8/HSPC/Localization/Date.pm line 339 HSPC::Localization::Date::time_to_secs(\'2010-11-13 07:18:29\') called at /usr/lib/perl5/site_perl/5.8.8/HSPC/Localization/Date.pm line 212 HSPC::Localization::Date::time_gmt_to_local(\'2010-11-13 07:18:29\') called at /usr/lib/perl5/site_perl/5.8.8/HSPC/PluginToolkit/General.pm line 176 HSPC::PluginToolkit::General::gmt_to_local(\'2010-11-13 07:18:29\') called at /usr/lib/perl5/site_perl/5.8.8/HSPC/MT/Plugin/PP/BT_Norma19.pm line 34 HSPC::MT::Plugin::PP::BT_Norma19::process_batch_content(\'HSPC::MT::Plugin::PP::BT_Norma19\', \'template_id\', \'BT_Norma19\', \'transaction_list\', \'ArrayOfHSPCPluginSOAPStructPPTransaction=ARRAY(0xa2c2cdc)\', \'file_id\', 1, \'vendor_info\', \'HSPCPluginSOAPStructContact=HASH(0xaedb1a4)\', ...) called at /usr/lib/perl5/site_perl/5.8.8/HSPC/Plugin/API/PP.pm line 382 HSPC::Plugin::API::PP::__ANON__() called at /usr/lib/perl5/vendor_perl/5.8.8/Error.pm line 415 eval {...} called at /usr/lib/perl5/vendor_perl/5.8.8/Error.pm line 407 Error::subs::try(\'CODE(0xad4de3c)\', \'HASH(0xaee872c)\') called at /usr/lib/perl5/site_perl/5.8.8/HSPC/Plugin/API/PP.pm line 402 HSPC::Plugin::API::PP::process_batch_content(\'HSPC::Plugin::SOAP::PP\', \'HSPCPluginSOAPStructPPProcessBatchContentRequest=HASH(0xad497e8)\') called at /usr/lib/perl5/site_perl/5.8.8/HSPC/Plugin/SOAP/PP.pm line 100 HSPC::Plugin::SOAP::PP::process_batch_content(\'HSPC::Plugin::SOAP::PP\', \'HSPCPluginSOAPStructPPProcessBatchContentRequest=HASH(0xad497e8)\') called at /usr/lib/perl5/vendor_perl/5.8.8/SOAP/Lite.pm line 2799 eval {...} called at /usr/lib/perl5/vendor_perl/5.8.8/SOAP/Lite.pm line 2784 eval {...} called at /usr/lib/perl5/vendor_perl/5.8.8/SOAP/Lite.pm line 2750 SOAP::Server::handle(\'SOAP::Transport::HTTP::FCGI=HASH(0xa9432ac)\', \'\\x{a} '20', '-package' => 'Error' }, 'Error::Simple' );  

Cause

The reason of this problem is bug in third party package for Perl - Date::Manip (built for Centos5). There are no descriptions for most of TimeZones from Russia, for example, for Novt (Novosibirsk Time Zone +0600).

Resolution

You can use one of two possible workarounds:

1. Set another timezone, for example:
# ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
# date
Thu Nov 18 03:01:27 EST 2010

2. Edit file /usr/lib/perl5/vendor_perl/5.8.8/Date/Manip.pm with replacing line
"novst  +0600 ".  # Novosibirsk time zone, Russia

to lines
"novt   +0600 ".  # Novosibirsk winter time zone, Russia
"novst  +0700 ".  # Novosibirsk summer time zone, Russia

08b3edb77202fffdd656b40acff117c1 56797cefb1efc9130f7c48a7d1db0f0c

Email subscription for changes to this article
Save as PDF