Solved Issue with BackupPC and perl

Hi,
I am using FreeBSD 12.2-RELEASE-p3. I only use binary packages.
Since few days, I can't run backups with sysutils/backuppc; the error I get is:

Code:
Can't use an undefined value as a symbol reference at /usr/local/lib/perl5/site_perl/mach/5.32/File/RsyncP.pm line 554

Any suggestion?

Code:
# pkg version -v |egrep '(backupp|perl)'
ap24-mod_perl2-2.0.11,3            =   up-to-date with remote
backuppc-3.3.2_5                   =   up-to-date with remote
perl5-5.32.1_1                     =   up-to-date with remote

It seems that backups stopped working since lang/perl5.32 upgrade (January 28):

Code:
Jan 28 16:02:10 backuppc pkg[53353]: perl5 upgraded: 5.32.0 -> 5.32.1_1
 
Hi, yes I confirm:

Code:
# pkg info -l p5-File-RsyncP 
p5-File-RsyncP-0.76:
        /usr/local/lib/perl5/site_perl/mach/5.32/File/RsyncP.pm
        /usr/local/lib/perl5/site_perl/mach/5.32/File/RsyncP/Digest.pm
        /usr/local/lib/perl5/site_perl/mach/5.32/File/RsyncP/FileIO.pm
        /usr/local/lib/perl5/site_perl/mach/5.32/File/RsyncP/FileList.pm
        /usr/local/lib/perl5/site_perl/mach/5.32/auto/File/RsyncP/.packlist
        /usr/local/lib/perl5/site_perl/mach/5.32/auto/File/RsyncP/Digest/Digest.so
        /usr/local/lib/perl5/site_perl/mach/5.32/auto/File/RsyncP/Digest/autosplit.ix
        /usr/local/lib/perl5/site_perl/mach/5.32/auto/File/RsyncP/FileList/FileList.so
        /usr/local/lib/perl5/site_perl/mach/5.32/auto/File/RsyncP/FileList/autosplit.ix
        /usr/local/lib/perl5/site_perl/man/man3/File::RsyncP.3.gz
        /usr/local/lib/perl5/site_perl/man/man3/File::RsyncP::Digest.3.gz
        /usr/local/lib/perl5/site_perl/man/man3/File::RsyncP::FileIO.3.gz
        /usr/local/lib/perl5/site_perl/man/man3/File::RsyncP::FileList.3.gz
        /usr/local/share/licenses/p5-File-RsyncP-0.76/GPLv2+
        /usr/local/share/licenses/p5-File-RsyncP-0.76/LICENSE
        /usr/local/share/licenses/p5-File-RsyncP-0.76/catalog.mk

Currently I have no pending updates to install.
Thank you!
 
RsyncP has been updated too, and the following lines were added:

Diff:
@@ -544,6 +551,8 @@ sub go
         close(WH);
         close(FHRd);
         $rs->{fh} = *FHWr;
+        close($rs->{fh_stderr});
+        $rs->{fh_stderr} = undef;

     #
     # Make our write handle non-blocking

and it seems like $rs->{fh_stderr} is an undefined value while it shouldn't. I think it's best to just contact the author or fill a bug report.
 
Back
Top