Getting this error when trying to run any action with VBO. This is new; was working earlier. The entity is coming in null, even with stock VBO actions (even tried the basic 'Publish selected node(s)').

Drupal core version: 8.6.9
VBO version: 8.x-2.x-dev (d50a664464fadf359b23d0aa1b87113c103489d5)

Error: Call to a member function language() on null in Drupal\views_bulk_operations\Service\ViewsBulkOperationsActionProcessor->populateQueue() (line 281 of /app/web/modules/contrib/views_bulk_operations/src/Service/ViewsBulkOperationsActionProcessor.php)

Error: Call to a member function language() on null in Drupal\views_bulk_operations\Service\ViewsBulkOperationsActionProcessor->populateQueue() (line 281 of /app/web/modules/contrib/views_bulk_operations/src/Service/ViewsBulkOperationsActionProcessor.php) #0 /app/web/modules/contrib/views_bulk_operations/src/ViewsBulkOperationsBatch.php(124): Drupal\views_bulk_operations\Service\ViewsBulkOperationsActionProcessor->populateQueue(Array, Array)
#1 /app/web/core/includes/batch.inc(294): Drupal\views_bulk_operations\ViewsBulkOperationsBatch::operation(Array, Array)
#2 /app/web/core/includes/batch.inc(137): _batch_process()
#3 /app/web/core/includes/batch.inc(93): _batch_do()
#4 /app/web/core/modules/system/src/Controller/BatchController.php(55): _batch_page(Object(Symfony\Component\HttpFoundation\Request))
#5 [internal function]: Drupal\system\Controller\BatchController->batchPage(Object(Symfony\Component\HttpFoundation\Request))
#6 /app/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)
#7 /app/web/core/lib/Drupal/Core/Render/Renderer.php(582): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#8 /app/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#9 /app/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)
#10 /app/vendor/symfony/http-kernel/HttpKernel.php(151): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#11 /app/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#12 /app/web/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#13 /app/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#14 /app/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(99): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#15 /app/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(78): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#16 /app/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#17 /app/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#18 /app/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#19 /app/web/core/lib/Drupal/Core/DrupalKernel.php(693): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#20 /app/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#21 {main}.

Notice: Undefined variable: entity in Drupal\views_bulk_operations\Service\ViewsBulkOperationsViewData->getEntityDefault() (line 224 of /app/web/modules/contrib/views_bulk_operations/src/Service/ViewsBulkOperationsViewData.php)

Notice: Undefined variable: entity in Drupal\views_bulk_operations\Service\ViewsBulkOperationsViewData->getEntityDefault() (line 224 of /app/web/modules/contrib/views_bulk_operations/src/Service/ViewsBulkOperationsViewData.php) #0 /app/web/core/includes/bootstrap.inc(584): _drupal_error_handler_real(8, 'Undefined varia...', '/app/web/module...', 224, Array)
#1 /app/web/modules/contrib/views_bulk_operations/src/Service/ViewsBulkOperationsViewData.php(224): _drupal_error_handler(8, 'Undefined varia...', '/app/web/module...', 224, Array)
#2 [internal function]: Drupal\views_bulk_operations\Service\ViewsBulkOperationsViewData->getEntityDefault(Object(Drupal\views\ResultRow), 'none', Object(Drupal\views\ViewExecutable))
#3 /app/web/modules/contrib/views_bulk_operations/src/Service/ViewsBulkOperationsViewData.php(143): call_user_func(Array, Object(Drupal\views\ResultRow), 'none', Object(Drupal\views\ViewExecutable))
#4 /app/web/modules/contrib/views_bulk_operations/src/Service/ViewsBulkOperationsActionProcessor.php(279): Drupal\views_bulk_operations\Service\ViewsBulkOperationsViewData->getEntity(Object(Drupal\views\ResultRow))
#5 /app/web/modules/contrib/views_bulk_operations/src/ViewsBulkOperationsBatch.php(124): Drupal\views_bulk_operations\Service\ViewsBulkOperationsActionProcessor->populateQueue(Array, Array)
#6 /app/web/core/includes/batch.inc(294): Drupal\views_bulk_operations\ViewsBulkOperationsBatch::operation(Array, Array)
#7 /app/web/core/includes/batch.inc(137): _batch_process()
#8 /app/web/core/includes/batch.inc(93): _batch_do()
#9 /app/web/core/modules/system/src/Controller/BatchController.php(55): _batch_page(Object(Symfony\Component\HttpFoundation\Request))
#10 [internal function]: Drupal\system\Controller\BatchController->batchPage(Object(Symfony\Component\HttpFoundation\Request))
#11 /app/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)
#12 /app/web/core/lib/Drupal/Core/Render/Renderer.php(582): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#13 /app/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#14 /app/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)
#15 /app/vendor/symfony/http-kernel/HttpKernel.php(151): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#16 /app/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#17 /app/web/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#18 /app/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#19 /app/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(99): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#20 /app/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(78): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#21 /app/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#22 /app/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#23 /app/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#24 /app/web/core/lib/Drupal/Core/DrupalKernel.php(693): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#25 /app/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#26 {main}.

Notice: Undefined variable: entity in Drupal\views_bulk_operations\Service\ViewsBulkOperationsViewData->getEntityDefault() (line 196 of /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/modules/contrib/views_bulk_operations/src/Service/ViewsBulkOperationsViewData.php)

Notice: Undefined variable: entity in Drupal\views_bulk_operations\Service\ViewsBulkOperationsViewData->getEntityDefault() (line 196 of /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/modules/contrib/views_bulk_operations/src/Service/ViewsBulkOperationsViewData.php) #0 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/includes/bootstrap.inc(584): _drupal_error_handler_real(8, 'Undefined varia...', '/srv/bindings/a...', 196, Array)
#1 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/modules/contrib/views_bulk_operations/src/Service/ViewsBulkOperationsViewData.php(196): _drupal_error_handler(8, 'Undefined varia...', '/srv/bindings/a...', 196, Array)
#2 [internal function]: Drupal\views_bulk_operations\Service\ViewsBulkOperationsViewData->getEntityDefault(Object(Drupal\views\ResultRow), 'none', Object(Drupal\views\ViewExecutable))
#3 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/modules/contrib/views_bulk_operations/src/Service/ViewsBulkOperationsViewData.php(143): call_user_func(Array, Object(Drupal\views\ResultRow), 'none', Object(Drupal\views\ViewExecutable))
#4 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/modules/contrib/views_bulk_operations/src/Service/ViewsBulkOperationsActionProcessor.php(279): Drupal\views_bulk_operations\Service\ViewsBulkOperationsViewData->getEntity(Object(Drupal\views\ResultRow))
#5 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/modules/contrib/views_bulk_operations/src/ViewsBulkOperationsBatch.php(124): Drupal\views_bulk_operations\Service\ViewsBulkOperationsActionProcessor->populateQueue(Array, Array)
#6 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/includes/batch.inc(294): Drupal\views_bulk_operations\ViewsBulkOperationsBatch::operation(Array, Array)
#7 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/includes/batch.inc(137): _batch_process()
#8 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/includes/batch.inc(93): _batch_do()
#9 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/modules/system/src/Controller/BatchController.php(55): _batch_page(Object(Symfony\Component\HttpFoundation\Request))
#10 [internal function]: Drupal\system\Controller\BatchController->batchPage(Object(Symfony\Component\HttpFoundation\Request))
#11 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)
#12 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/lib/Drupal/Core/Render/Renderer.php(582): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#13 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#14 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)
#15 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/vendor/symfony/http-kernel/HttpKernel.php(151): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#16 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#17 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#18 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#19 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(99): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#20 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(78): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#21 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#22 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#23 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#24 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/core/lib/Drupal/Core/DrupalKernel.php(693): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#25 /srv/bindings/a3b2e6e4032b4152b501f7e846c6a2b5/code/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#26 {main}.
Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

Chris Charlton created an issue. See original summary.

Chris Charlton’s picture

Issue summary: View changes
Chris Charlton’s picture

Issue summary: View changes
Chris Charlton’s picture

Issue summary: View changes
graber’s picture

Status: Active » Postponed (maintainer needs more info)

Please provide steps to reproduce, as I wasn't able to do it on a clean 8.6.9 core install multi-language instance.

graber’s picture

Chris Charlton’s picture

Status: Postponed (maintainer needs more info) » Active

Testing a potential fix now.

UPDATE: My VBO is working again now. The following ticket helped: #3033689: Fire post execute events before loading entites in views

graber’s picture

Status: Active » Closed (outdated)

MaxPah made their first commit to this issue’s fork.

maxpah’s picture

Hello,

I also had the problem this day in ViewsBulkOperationsViewData::getEntityDefault().
I think that initializing the $entity variable would not be a bad thing, because in any case if it is not EntityInterface there will be an early return.

denix’s picture

Status: Closed (outdated) » Needs review
aurelianzaha’s picture

StatusFileSize
new582 bytes

Attached the patch against 4.4.x in case someone else needs this as well.

  • 4081b40b committed on 4.4.x
    #3033991: Initialize the  varaible.
    
graber’s picture

Version: 8.x-2.x-dev » 4.4.x-dev
Status: Needs review » Fixed

Now that this issue is closed, please review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, please credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

bogdan.dinu’s picture

StatusFileSize
new772 bytes

Initializing the $entity variable fixes the warning but does not fix the error in ViewsBulkOperationsActionProcessor->populateQueue().
Currently I'm getting this error on version 4.4.4:
Error: Call to a member function language() on null in Drupal\views_bulk_operations\Service\ViewsBulkOperationsActionProcessor->populateQueue() (line 353 of /var/www/html/web/modules/contrib/views_bulk_operations/src/Service/ViewsBulkOperationsActionProcessor.php).

Looking at the code, since the method $this->viewDataService->getEntity() can return null I think it would be good to also check for existance before calling $entity->language(). I know it might be a very rare and specific situation but I think it's safe to add it. In my case the error is triggered only for a certain user who probably had a media entity referenced in the private tempstore batch_list.

I've added a patch and I will also update the MR.