I have been running drupal 4.7 for quite long time and upgraded to drupal 5.1 recently.

The problem is from 3 days ago, the logged-in users were unable to read node with comments. That means the user simply meets blank page. The anonymous users were still able to read the node but I think this is with the help of cache. (Yes, I set the cache on.)

This can only be solved through restarting the apache server but the problem persists after some time has passed. We tracked this and found that the apache server got segfault hence unable to respond correctly from that time.

We are using php 5.1.6, zend 2.1.0, zend optimizer 3.2.6, eaccelerator (version unknown).

I found http://drupal.org/node/130106 which shows that this can be the same case but I am not sure if this is really the case. One of my colleague investigated the log and found that there were no segfaults from eaccelerator itself. So this is a different case I think.

I suspect if drupal code contains the same type of problemistic code at http://bugs.php.net/bug.php?id=38878 which causes segfault.

Has anyone experienced the same problem so far?

Comments

ksoonson’s picture

here is the error log from eaccelerator:

[Sun May 6 19:38:14 2007] [notice] child pid 9102 exit signal Segmentation fault (11)
[9013] EACCELERATOR: PHP crashed on opline -69081791 of theme_links() at /home/httpd/kldp/kldp/includes/theme.inc:16

[Sun May 6 19:38:16 2007] [notice] child pid 9013 exit signal Segmentation fault (11)
[9144] EACCELERATOR: PHP crashed on opline 383045543 of theme_links() at /home/httpd/kldp/kldp/includes/theme.inc:0

[Sun May 6 19:38:21 2007] [notice] child pid 9144 exit signal Segmentation fault (11)
[9096] EACCELERATOR: PHP crashed on opline -182090111 of theme_links() at /home/httpd/kldp/kldp/includes/theme.inc:0

I suspect theme_links has some problem.

ksoonson’s picture

the theme_links(); has the same pattern of http://bugs.php.net/bug.php?id=38878

function theme_links($links, $attributes = array('class' => 'links')) {
  $output = '';

  if (count($links) > 0) {
    $output = '<ul'. drupal_attributes($attributes) .'>';

    $num_links = count($links);
    $i = 1;
.....

So I modified as follows:

function theme_links($links, $attributes) {
  $attributes = array('class' => 'links');
  $output = '';

  if (count($links) > 0) {
    $output = '<ul'. d
.....

Any comment on this will be very helpful.

I also posted followup at http://drupal.org/node/130106

김정균@kldp.org’s picture

eAccelerator occurs segfault follow case.

function fun_name ($arg = array (blah))

follows are O.K

function fun_name ($arg)
function fun_name ($arg = '')
function fun_name ($arg = 'blah')

Also, Zend Suit has same problems. I think that cache structure support of Zend engine has problem but Zend developers ignored this problem. (http://bugs.php.net/bug.php?id=38878)

chrisd’s picture

Hi,

Been running Drupal + eAccelerator since over 1 year and always had similar issues. Had to resort to running PHP as fastcgi recycled every 15 minutes.

Bascially try upgrading to ea 0.9.5.1.
If that does not work alone upgrade to php 5.2.2 or 5.2.3.

Details here:
Posted similar solution here: http://drupal.org/node/130106#comment-247234

Cheers,
Chris
Tech. articles with a WAMP+IIS+Drupal focus