Đã kịp cập nhật phiên bản Drupal 8.9.7

Submitted by superthin on 09/10/2020 - 08:47:38
Toang Drupal thật rồi

Sáng nay, khi vừa login vào Admin Dashboard bỗng thấy ngay có phiên bản mới cần cập nhật. Nhìn xem có dính dáng gì đến lỗ hổng bảo mật hay không thì không thấy. Xem qua các bug đã sửa cũng thấy không có gì có khả năng làm gián đoạn site khi cập nhật hay không, có vẻ là dễ dàng để nâng cấp.

Thực hiện nâng cấp ngay và luôn. Rồi thì... tèng téng teng, xuất hiện ngay:

The website encountered an unexpected error. Please try again later.

Có hề hấn gì, mở file log ra xem thấy một đống lằng ngoằng như sau:

1
2
3
4
5
6
7
8
9
AH01071: Got error 'PHP message:
Error: Call to a member function getLabel() on null in /home/thincs-webroot/core/modules/layout_builder/src/Plugin/Derivative/FieldBlockDeriver.php on line 113
#0 /home/thincs-webroot/core/lib/Drupal/Component/Plugin/Discovery/DerivativeDiscoveryDecorator.php(101):
Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver->getDerivativeDefinitions(Array)
#1 /home/thincs-webroot/core/lib/Drupal/Component/Plugin/Discovery/DerivativeDiscoveryDecorator.php(87): Drupal\\Component\\Plugin\\Discovery\\DerivativeDiscoveryDecorator->getDerivatives(Array)
#2 /home/thincs-webroot/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php(284): Drupal\\Component\\Plugin\\Discovery\\DerivativeDiscoveryDecorator->getDefinitions()
#3 /home/thincs-webroot/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php(175): Drupal\\Core\\Plugin\\DefaultPluginManager->findDefinitions()
#4 /home/thincs-webroot/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryCachedTrait.php(22): Drupal\\Core\\Plugin\\DefaultPluginManager->getDefinitions()
#5 /home/thincs-webroot/core/lib...', referer: <a href="https://superthinlabs.com/update.php/selection">https://superthinlabs.com/update.php/selection</a>

Mở lại nhật ký cập nhật, nhận ra ngay đây chính là bug liên quan đến chủ đề có tên Workaround for "Call to a member function getLabel() after enabling layout_builder".

Xem lại ngay đã làm gì trong quá khứ tại bài Cập nhật lên phiên bản Drupal 8.9.5 ngày 04/09/2020. Thế là lôi ra thực hiện bản patch. Dưới đây là ảnh chụp nếu bạn tò mó xem bản patch trông thế nào?

Bản patch trông như này
Hình ảnh bản patch trông như này

Sau khi cập nhật, nhìn thấy mọi thứ có vẻ bình thường:

Nâng cấp OK
Cập nhật đã OK

Xong! Mọi thứ trở lại và hoạt động ổn./.