This is a little bit frustrating, but I will live,

I am trying to use VBO to remove content from front page and i get the error above. i am trying to understand the source of the problem but no bulk operation is working right now on my website.

In addition, going back to my content view (I am using a custom view with filters) I got these messages.

Notice: Undefined index: step in views_bulk_operations_form_validate() (line 548 of /var/www/vhosts/new.julib.com/httpdocs/sites/all/modules/views_bulk_operations/views_bulk_operations.module).
Notice: Undefined index: step in views_bulk_operations_form_submit() (line 590 of /var/www/vhosts/new.julib.com/httpdocs/sites/all/modules/views_bulk_operations/views_bulk_operations.module).
Notice: Undefined index: selection in views_bulk_operations_form_submit() (line 635 of /var/www/vhosts/new.julib.com/httpdocs/sites/all/modules/views_bulk_operations/views_bulk_operations.module).
Notice: Undefined index: operation in views_bulk_operations_form_submit() (line 635 of /var/www/vhosts/new.julib.com/httpdocs/sites/all/modules/views_bulk_operations/views_bulk_operations.module).

I Googled all over but could not find anybody that got the same problem. I suspect that there is a problem with another module but Can't understand which one.

Thanks for the help,

Yaron

Comments

bojanz’s picture

Status: Active » Postponed (maintainer needs more info)

Can you update to latest 7.x-3.x-dev (or beta3) first?
Your line numbers don't match mine and I have no idea how old your code could be.

Also, what kind of a view are you using? (an export might be useful) If you try a default vbo view (admin/content2 for example), does it work there?

Nobody has reported an error like that in the previous few months, hence your ineffective google search.

ymeiner’s picture

Sorry, I udated to last dev during the writing of the post. I am on the last dev (edited the original post with the correct error).

I am using the /content2 that i improved by adding more fields.

Thank you and sorry for the messy post

Here is the view:

$view = new view;
$view->name = 'admin_content';
$view->description = 'Emulates the Drupal content administration page.';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'Content';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Content';
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['access']['perm'] = 'administer content';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['distinct'] = TRUE;
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'views_filters_selective';
$handler->display->display_options['exposed_form']['options']['autosubmit'] = 0;
$handler->display->display_options['exposed_form']['options']['autosubmit_hide'] = 1;
$handler->display->display_options['exposed_form']['options']['vfs'] = array(
  'title' => array(
    'vfs_active' => 0,
    'vfs_hide_empty' => 0,
  ),
  'city' => array(
    'vfs_active' => 0,
    'vfs_hide_empty' => 0,
  ),
  'province' => array(
    'vfs_active' => 0,
    'vfs_hide_empty' => 0,
  ),
  'type' => array(
    'vfs_active' => 0,
    'vfs_hide_empty' => 0,
  ),
  'promote' => array(
    'vfs_active' => 0,
    'vfs_hide_empty' => 0,
  ),
  'top_slider_promote' => array(
    'vfs_active' => 0,
    'vfs_hide_empty' => 0,
  ),
  'status' => array(
    'vfs_active' => 0,
    'vfs_hide_empty' => 0,
  ),
);
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '150';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['pager']['options']['id'] = '0';
$handler->display->display_options['pager']['options']['expose']['items_per_page_options'] = '5, 10, 20, 40, 60, 150';
$handler->display->display_options['pager']['options']['expose']['items_per_page_options_all'] = 0;
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
  'counter' => 'counter',
  'views_bulk_operations' => 'views_bulk_operations',
  'field_image' => 'field_image',
  'title' => 'title',
  'timestamp' => 'title',
  'type' => 'type',
  'name' => 'name',
  'status' => 'status',
  'edit_node' => 'edit_node',
  'type_1' => 'type_1',
  'changed' => 'changed',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
  'counter' => array(
    'align' => '',
    'separator' => '',
    'empty_column' => 0,
  ),
  'views_bulk_operations' => array(
    'align' => '',
    'separator' => '',
    'empty_column' => 0,
  ),
  'field_image' => array(
    'align' => '',
    'separator' => '',
    'empty_column' => 0,
  ),
  'title' => array(
    'sortable' => 1,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
    'empty_column' => 0,
  ),
  'timestamp' => array(
    'align' => '',
    'separator' => '',
    'empty_column' => 0,
  ),
  'type' => array(
    'sortable' => 1,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
    'empty_column' => 0,
  ),
  'name' => array(
    'sortable' => 1,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
    'empty_column' => 0,
  ),
  'status' => array(
    'sortable' => 0,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
    'empty_column' => 0,
  ),
  'edit_node' => array(
    'align' => '',
    'separator' => '',
    'empty_column' => 0,
  ),
  'type_1' => array(
    'sortable' => 1,
    'default_sort_order' => 'desc',
    'align' => '',
    'separator' => '',
    'empty_column' => 0,
  ),
  'changed' => array(
    'sortable' => 1,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
    'empty_column' => 0,
  ),
);
$handler->display->display_options['style_options']['override'] = 1;
$handler->display->display_options['style_options']['sticky'] = 0;
$handler->display->display_options['style_options']['empty_table'] = 1;
/* No results behavior: Global: Text area */
$handler->display->display_options['empty']['area']['id'] = 'area';
$handler->display->display_options['empty']['area']['table'] = 'views';
$handler->display->display_options['empty']['area']['field'] = 'area';
$handler->display->display_options['empty']['area']['empty'] = FALSE;
$handler->display->display_options['empty']['area']['content'] = 'No content available.';
$handler->display->display_options['empty']['area']['format'] = 'filtered_html';
$handler->display->display_options['empty']['area']['tokenize'] = 0;
/* Relationship: Content: Author */
$handler->display->display_options['relationships']['uid']['id'] = 'uid';
$handler->display->display_options['relationships']['uid']['table'] = 'node';
$handler->display->display_options['relationships']['uid']['field'] = 'uid';
/* Relationship: Content: Images (field_image:fid) */
$handler->display->display_options['relationships']['field_image_fid']['id'] = 'field_image_fid';
$handler->display->display_options['relationships']['field_image_fid']['table'] = 'field_data_field_image';
$handler->display->display_options['relationships']['field_image_fid']['field'] = 'field_image_fid';
$handler->display->display_options['relationships']['field_image_fid']['required'] = 0;
/* Field: Global: View result counter */
$handler->display->display_options['fields']['counter']['id'] = 'counter';
$handler->display->display_options['fields']['counter']['table'] = 'views';
$handler->display->display_options['fields']['counter']['field'] = 'counter';
$handler->display->display_options['fields']['counter']['label'] = '#';
$handler->display->display_options['fields']['counter']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['counter']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['counter']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['counter']['alter']['external'] = 0;
$handler->display->display_options['fields']['counter']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['counter']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['counter']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['counter']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['counter']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['counter']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['counter']['alter']['trim'] = 0;
$handler->display->display_options['fields']['counter']['alter']['html'] = 0;
$handler->display->display_options['fields']['counter']['element_label_colon'] = 1;
$handler->display->display_options['fields']['counter']['element_default_classes'] = 1;
$handler->display->display_options['fields']['counter']['hide_empty'] = 0;
$handler->display->display_options['fields']['counter']['empty_zero'] = 0;
$handler->display->display_options['fields']['counter']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['counter']['counter_start'] = '1';
/* Field: Content: Bulk operations */
$handler->display->display_options['fields']['views_bulk_operations']['id'] = 'views_bulk_operations';
$handler->display->display_options['fields']['views_bulk_operations']['table'] = 'node';
$handler->display->display_options['fields']['views_bulk_operations']['field'] = 'views_bulk_operations';
$handler->display->display_options['fields']['views_bulk_operations']['label'] = '';
$handler->display->display_options['fields']['views_bulk_operations']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['alter']['external'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['views_bulk_operations']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['views_bulk_operations']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['alter']['trim'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['alter']['html'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['element_label_colon'] = 1;
$handler->display->display_options['fields']['views_bulk_operations']['element_default_classes'] = 1;
$handler->display->display_options['fields']['views_bulk_operations']['hide_empty'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['empty_zero'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['vbo']['operations'] = array(
  'node_assign_owner_action' => array(
    'selected' => 1,
    'use_queue' => 0,
    'skip_confirmation' => 0,
    'override_label' => 0,
    'label' => '',
  ),
  'views_bulk_operations_delete_item' => array(
    'selected' => 1,
    'use_queue' => 0,
    'skip_confirmation' => 0,
    'override_label' => 0,
    'label' => '',
  ),
  'views_bulk_operations_script_action' => array(
    'selected' => 1,
    'use_queue' => 0,
    'skip_confirmation' => 0,
    'override_label' => 0,
    'label' => '',
  ),
  'node_make_sticky_action' => array(
    'selected' => 1,
    'use_queue' => 0,
    'skip_confirmation' => 0,
    'override_label' => 0,
    'label' => '',
  ),
  'node_make_unsticky_action' => array(
    'selected' => 1,
    'use_queue' => 0,
    'skip_confirmation' => 0,
    'override_label' => 0,
    'label' => '',
  ),
  'views_bulk_operations_argument_selector_action' => array(
    'selected' => 0,
    'skip_confirmation' => 0,
    'override_label' => 0,
    'label' => '',
  ),
  'node_promote_action' => array(
    'selected' => 1,
    'use_queue' => 0,
    'skip_confirmation' => 0,
    'override_label' => 0,
    'label' => '',
  ),
  'node_publish_action' => array(
    'selected' => 1,
    'use_queue' => 0,
    'skip_confirmation' => 0,
    'override_label' => 0,
    'label' => '',
  ),
  'node_unpromote_action' => array(
    'selected' => 1,
    'use_queue' => 0,
    'skip_confirmation' => 0,
    'override_label' => 0,
    'label' => '',
  ),
  'node_save_action' => array(
    'selected' => 0,
    'use_queue' => 0,
    'skip_confirmation' => 0,
    'override_label' => 0,
    'label' => '',
  ),
  'node_unpublish_action' => array(
    'selected' => 1,
    'use_queue' => 0,
    'skip_confirmation' => 0,
    'override_label' => 0,
    'label' => '',
  ),
  'node_unpublish_by_keyword_action' => array(
    'selected' => 1,
    'use_queue' => 0,
    'skip_confirmation' => 0,
    'override_label' => 0,
    'label' => '',
  ),
);
$handler->display->display_options['fields']['views_bulk_operations']['vbo']['display_type'] = '0';
$handler->display->display_options['fields']['views_bulk_operations']['vbo']['display_result'] = 1;
$handler->display->display_options['fields']['views_bulk_operations']['vbo']['merge_single_action'] = 1;
$handler->display->display_options['fields']['views_bulk_operations']['vbo']['force_single'] = 0;
/* Field: Content: Images */
$handler->display->display_options['fields']['field_image']['id'] = 'field_image';
$handler->display->display_options['fields']['field_image']['table'] = 'field_data_field_image';
$handler->display->display_options['fields']['field_image']['field'] = 'field_image';
$handler->display->display_options['fields']['field_image']['label'] = '';
$handler->display->display_options['fields']['field_image']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_image']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_image']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_image']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_image']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_image']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_image']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_image']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_image']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_image']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_image']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_image']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_image']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_image']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_image']['hide_empty'] = 0;
$handler->display->display_options['fields']['field_image']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_image']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['field_image']['click_sort_column'] = 'fid';
$handler->display->display_options['fields']['field_image']['settings'] = array(
  'image_style' => 'thumbnail',
  'image_link' => '',
);
$handler->display->display_options['fields']['field_image']['group_rows'] = 1;
$handler->display->display_options['fields']['field_image']['delta_limit'] = '1';
$handler->display->display_options['fields']['field_image']['delta_offset'] = '0';
$handler->display->display_options['fields']['field_image']['delta_reversed'] = 0;
$handler->display->display_options['fields']['field_image']['delta_first_last'] = 0;
$handler->display->display_options['fields']['field_image']['field_api_classes'] = 0;
/* Field: Content: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['title']['alter']['external'] = 0;
$handler->display->display_options['fields']['title']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['title']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 0;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 0;
$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
$handler->display->display_options['fields']['title']['alter']['html'] = 0;
$handler->display->display_options['fields']['title']['element_label_colon'] = 1;
$handler->display->display_options['fields']['title']['element_default_classes'] = 1;
$handler->display->display_options['fields']['title']['hide_empty'] = 0;
$handler->display->display_options['fields']['title']['empty_zero'] = 0;
$handler->display->display_options['fields']['title']['link_to_node'] = 1;
/* Field: Content: Has new content */
$handler->display->display_options['fields']['timestamp']['id'] = 'timestamp';
$handler->display->display_options['fields']['timestamp']['table'] = 'history';
$handler->display->display_options['fields']['timestamp']['field'] = 'timestamp';
$handler->display->display_options['fields']['timestamp']['label'] = 'New?';
$handler->display->display_options['fields']['timestamp']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['timestamp']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['timestamp']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['timestamp']['alter']['external'] = 0;
$handler->display->display_options['fields']['timestamp']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['timestamp']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['timestamp']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['timestamp']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['timestamp']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['timestamp']['alter']['trim'] = 0;
$handler->display->display_options['fields']['timestamp']['alter']['html'] = 0;
$handler->display->display_options['fields']['timestamp']['element_label_colon'] = 1;
$handler->display->display_options['fields']['timestamp']['element_default_classes'] = 1;
$handler->display->display_options['fields']['timestamp']['hide_empty'] = 0;
$handler->display->display_options['fields']['timestamp']['empty_zero'] = 0;
$handler->display->display_options['fields']['timestamp']['link_to_node'] = 0;
$handler->display->display_options['fields']['timestamp']['comments'] = 0;
/* Field: Content: Type */
$handler->display->display_options['fields']['type']['id'] = 'type';
$handler->display->display_options['fields']['type']['table'] = 'node';
$handler->display->display_options['fields']['type']['field'] = 'type';
$handler->display->display_options['fields']['type']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['type']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['type']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['type']['alter']['external'] = 0;
$handler->display->display_options['fields']['type']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['type']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['type']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['type']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['type']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['type']['alter']['trim'] = 0;
$handler->display->display_options['fields']['type']['alter']['html'] = 0;
$handler->display->display_options['fields']['type']['element_label_colon'] = 1;
$handler->display->display_options['fields']['type']['element_default_classes'] = 1;
$handler->display->display_options['fields']['type']['hide_empty'] = 0;
$handler->display->display_options['fields']['type']['empty_zero'] = 0;
$handler->display->display_options['fields']['type']['link_to_node'] = 0;
$handler->display->display_options['fields']['type']['machine_name'] = 0;
/* Field: User: Name */
$handler->display->display_options['fields']['name']['id'] = 'name';
$handler->display->display_options['fields']['name']['table'] = 'users';
$handler->display->display_options['fields']['name']['field'] = 'name';
$handler->display->display_options['fields']['name']['relationship'] = 'uid';
$handler->display->display_options['fields']['name']['label'] = 'Author';
$handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['name']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['name']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['name']['alter']['external'] = 0;
$handler->display->display_options['fields']['name']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['name']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['name']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['name']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['name']['alter']['trim'] = 0;
$handler->display->display_options['fields']['name']['alter']['html'] = 0;
$handler->display->display_options['fields']['name']['element_label_colon'] = 1;
$handler->display->display_options['fields']['name']['element_default_classes'] = 1;
$handler->display->display_options['fields']['name']['hide_empty'] = 0;
$handler->display->display_options['fields']['name']['empty_zero'] = 0;
$handler->display->display_options['fields']['name']['link_to_user'] = 1;
$handler->display->display_options['fields']['name']['overwrite_anonymous'] = 0;
/* Field: Content: Published */
$handler->display->display_options['fields']['status']['id'] = 'status';
$handler->display->display_options['fields']['status']['table'] = 'node';
$handler->display->display_options['fields']['status']['field'] = 'status';
$handler->display->display_options['fields']['status']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['status']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['status']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['status']['alter']['external'] = 0;
$handler->display->display_options['fields']['status']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['status']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['status']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['status']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['status']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['status']['alter']['trim'] = 0;
$handler->display->display_options['fields']['status']['alter']['html'] = 0;
$handler->display->display_options['fields']['status']['element_label_colon'] = 1;
$handler->display->display_options['fields']['status']['element_default_classes'] = 1;
$handler->display->display_options['fields']['status']['hide_empty'] = 0;
$handler->display->display_options['fields']['status']['empty_zero'] = 0;
$handler->display->display_options['fields']['status']['not'] = 0;
/* Field: Content: Edit link */
$handler->display->display_options['fields']['edit_node']['id'] = 'edit_node';
$handler->display->display_options['fields']['edit_node']['table'] = 'node';
$handler->display->display_options['fields']['edit_node']['field'] = 'edit_node';
$handler->display->display_options['fields']['edit_node']['label'] = 'Edit';
$handler->display->display_options['fields']['edit_node']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['external'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['edit_node']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['edit_node']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['trim'] = 0;
$handler->display->display_options['fields']['edit_node']['alter']['html'] = 0;
$handler->display->display_options['fields']['edit_node']['element_label_colon'] = 1;
$handler->display->display_options['fields']['edit_node']['element_default_classes'] = 1;
$handler->display->display_options['fields']['edit_node']['hide_empty'] = 0;
$handler->display->display_options['fields']['edit_node']['empty_zero'] = 0;
/* Field: File: Type */
$handler->display->display_options['fields']['type_1']['id'] = 'type_1';
$handler->display->display_options['fields']['type_1']['table'] = 'file_managed';
$handler->display->display_options['fields']['type_1']['field'] = 'type';
$handler->display->display_options['fields']['type_1']['relationship'] = 'field_image_fid';
$handler->display->display_options['fields']['type_1']['label'] = 'Item has images';
$handler->display->display_options['fields']['type_1']['alter']['alter_text'] = 1;
$handler->display->display_options['fields']['type_1']['alter']['text'] = 'Has Images';
$handler->display->display_options['fields']['type_1']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['external'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['type_1']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['type_1']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['trim'] = 0;
$handler->display->display_options['fields']['type_1']['alter']['html'] = 0;
$handler->display->display_options['fields']['type_1']['element_label_colon'] = 1;
$handler->display->display_options['fields']['type_1']['element_default_classes'] = 1;
$handler->display->display_options['fields']['type_1']['hide_empty'] = 0;
$handler->display->display_options['fields']['type_1']['empty_zero'] = 0;
$handler->display->display_options['fields']['type_1']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['type_1']['link_to_file'] = 0;
$handler->display->display_options['fields']['type_1']['machine_name'] = 0;
/* Field: Content: Updated date */
$handler->display->display_options['fields']['changed']['id'] = 'changed';
$handler->display->display_options['fields']['changed']['table'] = 'node';
$handler->display->display_options['fields']['changed']['field'] = 'changed';
$handler->display->display_options['fields']['changed']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['changed']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['changed']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['changed']['alter']['external'] = 0;
$handler->display->display_options['fields']['changed']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['changed']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['changed']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['changed']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['changed']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['changed']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['changed']['alter']['trim'] = 0;
$handler->display->display_options['fields']['changed']['alter']['html'] = 0;
$handler->display->display_options['fields']['changed']['element_label_colon'] = 1;
$handler->display->display_options['fields']['changed']['element_default_classes'] = 1;
$handler->display->display_options['fields']['changed']['hide_empty'] = 0;
$handler->display->display_options['fields']['changed']['empty_zero'] = 0;
$handler->display->display_options['fields']['changed']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['changed']['date_format'] = 'long';
/* Sort criterion: Content: Updated date */
$handler->display->display_options['sorts']['changed']['id'] = 'changed';
$handler->display->display_options['sorts']['changed']['table'] = 'node';
$handler->display->display_options['sorts']['changed']['field'] = 'changed';
$handler->display->display_options['sorts']['changed']['order'] = 'DESC';
/* Filter criterion: Content: Title */
$handler->display->display_options['filters']['title']['id'] = 'title';
$handler->display->display_options['filters']['title']['table'] = 'node';
$handler->display->display_options['filters']['title']['field'] = 'title';
$handler->display->display_options['filters']['title']['operator'] = 'contains';
$handler->display->display_options['filters']['title']['group'] = 0;
$handler->display->display_options['filters']['title']['exposed'] = TRUE;
$handler->display->display_options['filters']['title']['expose']['operator_id'] = 'title_op';
$handler->display->display_options['filters']['title']['expose']['label'] = 'Title contains';
$handler->display->display_options['filters']['title']['expose']['operator'] = 'title_op';
$handler->display->display_options['filters']['title']['expose']['identifier'] = 'title';
$handler->display->display_options['filters']['title']['expose']['multiple'] = FALSE;
/* Filter criterion: Field: Edition (field_city) */
$handler->display->display_options['filters']['field_city_tid']['id'] = 'field_city_tid';
$handler->display->display_options['filters']['field_city_tid']['table'] = 'field_data_field_city';
$handler->display->display_options['filters']['field_city_tid']['field'] = 'field_city_tid';
$handler->display->display_options['filters']['field_city_tid']['group'] = 0;
$handler->display->display_options['filters']['field_city_tid']['exposed'] = TRUE;
$handler->display->display_options['filters']['field_city_tid']['expose']['operator_id'] = 'field_city_tid_op';
$handler->display->display_options['filters']['field_city_tid']['expose']['label'] = 'Edition';
$handler->display->display_options['filters']['field_city_tid']['expose']['use_operator'] = 1;
$handler->display->display_options['filters']['field_city_tid']['expose']['operator'] = 'field_city_tid_op';
$handler->display->display_options['filters']['field_city_tid']['expose']['identifier'] = 'field_city_tid';
$handler->display->display_options['filters']['field_city_tid']['expose']['multiple'] = 1;
$handler->display->display_options['filters']['field_city_tid']['expose']['reduce'] = 0;
$handler->display->display_options['filters']['field_city_tid']['reduce_duplicates'] = 0;
$handler->display->display_options['filters']['field_city_tid']['type'] = 'select';
$handler->display->display_options['filters']['field_city_tid']['vocabulary'] = 'cities';
$handler->display->display_options['filters']['field_city_tid']['error_message'] = 1;
/* Filter criterion: Location: Province */
$handler->display->display_options['filters']['province']['id'] = 'province';
$handler->display->display_options['filters']['province']['table'] = 'location';
$handler->display->display_options['filters']['province']['field'] = 'province';
$handler->display->display_options['filters']['province']['group'] = 0;
$handler->display->display_options['filters']['province']['exposed'] = TRUE;
$handler->display->display_options['filters']['province']['expose']['operator_id'] = 'province_op';
$handler->display->display_options['filters']['province']['expose']['label'] = 'State/Province';
$handler->display->display_options['filters']['province']['expose']['operator'] = 'province_op';
$handler->display->display_options['filters']['province']['expose']['identifier'] = 'province';
$handler->display->display_options['filters']['province']['expose']['remember'] = 1;
/* Filter criterion: Content: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['group'] = 0;
$handler->display->display_options['filters']['type']['exposed'] = TRUE;
$handler->display->display_options['filters']['type']['expose']['operator_id'] = 'type_op';
$handler->display->display_options['filters']['type']['expose']['label'] = 'Content Type';
$handler->display->display_options['filters']['type']['expose']['operator'] = 'type_op';
$handler->display->display_options['filters']['type']['expose']['identifier'] = 'type';
$handler->display->display_options['filters']['type']['expose']['remember'] = 1;
$handler->display->display_options['filters']['type']['expose']['multiple'] = 1;
$handler->display->display_options['filters']['type']['expose']['reduce'] = 0;
/* Filter criterion: Content: Promoted to front page */
$handler->display->display_options['filters']['promote']['id'] = 'promote';
$handler->display->display_options['filters']['promote']['table'] = 'node';
$handler->display->display_options['filters']['promote']['field'] = 'promote';
$handler->display->display_options['filters']['promote']['value'] = 'All';
$handler->display->display_options['filters']['promote']['group'] = 0;
$handler->display->display_options['filters']['promote']['exposed'] = TRUE;
$handler->display->display_options['filters']['promote']['expose']['operator_id'] = '';
$handler->display->display_options['filters']['promote']['expose']['label'] = 'Promoted to front page';
$handler->display->display_options['filters']['promote']['expose']['use_operator'] = FALSE;
$handler->display->display_options['filters']['promote']['expose']['operator'] = 'promote_op';
$handler->display->display_options['filters']['promote']['expose']['identifier'] = 'promote';
$handler->display->display_options['filters']['promote']['expose']['multiple'] = FALSE;
/* Filter criterion: Content: Promote to main page top slider */
$handler->display->display_options['filters']['top_slider_promote']['id'] = 'top_slider_promote';
$handler->display->display_options['filters']['top_slider_promote']['table'] = 'node';
$handler->display->display_options['filters']['top_slider_promote']['field'] = 'top_slider_promote';
$handler->display->display_options['filters']['top_slider_promote']['value'] = 'All';
$handler->display->display_options['filters']['top_slider_promote']['group'] = 0;
$handler->display->display_options['filters']['top_slider_promote']['exposed'] = TRUE;
$handler->display->display_options['filters']['top_slider_promote']['expose']['operator_id'] = '';
$handler->display->display_options['filters']['top_slider_promote']['expose']['label'] = 'Promoted to main page top slider';
$handler->display->display_options['filters']['top_slider_promote']['expose']['use_operator'] = FALSE;
$handler->display->display_options['filters']['top_slider_promote']['expose']['operator'] = 'top_slider_promote_op';
$handler->display->display_options['filters']['top_slider_promote']['expose']['identifier'] = 'top_slider_promote';
$handler->display->display_options['filters']['top_slider_promote']['expose']['multiple'] = FALSE;
/* Filter criterion: Content: Published */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = 'All';
$handler->display->display_options['filters']['status']['group'] = 0;
$handler->display->display_options['filters']['status']['exposed'] = TRUE;
$handler->display->display_options['filters']['status']['expose']['operator_id'] = '';
$handler->display->display_options['filters']['status']['expose']['label'] = 'Published';
$handler->display->display_options['filters']['status']['expose']['use_operator'] = FALSE;
$handler->display->display_options['filters']['status']['expose']['operator'] = 'status_op';
$handler->display->display_options['filters']['status']['expose']['identifier'] = 'status';
$handler->display->display_options['filters']['status']['expose']['multiple'] = FALSE;
/* Filter criterion: Content: Type */
$handler->display->display_options['filters']['type_1']['id'] = 'type_1';
$handler->display->display_options['filters']['type_1']['table'] = 'node';
$handler->display->display_options['filters']['type_1']['field'] = 'type';
$handler->display->display_options['filters']['type_1']['operator'] = 'not in';
$handler->display->display_options['filters']['type_1']['value'] = array(
  'page' => 'page',
  'book' => 'book',
  'panel' => 'panel',
);
$handler->display->display_options['filters']['type_1']['group'] = 0;
/* Filter criterion: Location: City */
$handler->display->display_options['filters']['city']['id'] = 'city';
$handler->display->display_options['filters']['city']['table'] = 'location';
$handler->display->display_options['filters']['city']['field'] = 'city';
$handler->display->display_options['filters']['city']['group'] = 0;
$handler->display->display_options['filters']['city']['exposed'] = TRUE;
$handler->display->display_options['filters']['city']['expose']['operator_id'] = 'city_op';
$handler->display->display_options['filters']['city']['expose']['label'] = 'City';
$handler->display->display_options['filters']['city']['expose']['operator'] = 'city_op';
$handler->display->display_options['filters']['city']['expose']['identifier'] = 'city';
$handler->display->display_options['filters']['city']['expose']['required'] = 0;
$handler->display->display_options['filters']['city']['expose']['remember'] = 1;
$handler->display->display_options['filters']['city']['expose']['multiple'] = FALSE;

/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page');
$handler->display->display_options['path'] = 'admin/content2';
bojanz’s picture

Status: Postponed (maintainer needs more info) » Closed (works as designed)

Did you manage to solve this?
I couldn't import your view because it has custom fields, it would need to be packaged in a feature together with all fields in order to work...
Can you check that you have a recent Views 7.x-3.x-dev version?

Your error messages say that the form state (data from the form) is empty, which is why VBO craps out. Maybe kind of caching problem / caching module.

I'm guessing that without access to your site (which is something I don't do) I won't be able to solve this, so I'm closing the issue.

ymeiner’s picture

please contact me, I am ymeiner everywhere (gmail,facebook, twitter, skype...) so i can give you privileges for one day.

Yaron.

bsorrells’s picture

Just thought I would give a +1 on this. I experienced both of the same errors. After unpacking the latest dev code, the errors went away and the operation completed just fine.

awolfey’s picture

Status: Closed (works as designed) » Active

I'm getting this error also, with latest devs of views and vbo. In views_bulk_operations_execute(), both $selection and $operation are NULL.

Interestingly this view is working on my local dev machine, but not on the client's machine. Client machine is PHP Version => 5.3.8, mine is PHP Version 5.3.2-1ubuntu4.10. Drupal Codebase and db are the same.

kostask’s picture

I am having the exact same error. In my case the error appeared after I enabled the commerce stock module.

The commerce stock module adds to the product(s) a new required field, stock.

In my case I had already created some products, so their stock value was not set.

Executing any rule via vbo on products without the stock being set, results to this error.

If I set the stock to any value, I can execute rules via vbo on it without any problems.

It is a problematic behavior as I was actually using vbo to mass set the stock values. :)

I am using views 7.x-3.0-rc3 and the latest vbo 7.x-3.x-dev

The error I get on executing delete:

Fatal error: Call to a member function aggregate() on a non-object in /sites/all/modules/views_bulk_operations/views_bulk_operations.module on line 676

and then

Notice: Undefined index: step in views_bulk_operations_form_validate() (line 535 of /sites/all/modules/views_bulk_operations/views_bulk_operations.module).
Notice: Undefined index: step in views_bulk_operations_form_submit() (line 577 of /sites/all/modules/views_bulk_operations/views_bulk_operations.module).
Notice: Undefined index: select_all_pages in views_bulk_operations_form_submit() (line 623 of /sites/all/modules/views_bulk_operations/views_bulk_operations.module).
Notice: Undefined index: operation in views_bulk_operations_form_submit() (line 625 of /sites/all/modules/views_bulk_operations/views_bulk_operations.module).

on a stock update rule I get:

Fatal error: Call to undefined function rules_ui_element_fix_empty_after_build() in /includes/form.inc on line 1828

Again both errors disappear when I set the stock to anything.

starsinmypockets’s picture

I'm having the same issue. I updated to 3.x-dev and am getting the following error:

PHP Fatal error: Call to a member function aggregate() on a non-object in /srv/www/mtairy.toomodernmedia.com/public_html/sites/all/modules/views_bulk_operations/views_bulk_operations.module on line 764

preceded by:

Notice: Undefined index: step in views_bulk_operations_form_validate() (line 621 of /srv/www/mtairy.toomodernmedia.com/public_html/sites/all/modules/views_bulk_operations/views_bulk_operations.module). =>

Notice: Undefined index: step in views_bulk_operations_form_submit() (line 664 of /srv/www/mtairy.toomodernmedia.com/public_html/sites/all/modules/views_bulk_operations/views_bulk_operations.module). =>

Notice: Undefined index: select_all_pages in views_bulk_operations_form_submit() (line 711 of /srv/www/mtairy.toomodernmedia.com/public_html/sites/all/modules/views_bulk_operations/views_bulk_operations.module). =>

Notice: Undefined index: operation in views_bulk_operations_form_submit() (line 713 of /srv/www/mtairy.toomodernmedia.com/public_html/sites/all/modules/views_bulk_operations/views_bulk_operations.module). =>

To be fair I've hacked the heck out of this commerce install so I'm not sure if this is really a bug, or more of a support request. Nonetheless, I would love any input you might have as to the nature of the problem here...

bojanz’s picture

I honestly have no idea how to debug this blindly.

Something is crashing your forms, the form_state doesn't contain the relevant data, and VBO doesn't know what to do.
You should enable a VBO default view (admin/content2 for example) and test with that. If you changed anything on it, revert it to the default, then test.
Also try disabling any module that might alter the form and cause it to crash.
It can either be caching (the form cache gets dropped somewhere) or a module that alters what shouldn't be altered.

bojanz’s picture

Status: Active » Closed (cannot reproduce)

Closing this issue:

Debugged the same issue today and it turned out that the form cache was setup incorrectly: #1422070: All bulk operations broken.
So my hunch was correct. If you're having problems, go to settings.php, see if a line has "cache_form", comment it out, and retest.
If there's no such line, but you have alternative caches set up there, you probably need to add it ;)
In any case, nothing I can do from the VBO side.

ErnestoJaboneta’s picture

Just wanted to share my experience since I had the same problem. I needed to delete about 20,000 nodes and I'd get the aggregate error if I tried to process more than 100 nodes. I couldn't find any cache_form line in my settings.php and I wasn't using the commerce module. To work around the issue I made a new view with minimal settings. Just the title and VBO fields. I'm happily back to deleting thousands of nodes at a time now!

vml-bsummers’s picture

I am having the same problem, and like #11 a new view fixes it for a while but when I start rolling that into a feature and deploying it it soon becomes broken.

unlike the other issues I do not have any alt cashing implemented and no line in my settings.php so im not sure how I can fix this.

Ralf Eisler’s picture

I am having the same problem with 7.x-3.0-rc1.

bojanz’s picture

Refer to #10.
Feel free to open a new issue if you can provide actual info for fixing the issue (which so far has always appeared because of misconfiguration of the server on the user side).

afmdsouza’s picture

Status: Closed (cannot reproduce) » Active

I am having the same issue with VBO 3.x-dev and Views 7.x-3.3. Initially there was no issue when the view had few columns, the problem cropped up when new fields were added to the view. I could temporarily address the issue by reducing the number of rows per page, after sometime this workaround no longer worked.

Looks like Forms cache is causing this issue (I don't have any custom cache directives in settings.php, but using VBO 'pass row' feature). Forcing rebuild of the form by commenting '$form_state['cache'] = TRUE' at line 289 in views_bulk_operations.module fixes this stopping issue. I know it is not a proper fix, just hoping it provides some lead to the maintainer.

bojanz’s picture

@alfired
$form_state['cache'] = TRUE; is a recent addition, and it means we are hitting the cache more. Unfortunately, not having that line causes a serious issue (#1460154: Incorrect form values selected for operations).
When do you get the error? On which step?
Does it also happen if you try an operation that doesn't need "pass rows"?
You could try testing with "Execute arbitrary PHP script", and then "Modify entity values", for example.

Basically, I want to see if "pass rows" is responsible. That functionality will need to be reworked soon anyway.

afmdsouza’s picture

@bojanz
I get this error just after selecting the rows of the view and clicking on the action button (i am using 'each option as separate button'). Just tried without the 'pass row' setting, the problem persists. I shall test with "Execute arbitrary PHP script" and report back shortly.

afmdsouza’s picture

@bojanz,

I tried both 'Execute arbitrary PHP script' and 'Modify entity values' actions on this view, both resulted in 'Call to a member function aggregate() on a non-object' error. For this view, I have set 100 as 'Number of entities to load at once' and view has pager setting of 20 items. I have 28 fields in this view.

bojanz’s picture

Are you sure you don't have a custom form cache setup somewhere?
Because the default cache goes into the database, the limit is "max_packets", and if VBO breached that, you would have / should have got an angry red DB error. The fact that you didn't tells me it might not be hitting the database.

In general, there's nothing I can do. You have a huge and unusual number of fields. I, myself am just using Form API and don't have many knobs to turn or lines of code to tweak.
You can either reduce the number of fields or tweak your db / drupal installation (not sure what should be changed though).
Any further insight would require me to have direct access to your setup, and even if you wanted to give me that, I'm busy for the next two weeks.

afmdsouza’s picture

No I have not set any custom cache, there are no DB errors. The forms cache is being stored in cache_forms table. May be it is the number of fields that is tripping Form APIs, unfortunately I can't reduce them in this view. Thank you for your quick response and work on VBO.

bojanz’s picture

Okay, so you've looked into cache_form. Can you tell me how big the cache entry is for your page? (order the table by created DESC, and see the first item)
I have a regular content view, 8 columns, three of them are Field API fields. Nothing special.
So what I did is: I cloned that view 300 times (!), and stored each one in the form. The resulting cache entry size was 2.2mb (1.5mb for 200. 1mb for 100). VBO kept functioning normally (tested with 10 selected rows).

Can you also see what the max packet limit on your server is? 1mb? 16mb?

afmdsouza’s picture

The length(cache_form.data) is 42913 bytes. The site is being developed on my laptop, the server configurations are at defaults. The mysql server max_allowed_packet=1mb and client max_allowed_packet = 16mb. Though I now have a large number of fields, but the error started when the fields were around 7-8.

bojanz’s picture

And the same problem happens on both the laptop and the server? Is the cache entry the same size on both environments?
If your cache entry is really 42kb, then that's nothing and there's no reason for form state to get dropped.
There's some other (probably server) factor here that's causing the problem.

afmdsouza’s picture

I don't have an access to the server yet, I should have it soon. I have tried rebuilding the site in a different web root (on same laptop) without using the database dump, the problem is same. I shall try it on a different machine and let you know.

bojanz’s picture

Status: Active » Closed (cannot reproduce)

And we're back to #10.

afmdsouza’s picture

At last I got hold of a production server and managed to deploy this site. There are no errors on this Ubuntu based linode server on the same codebase, hence this can be closed as it a environmental specific issue .

andreypaa’s picture

I also had this problem, as I have been exposed to a limit of 50 nodes show. I changed to 20 and it worked.

nonzero’s picture

Version: 7.x-3.1 » 7.x-3.x-dev
Status: Closed (cannot reproduce) » Active
Issue tags: +fatal error, +vbo

#27 work around works for me. I get

Fatal error: Call to a member function aggregate() on a non-object in /web/sites/default/modules/views_bulk_operations/views_bulk_operations.module on line 767

when I try to do a multi-step bulk operation (workflow state change) on a view with 150 items despite me selecting only one item to operate on. I set the view's pager to 100 items, and the same operation works with no error.

Interestingly, when I do a single-step operation like unpublishing nodes, I get to the confirmation form without the error. Maybe the solution is to prune $form_state before sending it to the confirmation form.

bojanz’s picture

Status: Closed (cannot reproduce) » Active

Please read the whole thread. Without info on reproducing this (and so far it has been a server issue every time), you're not really contributing anything.
You didn't even specify your VBO version...

fonant’s picture

I have this problem on one of my sites. The nodes have large KML fields, which has helped me narrow down the issue a bit.

VBO 7.x-3.0-rc1
No commerce or non-standard Drupal caches.
No database errors.

Testing with "Execute arbitrary PHP script" with an empty script. Test passes if we get the "You selected the following items:" page. Test fails if the confirmation page doesn't load, and we get the errors mentioned at the top of this issue.

* Issue occurs when fields with large data sizes are included in the view output, even if truncated to a small number of characters. Removing fields with large data sizes reduces the problem significantly.
* Issue occurs when the total data gets above a certain limit: total data being number of number of view rows * total viewed field data size.
* Issue only depends on the size of the page, so you can display just a few items and then happily update many hundreds more on pages of results that aren't shown.

MySQL max_allowed_packet=2M

bojanz’s picture

Status: Active » Closed (cannot reproduce)

2M is way too small, you will need to increase it. I will document this in the README.
Nothing I can do there, that's just Drupal setting the form cache.
Btw, the current MySQL default is 16M.

ymeiner’s picture

This is something that is not being addressed in a lot of modules, even core ones. there must be a way to calculate the amount of memory and the size of the packet and break the operation to batches that fit the server's limits. It's not only VBO, it is also in AJAX file upload and the indexing.

sletis’s picture

#27 works for me also!!

tame4tex’s picture

I would like to further support and emphasize bojanz comments in #31. If you are getting this error to check your MySQL max_allowed_packet setting. By default this is usually set quite low eg 1M.

I am using VBO 7.x-3.0-rc1.

Got the same error mentioned in this issue. Found the issue was associated with the number of fields in my view. Less than 8 fields ok, greater than 8 fields resulted in the error.

Checked my MySQL max_allowed_packet setting it was 1M. Increased it to 10M (I am on a VPS) and the error is no longer occurring.

rjjansen’s picture

Same problem here!

Notifications:
Undefined index: step in views_bulk_operations_form_submit() (line 650 of /home
Undefined index: select_all_pages in views_bulk_operations_form_submit() (line 681 of /home
Undefined index: operation in views_bulk_operations_form_submit() (line 683 of /home

Fatal error: Call to a member function aggregate() on a non-object in /home/sitename/public_html/sites/all/modules/views_bulk_operations/views_bulk_operations.module on line 733

Strange, that after one year there is no clue of what the issue is. I'm running a very small site and encountered a lot of spam in the forum although you have to login to access the forum and post.

ransomweaver’s picture

For me this error was caused by too small max_packet_size for mysql.

Error (and only this error) in /var/log/httpd/error_log:
PHP Fatal error: Call to a member function aggregate() on a non-object in views_bulk_operations/views_bulk_operations.module on line 728

How to check:
login mysql on the command line, e.g. mysql =uMYUSR =pMYPWD
then: SHOW VARIABLES LIKE 'max_allowed_packet';
should print
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
which is 1 mb-- too small.

so edit /etc/my.cnf to add this under [mysqld]
max_allowed_packet=16M

then restart mysql (CentOS example): service mysqld restart

problem solved.

squarecandy’s picture

max_allowed_packet=16MB fixed it for me too.

Changing the MYSQL settings to match your site's needs is a much better solution than #27's suggestion to severely limit the number of rows in your view to match the default available memory.

If you don't have command line access or are totally lost reading #36, ask your hosting tech support to help you set your mysql database's max_allowed_packet setting to a higher value.

cfox612’s picture

Version: 7.x-3.x-dev » 7.x-3.1
Status: Closed (cannot reproduce) » Active

I'm getting this error, doesn't seem to matter if I select all or just 3 nodes to export. I've tried exporting the nodes as an XML, DSV, again, doesn't matter, this error continues to be thrown.

#10 - Checked, do not have that line in my settings.php file (or anywhere else that I can find). If someone has any other ideas of where this content might be located I'm all ears.

#27 - I lowered the number of nodes I was attempting to export and that didn't change a thing.

#36 - I'm on the acquia dev desktop and my max_allowed_packet is 128M, so clearly this isn't the issue either.

Since this issue is being solved so many ways it doesn't seem like the real issue is being solved - just bandaids here and there to control the bleeding rather than fix the source.

bojanz’s picture

Let us know if you find a fix that works for you.

I myself have never been able to find an actual problem both on my and on at least 4 installs from this issue, so I'm not interested in pursuing this further.

DerTobi75’s picture

Hi,

I can reproduce this error!

When I have a view and it contains 50 items, I get this Fatal Error. When I set the shown items to 25, I can use VBO.

Regards,

Tobi

bojanz’s picture

Status: Active » Closed (cannot reproduce)
Issue tags: -fatal error, -vbo

Reopen the issue with a patch only.

shadysamir’s picture

Just got the same error with latest dev and reproduced with the same steps, having an exposed items per page pager option and changing it from the default value.

SGhosh’s picture

Version: 7.x-3.x-dev » 7.x-3.1
Status: Active » Closed (cannot reproduce)
Issue tags: -fatal error, -vbo

#10 confirmed -

From link:

$conf['cache_class_cache_form'] = 'DrupalDatabaseCache';

in settings.php

EDIT:

I went back to check with another filter set and then tried a vbo operation and it gave be WSOD again, with the same errors in logs.

EDIT:

Setting max_allowed_packet to 16mb did the trick.

Thanks everyone.

henrikakselsen’s picture

Was getting this error using memcache, and commenting out the memcache settings in settings.php got the page loading again.

henrikakselsen’s picture

Issue summary: View changes

replaced the quated to last view

geek-merlin’s picture

Issue summary: View changes
Status: Closed (cannot reproduce) » Postponed (maintainer needs more info)

I can confirm this fatal error. In one install i can reproduce it whenever i thigger a VBO from a view with "show all items" (1-999 of 999) applied. Triggering the same VBO with a smaller limit (1-50 of 999) gives no fatal.

The error appears in the first $operation->aggregate() check in views_bulk_operations_execute().
Later on i'll try reproducing this with latest dev.

Ronino’s picture

max_allowed_packet = 16M instead of 1M worked for me, too.

dpfitzsi’s picture

Confirmed: updating max_allowed_packet does fix this issue (in our case 32M).

s427’s picture

I have the same error. It's on a brand new computer on which I've imported an existing project. VBO was working fine on the old computer, but now I can't get it working at all, even when I select only one node to modify.

Fatal error: Call to a member function aggregate() on a non-object in C:\path\to\project\sites\all\modules\views_bulk_operations\views_bulk_operations.module on line 732

I've already checked the mysql config (my.ini, via XAMPP control panel), and the "max_allowed_packet" variable is already set to 128M. I tried pushing it to 512M, with no greater success.

Using VBO 7x-3.2

Edit: Actually, I've performed some more tests, and the problem occurs not depending on how many items are selected for operation, but on how many items were displayed in the view where you select the items. If the view has 100 items or less, VBO works fine even if all items are selected for modification. If the view has more items (I don't know where the limit is exactly), then VBO shows the error when attempting to modify the items, even if less than 100 items are selected for modification.

Nux’s picture

I can confirm that (as in comment #48) upping max_allowed_packet to 100M didn't work.

To solve this I had to disable __showing__ long fields (columns). Other page in the view can happily use long columns (only the page with Bulk operations have to use the shortest columns possible). Oh, and the column values were not very long when displayed (they were trimmed to maximum of 200 characters), the column values were long in the database.

It seems strange that Bulk operation that deletes rows (nodes) is using text columns in any way (it should be using NID only). Shouldn't it? Even for updates current value is not used... Or is it?

Using VBO 7x-3.2 on Drupal 7.34.

joseph.olstad’s picture

this issue still occurs in latest dev. I have 12000 nodes. I attempted to try the suggestion from comment #49 but I think I'm missing a step.
tried either with the latest stable version or with the latest dev, except with the latest dev I get 4 undefined index errors on the selection screen

**EDIT** adjust your mysql setting for max_allowed_packet , increase to 32M or higher. ALSO, you will need to make sure that your log file size is set correctly. Increase the log file setting in my.cnf

For us, in my.cnf , the log file size was incorrectly set to lower than default values. (don't ask me why)

we had to increase the log file setting in my.cnf, then all the problems related to the vbo errors went away.

Pretty obscure as you wouldn't intuatively expect a mysql log file setting to cause an exception in vbo!

larowlan’s picture

For anyone else who encounters this and MySQL configuration doesn't solve.

I was able to reproduce this on a custom build, but the source was nothing to do with VBO.
The issue was form_get_cache() wasn't finding the $form_state entries.
form_set_cache() was writing them just fine, and I could see the records in the cache.

cache_get was reading the record back fine, but this line was failing:

   if ($cache->serialized) {
      $cache->data = unserialize($cache->data);
    }

Because getMultiple has this hunk:

    catch (Exception $e) {
      // If the database is never going to be available, cache requests should
      // return FALSE in order to allow exception handling to occur.
      return array();
    }

The issue in my case was a custom __wakeup method on my entity class that was throwing an Exception, which was being silently eaten by DrupalDatabaseCache::getMultiple.

Note that DrupalDatabaseCache::set also has a similar 'catch and swallow exceptions' approach.

So if you're getting this issue and can't fix it with MySQL configuration, stick a debug breakpoint in both of those catch blocks and see if something is going wrong in serialize/unserialize __sleep/__wakeup that is causing the form_state to silently fail cache_set/get

Hope that helps.

dromansab’s picture

Hello,
I am reproducing this error only for non-administrator users...
I've removed and reinstalled the module and I've set max_allowed_packet to 64M but nothing happens.. Does somebody have the same issue?

Thanks

Error:

Fatal error: Call to a member function aggregate() on null in [...]/sites/all/modules/contrib/views_bulk_operations/views_bulk_operations.module on line 770

Log:

Notice: Undefined index: step in views_bulk_operations_form_submit() (line 701 of [...]/sites/all/modules/contrib/views_bulk_operations/views_bulk_operations.module
Notice: Undefined index: operation in views_bulk_operations_form_submit() (line 731 of [...]/sites/all/modules/contrib/views_bulk_operations/views_bulk_operations.module
Notice: Undefined index: selection in views_bulk_operations_form_submit() (line 731 of [...]/sites/all/modules/contrib/views_bulk_operations/views_bulk_operations.module
Notice: Undefined index: select_all_pages in views_bulk_operations_form_submit() (line 731 of [...]/sites/all/modules/contrib/views_bulk_operations/views_bulk_operations.module

joseph.olstad’s picture

Hi dromansab, I have seen similar issues that you describe occur when the mysql log file reaches its limit , please review your mysql configuration , increase the log file size limit, see my comment #50

we had to increase the log file setting in my.cnf, then all the problems related to the vbo errors went away.

dromansab’s picture

Yessss! I've increased innodb_log_file_size variable It works!
Thank you very much for your help!

tterranigma’s picture

I am having this problem from time to time with admin_views related operations, and disabling and re-enabling that module solves it every time.

bellagio’s picture

#54 works for me. thank you.

darksnow’s picture

For me this issue was due to the size of the Body field in the content itself.

I've imported a lot of content from another system using fields and for some reason a few of the posts have Base64 encoded images in the body field. If any of these massive posts are in the list that is selected for manipulating by VBO it causes this error.

My solution was to single out that post, change it's format to RAW (no filters applied to the HML in Body) and manually publish. After that the VBO 'publish' operation would work unless there was another problem post in the list. I worked this out performing the VBO operation one page a time.

joelpittet’s picture

Status: Postponed (maintainer needs more info) » Closed (works as designed)

Not sure we can act on this, mostly is large packets from skimming the results. Closing this for now to clean up the queue. Feel free to re-open if you have a way to resolve this in VBO but doesn't seem likely considering the age, lack of patches and the comments regarding MySQL packet sizes.

scottybrookie’s picture

Changing max_allowed_packet to from 1M to 16M, as in #46, fixed the problem for me as well.

Pene’s picture

#27 worked as a "backup" solution.

efpapado’s picture

I have the same issue with max_allowed_packet set to 256MB.
I'm using a view that is limited to 20 rows and only has the vbo field and nid. I'm triggering a custom action.

I have asked our hosting service to change to 512MB, to see what happens.

joelpittet’s picture

Without solid steps to reproduce this issue will remain closed.

Marco Aurelio Rocca’s picture

Same here: table with a lot of columns, kinda long texts in 2 of those many columns. Workaround #27 worked (reduce # of registers shown in table). Maybe too many information in the page.

Bruno Vincent’s picture

Tried this on April 2019 with latest D7

You need to set the view to less than 100 items , then it works. I set it to 90 and it works fine

Bruno Vincent’s picture

File to change is into the Xampp via control panel, the my.ini file, not settings.php ;)