Opened 7 years ago
Last modified 7 years ago
#3152 new defect (bug)
The `BBP_Topics_Widget` widget causes a time-out on large forums
Reported by: | jrf | Owned by: | |
---|---|---|---|
Milestone: | 2.7 | Priority: | normal |
Severity: | normal | Version: | trunk |
Component: | API - Widgets | Keywords: | needs-testing |
Cc: | johnjamesjacoby, jrf |
Description
Haven't had time to debug this properly, but it looks like this query does not add a limit to the select query it creates which causes a problem on large forums.
Here's the stack trace:
[21-Aug-2017 08:11:54 UTC] PHP Fatal error: Maximum execution time of 30 seconds exceeded in path/to/wp-includes\wp-db.php on line 1877 [21-Aug-2017 08:11:54 UTC] PHP Stack trace: [21-Aug-2017 08:11:54 UTC] PHP 1. {main}() path/to/index.php:0 [21-Aug-2017 08:11:54 UTC] PHP 2. require() path/to/index.php:17 [21-Aug-2017 08:11:54 UTC] PHP 3. require_once() path/to/wp-blog-header.php:19 [21-Aug-2017 08:11:54 UTC] PHP 4. include() path/to/wp-includes\template-loader.php:74 [21-Aug-2017 08:11:54 UTC] PHP 5. genesis() path/to/wp-content\themes\genesis\page.php:15 [21-Aug-2017 08:11:54 UTC] PHP 6. do_action($tag = 'genesis_after_content', $arg = *uninitialized*) path/to/wp-content\themes\genesis\lib\framework.php:45 [21-Aug-2017 08:11:54 UTC] PHP 7. WP_Hook->do_action($args = array (0 => '')) path/to/wp-includes\plugin.php:453 [21-Aug-2017 08:11:54 UTC] PHP 8. WP_Hook->apply_filters($value = '', $args = array (0 => '')) path/to/wp-includes\class-wp-hook.php:323 [21-Aug-2017 08:11:54 UTC] PHP 9. genesis_get_sidebar('') path/to/wp-includes\class-wp-hook.php:298 [21-Aug-2017 08:11:54 UTC] PHP 10. get_sidebar($name = *uninitialized*) path/to/wp-content\themes\genesis\lib\structure\layout.php:211 [21-Aug-2017 08:11:54 UTC] PHP 11. locate_template($template_names = array (0 => 'sidebar.php'), $load = TRUE, $require_once = *uninitialized*) path/to/wp-includes\general-template.php:122 [21-Aug-2017 08:11:54 UTC] PHP 12. load_template($_template_file = 'I:\\064 ForSite Media\\03. Surrogacy\\Bitbucket repos\\_2017_august_testsite/wp-content/themes/genesis/sidebar.php', $require_once = TRUE) path/to/wp-includes\template.php:647 [21-Aug-2017 08:11:54 UTC] PHP 13. require_once() path/to/wp-includes\template.php:690 [21-Aug-2017 08:11:54 UTC] PHP 14. do_action($tag = 'genesis_sidebar', $arg = *uninitialized*) path/to/wp-content\themes\genesis\sidebar.php:21 [21-Aug-2017 08:11:54 UTC] PHP 15. WP_Hook->do_action($args = array (0 => '')) path/to/wp-includes\plugin.php:453 [21-Aug-2017 08:11:54 UTC] PHP 16. WP_Hook->apply_filters($value = '', $args = array (0 => '')) path/to/wp-includes\class-wp-hook.php:323 [21-Aug-2017 08:11:54 UTC] PHP 17. genesis_do_sidebar('') path/to/wp-includes\class-wp-hook.php:298 [21-Aug-2017 08:11:54 UTC] PHP 18. dynamic_sidebar($index = 'sidebar') path/to/wp-content\themes\genesis\lib\structure\sidebar.php:24 [21-Aug-2017 08:11:54 UTC] PHP 19. BBP_Replies_Widget->display_callback($args = array ('name' => 'Primary Sidebar', 'id' => 'sidebar', 'description' => 'This is the primary sidebar if you are using a two or three column site layout option.', 'class' => '', 'before_widget' => '<section id="bbp_replies_widget-2" class="widget widget_display_replies"><div class="widget-wrap">', 'after_widget' => '</div></section>\n', 'before_title' => '<h3 class="widgettitle widget-title">', 'after_title' => '</h3>\n', '_genesis_builtin' => TRUE, 'widget_id' => 'bbp_replies_widget-2', 'widget_name' => '(bbPress) Recent Replies'), $widget_args = array ('number' => 2)) path/to/wp-includes\widgets.php:738 [21-Aug-2017 08:11:54 UTC] PHP 20. BBP_Replies_Widget->widget($args = array ('name' => 'Primary Sidebar', 'id' => 'sidebar', 'description' => 'This is the primary sidebar if you are using a two or three column site layout option.', 'class' => '', 'before_widget' => '<section id="bbp_replies_widget-2" class="widget widget_display_replies"><div class="widget-wrap">', 'after_widget' => '</div></section>\n', 'before_title' => '<h3 class="widgettitle widget-title">', 'after_title' => '</h3>\n', '_genesis_builtin' => TRUE, 'widget_id' => 'bbp_replies_widget-2', 'widget_name' => '(bbPress) Recent Replies'), $instance = array ('title' => 'Recent Replies', 'max_shown' => 5, 'show_date' => FALSE, 'show_user' => FALSE)) path/to/wp-includes\class-wp-widget.php:395 [21-Aug-2017 08:11:54 UTC] PHP 21. bbp_get_reply_url($reply_id = 546960, $redirect_to = *uninitialized*) path/to/wp-content\plugins\bbpress\includes\common\widgets.php:1124 [21-Aug-2017 08:11:54 UTC] PHP 22. bbp_get_reply_position($reply_id = 546960, $topic_id = 19830) path/to/wp-content\plugins\bbpress\includes\replies\template.php:464 [21-Aug-2017 08:11:54 UTC] PHP 23. bbp_get_reply_position_raw($reply_id = 546960, $topic_id = 19830) path/to/wp-content\plugins\bbpress\includes\replies\template.php:1671 [21-Aug-2017 08:11:54 UTC] PHP 24. bbp_get_all_child_ids($parent_id = 19830, $post_type = 'reply') path/to/wp-content\plugins\bbpress\includes\replies\functions.php:2247 [21-Aug-2017 08:11:54 UTC] PHP 25. wpdb->get_col($query = 'SELECT ID FROM wp_2_posts WHERE post_parent = 19830 AND post_status NOT IN ( \'draft\', \'future\' ) AND post_type = \'reply\' ORDER BY ID DESC', $x = *uninitialized*) path/to/wp-content\plugins\bbpress\includes\common\functions.php:1642 [21-Aug-2017 08:11:54 UTC] PHP 26. wpdb->query($query = 'SELECT ID FROM wp_2_posts WHERE post_parent = 19830 AND post_status NOT IN ( \'draft\', \'future\' ) AND post_type = \'reply\' ORDER BY ID DESC') path/to/wp-includes\wp-db.php:2354 [21-Aug-2017 08:11:54 UTC] PHP 27. wpdb->_do_query($query = 'SELECT ID FROM wp_2_posts WHERE post_parent = 19830 AND post_status NOT IN ( \'draft\', \'future\' ) AND post_type = \'reply\' ORDER BY ID DESC') path/to/wp-includes\wp-db.php:1765
Change History (1)
Note: See
TracTickets for help on using
tickets.