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

[EP-tech] Errors when requesting /id/eprint/$eprintid after 3.3.13 update


I updated my repository to EPrints 3.3.13 on January 28 (two days
after the Debian package was made available). I have not realized
until now, but since that moment, all URLS of the form
http://$myhost/id/eprint/$eprintid generate an "Internal Server Error"
page. As an example, this page works correctly:


But this one fails:


In my error.log file, I get:

    [Tue Feb 17 10:42:43 2015] [error] [client] Can't call method "base_id" on an undefined value at /usr/share/eprints3/perl_lib/EPrints/Apache/CRUD.pm line 897.\n

And yes, I checked my logs, and the first such message occured just
after I performed the update. I am attaching a screencapture from the
Google Tools for Webmasters showing the number of errors.

This error happens in the content_negotiate_best_plugin function,
regardless of what parameters I give to it; it seems to be related to
not having a defined database object ? The specific line it complains
on is:

    if( ( $self->scope == CRUD_SCOPE_DATAOBJ && $self->{database}->base_id ne "subject" ) || $self->scope == CRUD_SCOPE_USER_CONTENTS )

The database connection *is* working, but it might not yet be
initialized at this point in the request handling. Besides, either
commenting out the check for $self->{database}->base_id or making it
conditional on having defined $self->{database} make the problem
apparently go away.


1. Does this happen to others, or is it just me?
2. Does my ugly fix break something else?
3. What goes here? :)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: google_webmaster.png
Type: image/png
Size: 47110 bytes
Desc: not available
Url : http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20150217/1316264e/attachment-0001.png