From: Thomas Lamprecht Date: Tue, 25 Jul 2017 13:32:23 +0000 (+0200) Subject: restenv: catch broadcast_tasklist errors gracefully X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=commitdiff_plain;h=9a42d8a2011ec29f72c2c4edaca1486d8b68c566 restenv: catch broadcast_tasklist errors gracefully Don't die because the tasklist could not be broadcasted, just log the error. Else we may hinder all task to run with a quite confusing error (i.e. "ipcc_send_rec: file to big"). This may happen if there are a lot currently running tasks at once. Signed-off-by: Thomas Lamprecht --- diff --git a/src/PVE/RESTEnvironment.pm b/src/PVE/RESTEnvironment.pm index 15eef90..bab4a2e 100644 --- a/src/PVE/RESTEnvironment.pm +++ b/src/PVE/RESTEnvironment.pm @@ -47,7 +47,8 @@ my $log_task_result = sub { } my $tlist = $rest_env->active_workers($upid); - $rest_env->broadcast_tasklist($tlist); + eval { $rest_env->broadcast_tasklist($tlist); }; + syslog('err', $@) if $@; my $task; foreach my $t (@$tlist) { @@ -558,7 +559,8 @@ sub fork_worker { $self->log_cluster_msg('info', $user, "starting task $upid"); my $tlist = $self->active_workers($upid, $sync); - $self->broadcast_tasklist($tlist); + eval { $self->broadcast_tasklist($tlist); }; + syslog('err', $@) if $@; my $res = 0;