diff --git a/perl-xCAT/xCAT/Client.pm b/perl-xCAT/xCAT/Client.pm index 38bac9122..2f8937b99 100644 --- a/perl-xCAT/xCAT/Client.pm +++ b/perl-xCAT/xCAT/Client.pm @@ -197,7 +197,7 @@ sub scan_plugins { foreach (@plugins) { /.*\/([^\/]*).pm$/; my $modname = $1; - require "$_"; + unless (eval { require "$_" }) { print "Error loading module $_ ...skipping\n"; next;} no strict 'refs'; my $cmd_adds=${"xCAT_plugin::".$modname."::"}{handled_commands}->(); foreach (keys %$cmd_adds) { diff --git a/xCAT-server/lib/xcat/plugins/conserver.pm b/xCAT-server/lib/xcat/plugins/conserver.pm index ae5e86a68..431405c51 100644 --- a/xCAT-server/lib/xcat/plugins/conserver.pm +++ b/xCAT-server/lib/xcat/plugins/conserver.pm @@ -165,6 +165,7 @@ sub preprocess_request { my $rsp; $rsp->{data}->[0] = "In preprocess_request, request is " . Dumper(@requests); xCAT::MsgUtils->message("I", $rsp, $callback); + } } return \@requests; } diff --git a/xCAT-server/sbin/xcatd b/xCAT-server/sbin/xcatd index 1533fc5d2..381838dcd 100755 --- a/xCAT-server/sbin/xcatd +++ b/xCAT-server/sbin/xcatd @@ -433,7 +433,11 @@ sub scan_plugins { foreach (@plugins) { /.*\/([^\/]*).pm$/; my $modname = $1; - require "$_"; + unless ( eval { require "$_" }) { + xCAT::MsgUtils->message("S","Error loading module ".$_." ...skipping"); + + next; + } no strict 'refs'; my $cmd_adds=${"xCAT_plugin::".$modname."::"}{handled_commands}->(); foreach (keys %$cmd_adds) {