Opened 6 years ago

Closed 6 years ago

#7064 closed Bug/Something is broken (fixed)

WSOD Memory Issue - Dedicated Virtual Server

Reported by: https://id.mayfirst.org/cmcmarin Owned by: https://id.mayfirst.org/joseph
Priority: Medium Component: Tech
Keywords: drupal memory-limit Cc: sam@…, jake@…
Sensitive: no

Description

Hi Guys,

Today we've been encountering a number of white screens when loading internal management pages. Here's the error log:

array(4) { type?=> int(1) message?=> string(79) "Allowed memory size of 134217728 bytes exhausted (tried to allocate 8208 bytes)" file?=> string(46) "/usr/local/share/drupal-6.28/includes/menu.inc" line?=> int(639) } n/a

We have the PHP memory limits set to 128mb in our include/php5/php.ini file, but the log seems to reference a different memory allocation?

I don't think anything out of the ordinary has been changed today - only a new CiviCRM contribution page (which may be receiving a decent amount of traffic).

Any help would be greatly appreciated!

Thanks, Sam

Change History (9)

comment:1 Changed 6 years ago by https://id.mayfirst.org/cmcmarin

i've just read that the issue may relate to the XML Sitemap module - I'm going to disable this for now to see if the problem goes away.

comment:2 Changed 6 years ago by https://id.mayfirst.org/cmcmarin

Quick update: I've uninstalled a number of modules added in the past week and none seem to be fixing the issue.

The message is generally the same: array(4) { type?=> int(1) message?=> string(79) "Allowed memory size of 134217728 bytes exhausted (tried to allocate 8208 bytes)" file?=> string(46) "/usr/local/share/drupal-6.28/includes/menu.inc" line?=> int(639) } n/a -- although sometimes states the file being cache.inc

The white screen comes about when trying to edit content types listed in a view and when performing the update.php script.

comment:3 Changed 6 years ago by https://id.mayfirst.org/dkg

  • Keywords drupal memory-limit added

fwiw, the 128MiB limit that you have is what is being reported here. 1 MiB = 1024*1024 B = 1048576 B, so 128 MiB = 134217728 B.

Line 639 of includes/menu.inc appears to be:

    638 function _menu_link_translate(&$item) {
    639   $item['options'] = unserialize($item['options']);
    640   if ($item['external']) {

So i suspect that you have something in the database that has an "options" value that is either corrupt or simply very large. According to the rest of includes/menu.inc, it looks like this is derived from either the menu_links or menu_router table (probably menu_links). Maybe you want to look in the database directly to see if there is a column named options in a table named menu_links that seems to have a row with some enormous entries in it?

You haven't even mentioned what database or site you're working with, so i don't see a way to look it up for you. Can you give more details?

comment:4 Changed 6 years ago by https://id.mayfirst.org/cmcmarin

Apologies for not mentioning site & database - this is on the main communitymediamarin.org site (the one on the dedicated virtual server) and the database is cmcm_drupal.

If I'm looking in the right place, the largest entry under options in the menu_links table is:

1;"a:3:{s:5:""query"";s:141:""destination=admin%2Fcontent%2Fnode-type%2Fslideshow-video%2Ffields%2Ffield_custom_video_thumb%2Fremove&token=e560e60b28c9434f786cd598bb5c23e9"";s:4:""html"";b:0;s:5:""alter"";b:1;}"

I've been trying to troubleshoot using the Devel module - this has been generating the WSOD error messages. The site has displayed a few varying error messages since I last updated:

When running update.php I encountered this (on update completion redirect): Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 691333 bytes) in /usr/local/share/drupal-6.28/includes/database.mysqli.inc on line 309 array(4) { ["type"]=> int(1) ["message"]=> string(81) "Allowed memory size of 134217728 bytes exhausted (tried to allocate 691333 bytes)" ["file"]=> string(57) "/usr/local/share/drupal-6.28/includes/database.mysqli.inc" ["line"]=> int(309) } n/a

And when confirming module activation, I encountered this: array(4) { ["type"]=> int(1) ["message"]=> string(77) "Allowed memory size of 134217728 bytes exhausted (tried to allocate 88 bytes)" ["file"]=> string(50) "/usr/local/share/drupal-6.28/includes/database.inc" ["line"]=> int(84) } n/a

Thanks again!

comment:5 Changed 6 years ago by https://id.mayfirst.org/cmcmarin

Would it be possible to increase the php memory limit to 256M? This might let us see what's using the memory? I don't seem to have permissions to the cmcmarin.ini file. I do see that our previously used php.ini file had the following parameters:

{{{ upload_max_filesize = 12M post_max_size = 12M max_execution_time = 300 memory_limit = 256M }}}

comment:6 Changed 6 years ago by https://id.mayfirst.org/ross

  • Owner set to https://id.mayfirst.org/joseph
  • Status changed from new to assigned

Are you still getting these errors? If so joseph should be able to point you in the right direction for increasing your memory limits on a dedicated server.

comment:7 Changed 6 years ago by https://id.mayfirst.org/cmcmarin

Everything appears to now be running smoothly since Sunday - perhaps it was just a hiccup. Am I right in saying that the communitymediamarin.org site is currently on a Virtual Private Server? I may have miss-used the term virtual dedicated server (I believe Jamie transferred us to a VPS environment on 12/31/12).

Thanks, Sam

Last edited 6 years ago by https://id.mayfirst.org/cmcmarin (previous) (diff)

comment:8 Changed 6 years ago by https://id.mayfirst.org/joseph

  • Resolution set to fixed
  • Status changed from assigned to feedback

Hi Sam,

Virtual private server is the conventional term, and yes, y'all have been migrated to your own VPS. Does everything appear to be working out since the move?

Joseph

comment:9 Changed 6 years ago by automatic

  • Status changed from feedback to closed

No news is good news (we hope)! Given the lack of feedback, we think this ticket can be closed.

Please login to add comments to this ticket.

Note: See TracTickets for help on using tickets.