EPrints Technical Mailing List Archive

Message: #09538


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

Re: [EP-tech] Internal Server error 500 opening view items, Saved searches and Users + Error in Script


Hi Zen,

When you say: "i checked all the accounts, 4 user id gives too large size error, what should i do with that?" do you mean that the user with ID of 4 gives the too large size error or four separate user records give the too large size error?  I am going to assume you meant the first of these two options.  If so, I cannot see the user with ID of 4 in your list of users from your earlier database query.  This is odd and therefore I think Yuri's advice to check you database is not corrupted would be a good idea.  As that feels like the only plausible reason a field that is normally only a few hundred bytes might report as being larger than 4GB and then also not appear in the database query your made.  However, it is unusual for a single row of a table to be corrupt and the rest of the table function OK.  If you do find any tables corrupted (I would expect this to be the "user" table, if you do) you will need to get up a MySQL command prompt and run the following substituting <NAME_OF_TABLE> for the name of the table found by Yuri's mysqlcheck command:

USE edocs;
REPAIR TABLE <NAME_OF_TABLE>;


If no corrupt tables are found or repairing the table(s) found corrupt does not fix your issue, you may ultimately have to delete the affected user record from the database but this really is a last resort.  It would be preferable to unset the "preference" field for that user assuming that field is the one that is reporting as being too large.  I am loathed to advise manually modifying the database but if you meant in you most recent reply that user with ID of 4 gives the too large size error then the command to run from the MySQL command line would be:

UPDATE user SET preference = NULL WHERE userid = 4;


This should be relatively safe, as the preference field only affects the user preferences for certain pages, which the user can easily set back up again.  This is things like what status of EPrints that appear by default on their "Manage Deposits" page.

Regards

David Newman

On 18/01/2024 4:16 am, zen zenitram wrote:
CAUTION: This e-mail originated outside the University of Southampton.
CAUTION: This e-mail originated outside the University of Southampton.
Good day!

i checked the mysql and here is the result..


mysql> use edocs;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT userid, LENGTH(preference) AS pref_size FROM user ORDER BY pref_si                                                                                                                                                             ze;
+--------+-----------+
| userid | pref_size |
+--------+-----------+
|    487 |      NULL |
|   1186 |      NULL |
|   1184 |      NULL |
|   1182 |      NULL |
|   1326 |      NULL |
|   1064 |      NULL |
|   1063 |      NULL |
|   1350 |      NULL |
|     13 |      NULL |
|   1368 |      NULL |
|   1369 |      NULL |
|   1370 |      NULL |
|   1457 |      NULL |
|   1458 |      NULL |
|   1459 |      NULL |
|     10 |        82 |
|   1185 |        82 |
|   1085 |        87 |
|      9 |        87 |
|      1 |        90 |
|      2 |        90 |
|   1408 |       149 |
|      3 |       149 |
|     12 |       156 |
|   1040 |       174 |
|      8 |       188 |
|      5 |       785 |
+--------+-----------+
27 rows in set (0.00 sec)
How can i fix this error? do i need to delete the accounts?

PS 
i checked all the accounts, 4 user id gives too large size error, what should i do with that?

Thank you!




On Wed, Jan 17, 2024 at 6:05 PM David R Newman <drn@ecs.soton.ac.uk> wrote:

Hi Zen,

Looking at the logs (snippet below), it appears as though you have a user record, whose "preference" field, which is stored as a serialized data structure cannot be "thawed" (i.e. converted back into a data structure and loaded as a variable).

[Wed Jan 17 15:31:32.685957 2024] [:error] [pid 5485:tid 140036888565312] Too large size > I32_MAX at /usr/lib/x86_64-linux-gnu/perl/5.34/Storable.pm line 471, at /usr/lib/x86_64-linux-gnu/perl/5.34/Storable.pm line 474.\n\tStorable::thaw("\\x{5}\\x{8}\\x{3}\\x{0}\\x{0}\\x{0}\\x{1}\\x{4}\\x{2}\\x{0}\\x{0}\\x{0}\\x{8}\\x{a}\\x{5}inbox\\x{a}\\x{0}\\x{a}\\x{6}buffer\\x{a}\\x{0}\\x{a}\\x{7}archive\\x{a}\\x{0}\\x{a}\\x{8}deletion\\x{8}\\x{c2}\\x{81}\\x{0}\\x{0}\\x{0}\\x{1b}S"...) called at /opt/eprints3/perl_lib/EPrints/MetaField/Storable.pm line 129\n\tEPrints::MetaField::Storable::thaw(EPrints::MetaField::Storable=HASH(0x5572c76fd0d0), EPrints::Repository=HASH(0x5572c7d5ea88), "\\x{5}\\x{8}\\x{3}\\x{0}\\x{0}\\x{0}\\x{1}\\x{4}\\x{2}\\x{0}\\x{0}\\x{0}\\x{8}\\x{a}\\x{5}inbox\\x{a}\\x{0}\\x{a}\\x{6}buffer\\x{a}\\x{0}\\x{a}\\x{7}archive\\x{a}\\x{0}\\x{a}\\x{8}deletion\\x{8}\\x{c2}\\x{81}\\x{0}\\x{0}\\x{0}\\x{1b}S"...) called at /opt/eprints3/perl_lib/EPrints/MetaField/Storable.pm line 71

The issue seems to relate to this field being too large (more than 2^32, approx. 4 billion bytes).  I am not sure how this field could have got anywhere near this large, as the "preference" field is usually a few hundred characters/bytes at most.  I suspect this issue also explains the "[error in script]" error messages you are getting on the back on some abstract pages for the "Depositing User".  If you know which user deposited these eprint records then that will be the one causing the issue.  There of course may be more than one user with this issue (although I can see you only have a couple of dozen users in total).  If you could login to MySQL and run the following query on the user table, this may help identify the user or users causing this problem.

SELECT userid, LENGTH(preference) AS pref_size FROM user ORDER BY pref_size;

Regards

David Newman


On 17/01/2024 07:35, zen zenitram wrote:
CAUTION: This e-mail originated outside the University of Southampton.
[REDACTED]

On Tue, Jan 16, 2024 at 4:57 PM David R Newman <drn@ecs.soton.ac.uk> wrote:
Hi Zen,

The internal server error page is not very useful at debugging the problem.  You will need to look in your webserver error logs.  On Red Hat Linux based systems this is usually /var/log/httpd/error_log or /var/log/httpd/ssl_error_log.  On Debian/Ubuntu based Linux this will likely be /var/log/apache2/error.log.  I would recommend loading one of these pages showing an internal server errors whilst tailing the error log file, e.g.

tail -f /var/log/apache2/error.log

and see what error messages you get.  If you do not see an error message, check if there are any other error log files you can tail, as Apache configuration can modify where errors are logged.

Once you have the error message from tailing the logs, post it back to this list and I will see if I can further advise.  One quick thing I might try first is ensuring the database schema for your EPrints is up to date by running:

EPRINTS_PATH/bin/epadmin update ARCHIVE_ID

Regards

David Newman

On 16/01/2024 7:00 am, zen zenitram wrote:
CAUTION: This e-mail originated outside the University of Southampton.
CAUTION: This e-mail originated outside the University of Southampton.
I have a problem in some of the documents in my eprints repository

 

Item Type:           Thesis (Masters)

Additional Information: MT LANG & LIT 5 1989

Subjects:              P Language and Literature > P Philology. Linguistics

P Language and Literature > PN Literature (General)

Users:   College of Liberal Arts and Communication > CLA Graduate Studies

Depositing User:               [error in script]

Date Deposited: 05 Jul 2016 03:54

Last Modified:   05 Jul 2016 03:54

URI:       http://thesis.dlsud.edu.ph/id/eprint/4190

Actions (login required)


It did not show Depositing user ( error in script)


when i tried to click view item, it give Internal server error 500

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at aklatan@dlsud.edu.ph to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.


Attached also the error when opening saved searches and users





*** Options: https://wiki.eprints.org/w/Eprints-tech_Mailing_List
*** Archive: https://www.eprints.org/tech.php/
*** EPrints community wiki: https://wiki.eprints.org/


*** Options: https://wiki.eprints.org/w/Eprints-tech_Mailing_List
*** Archive: https://www.eprints.org/tech.php/
*** EPrints community wiki: https://wiki.eprints.org/


*** Options: https://wiki.eprints.org/w/Eprints-tech_Mailing_List
*** Archive: https://www.eprints.org/tech.php/
*** EPrints community wiki: https://wiki.eprints.org/