Steps to reproduce:
- create a view
- add a first block display
- save the view
- add a second block display
- rename the second block display machine name to new_machine_name
- delete the second block display
- save the view
At this point the view is saved but a warning message appears:
Plugin ID 'new_machine_name' was not found.
If you go to /admin/structure/views you will get a WSOD:
Uncaught PHP Exception Drupal\\Component\\Plugin\\Exception\\PluginNotFoundException: "The "" plugin does not exist." at /var/www/example.com/core/lib/Drupal/Component/Plugin/Discovery/DiscoveryTrait.php line 52, referer: http://example.com/admin/structure
You need to manually delete the view from the database in order to restore the site.
| Comment | File | Size | Author |
|---|---|---|---|
| #18 | delete_new_display-2810057-18.patch | 1.8 KB | lendude |
| #18 | delete_new_display-2810057-18-TEST_ONLY.patch | 1.12 KB | lendude |
| #12 | WSOD-2810057-3.patch | 698 bytes | arijits.drush |
Comments
Comment #2
arijits.drushThis patch should work.
Comment #3
arijits.drushComment #4
arijits.drushComment #5
arijits.drushComment #6
arijits.drushComment #7
arijits.drushComment #10
arijits.drushComment #11
arijits.drushComment #12
arijits.drushSorry For the Inconvenience but Patch #2 will not work correctly.
Comment #14
dawehnerLet's ensure to add tests
Comment #15
arijits.drushComment #16
arijits.drushAdded Test for #12
Comment #17
lendude@arijits.drush No patch in #15-#16?
Comment #18
lendudeHere is what I had before I saw #16.
Comment #20
dawehnerThis looks great. Thank you for writing a test @Lendude!
Personally I'm not convinced that this is major, but meh.
Comment #21
alexpottCommitted and pushed db7834d to 8.3.x and a9dd6b9 to 8.2.x. Thanks!