[wp-trac] [WordPress Trac] #54546: Fatal error receive while updating WP 5.8.2 to WP 5.9.

WordPress Trac noreply at wordpress.org
Mon Dec 6 13:50:26 UTC 2021


#54546: Fatal error receive while updating WP 5.8.2 to WP 5.9.
--------------------------------------------+---------------------
 Reporter:  apeksha10                       |       Owner:  (none)
     Type:  defect (bug)                    |      Status:  new
 Priority:  normal                          |   Milestone:  5.9
Component:  Upgrade/Install                 |     Version:  trunk
 Severity:  normal                          |  Resolution:
 Keywords:  needs-testing has-patch commit  |     Focuses:
--------------------------------------------+---------------------

Comment (by hellofromTonya):

 == Bigger picture of this problem:

 This ticket revealed a fundamental problem in Core's upgrader: the current
 ("from") version code needs to be preloaded into memory for use ''before''
 doing the filesystem and database upgrade to the "to" version.

 Why? To avoid an intermingling of "from" and "to" version code and/or
 missing dependencies that can cause errors or expected behaviors.

 Though this ticket is highly specific to a single exception file that is
 loaded when needed, there also lies other unknown issues where "to" and
 "from" code could be intermingling leading to unexpected (and hard to
 debug) behavior during the upgrade.

 How so? Core code is changed throughout the release cycle. If any of that
 code is needed but not preloaded before upgrading, then the "to" code will
 get loaded and may not behave the same as the "from" code version or may
 expect different dependencies.

 == Stop Gap fix

 [https://github.com/WordPress/wordpress-develop/pull/1999 PR 1999] is a
 stop gap fix. It does not resolve the bigger problem in the upgrader. And
 there's a risk that other files may also need preloading in different edge
 cases that could also cause a fatal error.

 == Audit and Preloader

 I agree with @jrf. An audit is needed to identify all of the files the
 upgrader process will or could use (such as alternate code, e.g.
 exceptions) and then ensure each is preloaded into memory before doing the
 filesystem upgrade. A preloader though needs extensive testing and likely
 should be `early` in a release cycle. Touching the upgrade this late is
 risky.

 I'll open a new ticket for the upgrade audit and preloader.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/54546#comment:41>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list