Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rosters Tab: An error occurred. Please contact your system administrator for help. #1066

Open
GlenMcDonald opened this issue Aug 2, 2024 · 5 comments
Labels

Comments

@GlenMcDonald
Copy link

I run the database through Xampp and was not able to run MySQL for an unknown reason. The error message suggested that the system shut down incorrectly. The version being run currently is 2.33.0

20240802 Screen Print of Error.pdf

I found a process from googling copy table from back up (I can't find the Youtube clip that helped me and I can't remembe exactly what I did). This enable me to run Xampp. The data seemed to be present but Jethro wouldn't run properly.

I was able to export the tables for back up. I then deleted the database and created a new one. I was able to run Jethro as a new installation to generate the tables in the database. I then imported the data for each of the tables. This enabled me to run the database. It seemed to work, other than the Rosters Tab on the drop down lists.

There was a reference to the one service code missing which I was able to add which enabled me to see "Define Roster Roles" with the list present.

However "Display roster assignments", "Edit Roster Assignments" and "Define Roster Views" all come up with errors as per the attached file.

Any assistance would be great. For all intent and purposes, it seems that all the data is still present.

@jefft
Copy link
Contributor

jefft commented Aug 2, 2024

Do you see any logs in C:\xampp\apache\logs\error.log or C:\xampp\php\logs\php_error_log?

Jethro's database isn't just plain tabular data. There's also a function called getCurrentUserID. It would be good to check it exists:

MariaDB [coastec_jethro]> show create function `getCurrentUserID`;
+------------------+----------+-------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| Function         | sql_mode | Create Function                                                                                                   | character_set_client | collation_connection | Database Collation |
+------------------+----------+-------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| getCurrentUserID |          | CREATE DEFINER=`jethro`@`localhost` FUNCTION `getCurrentUserID`() RETURNS int(11)
RETURN @current_user_id | utf8mb3              | utf8mb3_general_ci   | utf8mb4_bin        |
+------------------+----------+-------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
1 row in set (0.000 sec)

Unless you ran mysqldump with --routines this won't have been preserved.

@GlenMcDonald
Copy link
Author

GlenMcDonald commented Aug 2, 2024 via email

@jefft
Copy link
Contributor

jefft commented Aug 2, 2024

Hi Glen,

The attachment didn't come through. I think you'll have to add it online at #1066, rather than as an email attachment.

@GlenMcDonald
Copy link
Author

Sorry about that.
error.log

mysql_error.log

@jefft
Copy link
Contributor

jefft commented Aug 3, 2024

Hi Glen,

The mysql log shows the database broke at 2024-07-31 13:56:23. The database is still not entirely happy, as even the most recent restart begins with errors:

2024-08-02 21:55:39 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=7176133
2024-08-02 21:55:39 0 [Warning] InnoDB: Are you sure you are using the right ib_logfiles to start up the database? Log sequence number in the ib_logfiles is 7176133, less than the log sequence number in the first system tablespace file header, 23601408.
2024-08-02 21:55:39 0 [ERROR] InnoDB: Page [page id: space=0, page number=3] log sequence number 17426766 is in the future! Current system log sequence number 7176151.
2024-08-02 21:55:39 0 [ERROR] InnoDB: Your database may be corrupt or you may have copied the InnoDB tablespace but not the InnoDB log files. Please refer to https://mariadb.com/kb/en/library/innodb-recovery-modes/ for information about forcing recovery.
2024-08-02 21:55:39 0 [ERROR] InnoDB: Page [page id: space=0, page number=1] log sequence number 17426766 is in the future! Current system log sequence number 7176151.

Jethro's PHP will log to error.log, where the relevant error seems to be:

[Fri Aug 02 22:26:34.829629 2024] [php7:notice] [pid 1528:tid 1848] [client ::1:62528] unserialize(): Error at offset 119 of 1282 bytes - Line 310 of C:\\xampp\\htdocs\\Jethro\\include\\db_object.class.php, referer: http://localhost/Jethro/?

Which is a general 'something is corrupt' error when reading a structured field like a person history. If you edit your conf.php and uncomment define('SHOW_ERROR_DETAILS', 'TRUE'); you might get a better stacktrace, but it's still pointing to a broken database.

It seems xampp doesn't come with any automatic database backup scripts. Do you have any backups of the computer as a whole that might include c:\xampp? There's no guarantee of success when salvaging tables post-crash, especially if you deleted the original crashed database.

If you'd like someone else to take a look, feel free to zip up c:\xampp and email to [email protected].

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants