EPrints Technical Mailing List Archive

See the EPrints wiki for instructions on how to join this mailing list and related information.

Message: #05068


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

[EP-tech] a lot of warnings concerning uninitialized value


Hi all,

running http://files.eprints.org/591/ for an empty default repository of 3.3.14 (just initial admin is set) by
`Eprints/bin/email_users --dry-run --verbose --verbose <repoID> admin` I got:

Starting EPrints Repository.
Connecting to DB ... Database execute debug: SET NAMES 'utf8'
done.
Database execute debug: SELECT `user`.`userid` FROM `user` WHERE `user`.`usertype` = 'admin' GROUP BY `user`.`userid`
Total number of type 'admin':     1
DRY RUN: ON
Database execute debug: SELECT `userid`,`rev_number`,`username`,`usertype`,`newemail`,`pin`,`pinsettime`,`joined_year`,`joined_month`,`joined_day`,`joined_hour`,`joined_minute`,`joined_second`,`email`,`lang`,`frequency`,`mailempty`,`latitude`,`longitude`,`preference`,`name_family`,`name_given`,`name_lineage`,`name_honourific`,`dept`,`org`,`address`,`country`,`hideemail`,`url` FROM `user` WHERE `userid` IN (1)
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
Database execute debug: SELECT `userid`,`pos`,`editperms` FROM `user_editperms` WHERE `userid` IN (1)
Database execute debug: SELECT `userid`,`pos`,`roles` FROM `user_roles` WHERE `userid` IN (1)
Database execute debug: SELECT `userid`,`pos`,`items_fields` FROM `user_items_fields` WHERE `userid` IN (1)
Undefined phrase: email_users/notification_body (en) at line 144 in Eprints/bin/email_users
$name = undef;
Skipping userid:       1 - User record incomplete - No email sent.
Number of Emails sent:           0.
Number of Emails skipped:        1.
Ending EPrints Repository.

or in detail after some debugging:
perl -d Eprints/bin/email_users --dry-run --verbose --verbose <repoID> admin

Loading DB routines from perl5db.pl version 1.44
Editor support available.

Starting EPrints Repository.
Connecting to DB ... Database execute debug: SET NAMES 'utf8'
done.
Database execute debug: SELECT `user`.`userid` FROM `user` WHERE `user`.`usertype` = 'admin' GROUP BY `user`.`userid`
Total number of type 'admin':     1
DRY RUN: ON
:
EPrints::Database::get_dataobjs(/usr/share/eprints3/bin/../perl_lib/EPrints/Database.pm:2637):
2637:           $self->execute( $sth, $sql );
  DB<5> 
Database execute debug: SELECT `userid`,`rev_number`,`username`,`usertype`,`newemail`,`pin`,`pinsettime`,`joined_year`,`joined_month`,`joined_day`,`joined_hour`,`joined_minute`,`joined_second`,`email`,`lang`,`frequency`,`mailempty`,`latitude`,`longitude`,`preference`,`name_family`,`name_given`,`name_lineage`,`name_honourific`,`dept`,`org`,`address`,`country`,`hideemail`,`url` FROM `user` WHERE `userid` IN (1)
EPrints::Database::get_dataobjs(/usr/share/eprints3/bin/../perl_lib/EPrints/Database.pm:2639):
2639:           while(my @row = $sth->fetchrow_array)
  DB<5> x @row
0  1
1  1
2  'admin'
3  'admin'
4  undef
5  undef
6  undef
7  2015
8  10
9  9
10  12
11  1
12  12
13  'my.mail@here'
14  undef
15  'never'
16  'FALSE'
17  undef
18  undef
19  undef
20  undef
21  undef
22  undef
23  undef
24  undef
25  undef
26  undef
27  undef
28  'TRUE'
29  undef
  DB<6> n
2643:                   {
EPrints::Database::get_dataobjs(/usr/share/eprints3/bin/../perl_lib/EPrints/Database.pm:2644):
2644:                           $epdata->{$field->{name}} = $field->value_from_sql_row( $session, \@row );
  DB<6> 
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
 at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50.
        EPrints::MetaField::Id::value_from_sql_row(EPrints::MetaField::Email=HASH(0x61ae220), EPrints::Repository=HASH(0x58a8b70), ARRAY(0x2c878b8)) called at /usr/share/eprints3/bin/../perl_lib/EPrints/Database.pm line 2644
        EPrints::Database::get_dataobjs(EPrints::Database::mysql=HASH(0x61e91d0), EPrints::DataSet=HASH(0x614d470), 1) called at /usr/share/eprints3/bin/../perl_lib/EPrints/List.pm line 616
        EPrints::List::_get_records(EPrints::List=HASH(0x3c9b020), 0, 100, 0) called at /usr/share/eprints3/bin/../perl_lib/EPrints/List.pm line 511
        EPrints::List::slice(EPrints::List=HASH(0x3c9b020), 0, 100) called at /usr/share/eprints3/bin/../perl_lib/EPrints/List.pm line 661
        EPrints::List::map(EPrints::List=HASH(0x3c9b020), CODE(0x5837268)) called at Eprints/bin/email_users line 172
EPrints::Database::get_dataobjs(/usr/share/eprints3/bin/../perl_lib/EPrints/Database.pm:2644):

How to fix these warnings?

Many thanks in advance
Thomas