WordPress.org

Make WordPress Core

Opened 2 years ago

Closed 2 years ago

#23001 closed defect (bug) (invalid)

invoking post_gallery filter causes segfault

Reported by: gcrumb Owned by:
Milestone: Priority: normal
Severity: major Version: 3.5
Component: Media Keywords: reporter-feedback
Focuses: Cc:

Description

Attempting to change some default values in the gallery_shortcode function. I copied and pasted it into functions.php, changed the values of the 'columns' and 'size' attributes, and then added the filter hook:

add_filter('post_gallery', 'pipp_gallery_shortcode', 10,1 );

Reloading a post with a gallery included causes a segmentation fault:
user@host:/srv/www-apps/folder/wp-content/themes/pipp$ sudo tail /var/log/apache2/error.log
[Wed Dec 19 16:40:06 2012] [notice] child pid 25830 exit signal Segmentation fault (11)

Commenting the add_filter line causes the post to display properly.

$uname -r
3.2.0-3-686-pae

$ apache2 -v
Server version: Apache/2.2.22 (Debian)
Server built: Aug 3 2012 22:41:19

$ cat /etc/debian_version
wheezy/sid

Wordpress v 3.5 (newly upgraded)

functions.php attached for reference.

Attachments (1)

functions.php (5.4 KB) - added by gcrumb 2 years ago.

Download all attachments as: .zip

Change History (3)

@gcrumb2 years ago

comment:1 @dd322 years ago

I'm going to take a guess here, pipp_gallery_shortcode() calls the post_gallery filter, which calls pipp_gallery_shortcode(), which calls the post_gallery filter, which calls pipp_gallery_shortcode().. etc..

Because there's multiple layers of functions there, PHP's infinite loop protection probably doesn't kick in, remove the filter from your filter and see if that stops it, otherwise, keep debugging your filter and find what does cause it.

Last edited 2 years ago by dd32 (previous) (diff)

comment:2 @dd322 years ago

  • Keywords reporter-feedback added
  • Milestone Awaiting Review deleted
  • Resolution set to invalid
  • Status changed from new to closed

Closing as invalid unless a specific WordPress bug is found that triggers a specific PHP bug (other than infinite loops)

Note: See TracTickets for help on using tickets.