? ?
avatar richard67
richard67
2 Jun 2021

Steps to reproduce the issue

Update a clean 3.10 Alpha 6 or latest 3.10- nightly or a current 3.10-dev branch to 4.0 RC 1 or latest 4.0 nightly.

For updating to 4.0 RC 1 you can use custom URL https://update.joomla.org/core/test/310to4_list.xml .

After the update has finished, go to "System -> Maintenance -> Global Check-in".

Expected result

Nothing to be checked in which was not to be checked in before the update.

Actual result

A lot of items (215 on a clean and empty installation) are shown to be checked it for the the #___extensions table.

In fact these are all records of that table.

If you go to "System -> Manage -> Extensions", everything looks ok, nothing is checked out.

If you check in database you will see that the checked_out column is zero for all extensions, but the checked_out_time column doesn't have value NULL but has the old style (peudo) null dates ('0000-00-00 00:00:00' on MySQL or MariaDB and '1970-01-01 00:00:00' on PostgreSQL databases).

Checking in the items in Global Check-In works, i.e. after that they are not shown as checked out anymore.

System information (as much as possible)

Any system after update from current 3.10-dev to current 4.0-dev or corresponding latest releases or nightlies.

Additional comments

The the update SQL script for changing to NULL values works well, but the checked_out_time column of the #__extensions table seems to be updated AFTER the update SQL scripts have run.

You can verify this by adding a die call just after this line, i.e. just after the update SQL scrips have been processed:

https://github.com/joomla/joomla-cms/blob/4.0-dev/administrator/components/com_joomlaupdate/src/Model/UpdateModel.php#L708

Then pack an update packages with that modified file and use that package for updating a 3.10 using Upload & Update.

Then check in database and you will see all records in the #__extensions table have a checked_out_time of NULL, like it should be in J4.

But I wasn't able (yet?) to find out where it happens.

Update 2021-06-04: If I add a die statement later below the following line, then the values have the old '0000-00-00 ...' in database:

https://github.com/joomla/joomla-cms/blob/4.0-dev/administrator/components/com_joomlaupdate/src/Model/UpdateModel.php#L740

So the error happens somewhere inside here: https://github.com/joomla/joomla-cms/blob/4.0-dev/administrator/components/com_admin/script.php#L78

Update 2021-06-05: If I comment out this line, the problem with the checked out times is solved, so it happens when the manifest caches of all extensions are updated: https://github.com/joomla/joomla-cms/blob/4.0-dev/administrator/components/com_admin/script.php#L99

avatar richard67 richard67 - open - 2 Jun 2021
avatar joomla-cms-bot joomla-cms-bot - change - 2 Jun 2021
Labels Added: ?
avatar joomla-cms-bot joomla-cms-bot - labeled - 2 Jun 2021
avatar richard67 richard67 - change - 2 Jun 2021
Labels Added: ?
avatar richard67 richard67 - labeled - 2 Jun 2021
avatar richard67 richard67 - change - 2 Jun 2021
Title
[4.0] After update from 3.10, Global Checkin shows all extensions as checked out, but they aren't
[4.0] After update from 3.10, Global Checkin shows all items of the "#__extensions" table as checked out, but they aren't
avatar richard67 richard67 - edited - 2 Jun 2021
avatar richard67 richard67 - change - 2 Jun 2021
The description was changed
avatar richard67 richard67 - edited - 2 Jun 2021
avatar wilsonge wilsonge - change - 3 Jun 2021
Labels Added: ?
avatar wilsonge wilsonge - labeled - 3 Jun 2021
avatar richard67 richard67 - change - 3 Jun 2021
The description was changed
avatar richard67 richard67 - edited - 3 Jun 2021
avatar richard67 richard67 - change - 3 Jun 2021
The description was changed
avatar richard67 richard67 - edited - 3 Jun 2021
avatar chmst
chmst - comment - 4 Jun 2021

After updating an older j4 beta to j4 rc: The following entries in #__extension have the old checked_ot time, and checked_out = 0,
all other records have NULL.
grafik

avatar richard67
richard67 - comment - 4 Jun 2021

@chmst Do they have the right value if you add a die(); call like described in the description and make a modified update package with that change?

avatar richard67 richard67 - change - 4 Jun 2021
The description was changed
avatar richard67 richard67 - edited - 4 Jun 2021
avatar richard67 richard67 - change - 5 Jun 2021
The description was changed
avatar richard67 richard67 - edited - 5 Jun 2021
avatar richard67 richard67 - change - 5 Jun 2021
The description was changed
avatar richard67 richard67 - edited - 5 Jun 2021
avatar richard67
richard67 - comment - 5 Jun 2021

If I comment out this line, the problem with the checked out times is solved, so it happens when the manifest caches of all extensions are updated: https://github.com/joomla/joomla-cms/blob/4.0-dev/administrator/components/com_admin/script.php#L99

avatar richard67 richard67 - change - 6 Jun 2021
Status New Closed
Closed_Date 0000-00-00 00:00:00 2021-06-06 12:42:43
Closed_By richard67
Labels Added: ?
Removed: ?
avatar richard67 richard67 - close - 6 Jun 2021
avatar richard67
richard67 - comment - 6 Jun 2021

Closing as having a pull request. @chmst Please test #34433 . Thanks in advance.

avatar richard67 richard67 - change - 6 Jun 2021
Labels Removed: ?
avatar richard67 richard67 - unlabeled - 6 Jun 2021

Add a Comment

Login with GitHub to post a comment