[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[EP-tech] Lift_embargos: Can't call method "current_repository" on an undefined value

Hello fellow Eprinters,

We?ve been running Eprints 3.3.13 and a modified ?lift_embargos? script
for quite some time without any issue. But we noticed lately that the
script has stopped working. It seems that it is now unable to commit any
changes. Running in debug mode, I can see that the script fails after
calling the ?$doc->commit(1)? line:

Lifting expired embargo on eprint #2957, document #41378 (2019-11-19)


149:            if( !$dryrun )

150:            {


151:                    $doc->set_value( "security", "public" );


152:                    $doc->set_value( "date_embargo", undef );


154:                    $doc->commit( 1 ); # pass force through to parent

Use of uninitialized value in string ne at (eval 65)[(eval
55)[/usr/share/eprints/bin/../perl_lib/EPrints/Config.pm:272]:19] line 48.

at (eval 65)[(eval
55)[/usr/share/eprints/bin/../perl_lib/EPrints/Config.pm:272]:19] line 48.

        EPrints::Config::Ecole::__ANON__[(eval 65)[(eval
ints::DataObj::Document=HASH(0x9a2f8f0)') called at
/usr/share/eprints/bin/../perl_lib/EPrints/Repository.pm line 1726

        eval {...} called at
/usr/share/eprints/bin/../perl_lib/EPrints/Repository.pm line 1726

'EPrints::DataObj::Document=HASH(0x9a2f8f0)') called at
/usr/share/eprints/bin/../perl_lib/EPrints/DataObj.pm line 463

f0)') called at
/usr/share/eprints/bin/../perl_lib/EPrints/DataObj/Document.pm line 1217

8f0)', 1) called at lift_embargos line 154

'EPrints::DataObj::Document=HASH(0x9a2f8f0)', undef) called at
/usr/share/eprints/bin/../perl_lib/EPrints/List.pm line 664

'CODE(0x999baa0)') called at lift_embargos line 184

Can't call method "current_repository" on an undefined value at
/usr/share/eprints/bin/../perl_lib/EPrints/BackCompatibility.pm line 443.

Looking at the code, I can see that the session information is passed to
the other functions, but it doesn?t seem to be working anymore as the
session is undefined when calling the method ?current_repository? on line
443 of BackCompatibility.pm:

return $EPrints::HANDLE->current_repository;

The only thing that changed in the last few weeks has been a server
upgrade (not sure what was the previous version but we are now running on
CentOS 7 with Perl 5.16.3 and Apache 2.4.6). Using the workflow to commit
changes still work without any issue.

Has anyone encountered this error before? Could this be related to Perl or
Apache?s configuration?

Thank you for your input on this issue!

Robin Sylvestre

Technicien des syst?mes informatis?s

Biblioth?que Louise-Lalonde-Lamarre

Polytechnique Montr?al

514-340-4711 poste 5973

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20191119/1e59963a/attachment.html