View Issue Details

IDProjectCategoryView StatusLast Update
0008628phplist applicationBatch Processingpublic09-10-10 02:58
Reporteridallen 
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.10.3 
Target Version2.10.7Fixed in Version2.10.4 
Summary0008628: php segmentation fault in Sql_Query on unset($GLOBALS['lastquery']);
DescriptionLatest phplist causes php to segfault when running the batch queue via cron.

Output from a cron job that runs index.php -pprocessqueue:

    eAccelerator requires Zend Engine API version 20050606.
    The Zend Engine API version 20021010 which is installed, is outdated.

    PHPlist version 2.10.3 (c) 2000-2006 Tincan Ltd, http://www.phplist.com
    Started
    Sending in batches of 60 emails
    Script stage: 6
    Finished, Nothing to do
    bin/idallen-phplist-crontab.sh: line 37: 23501 Segmentation fault
      /usr/local/bin/php public_html/mailing_list/admin/index.php -pprocessqueue

I can't reproduce the output from the command line; it only dies when
being run from the cron.

This is the version of PHP running on this host (a cPanel webhost):

    $ /usr/local/bin/php -v
    PHP 4.3.11 (cli) (built: Sep 11 2005 10:10:12)
    Copyright (c) 1997-2004 The PHP Group
    Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

This is the fix I made to phplist to work around the problem:

    $ diff mysql.inc.ORIG mysql.inc
    92c92,95
    < unset($GLOBALS['lastquery']);
    ---
    > # fix to avoid PHP seg fault Nov 2006 -IAN! idallen@idallen.ca
    > if( isset($GLOBALS['lastquery']) ) {
    > unset($GLOBALS['lastquery']);
    > }

I know little about PHP to know why this is necessary. It just works.
TagsNo tags attached.

Relationships

related to 0003721 closed phplist 2.10.x 
related to 0010507 closed segmentation fault 

Activities

michiel

25-11-06 12:23

manager   ~0021407

thanks for finding what caused it, and how to resolve it, that's very helpful