Posted by jtjones23 on November 2, 2009 at 5:56pm
I'm running a Drupal 5 site and all of a sudden, content types (that have been working fine for 2 years) are no longer working when I go to /node/add/content-type. No Drupal errors are displayed. Firefox brings back a WSOD, Safari says "Safari can’t open the page." The error message comes up immediately with no delay.
Non-CCK content types are working just fine. I can also edit/save the old nodes of the content types that I can no longer add. I've optimized the database and rebuilt permissions. The last successful additions were in May 2009.
Any suggestions?
Drupal 5.20, PHP 5.2.11
Comments
=-=
all cck related modules up to date?
Yes, cck related modules are up to date
CCK, Link, Phone, Zip Code, Email and Embedded Media Field are all up to date.
Update: I can not recreate this on my local dev site. Live site is hosted on shared hosting (pair.com) but I can't imagine it has anything to do with the server. Here's the info anyway.
Apache/2.2.14
PHP 5.2.11
MySQL 5.0.67
_
Of course it can-- the first place I recommend looking when encountering WSODs on shared hosting is memory. Try increasing the memory available to php. Also check all the logs for error messages. And see http://drupal.org/node/158043 for some additional ideas.
_
Don't be a Help Vampire - read and abide the forum guidelines.
If you find my assistance useful, please pay it forward to your fellow drupalers.
WSOD when adding a CCK content type
Yeah, it's time to move off of shared hosting. Upped PHP memory from 40M to 48M to no effect and enabled error reporting and got no error messages. AFAIK, I don't have access to the PHP logs...I've asked for them though.
=-=
WSOD are usually apache errors and would show in your apache logs.
There are also ways to get errors to print to the screen in many cases.
WSOD when adding a CCK content type
Update: There are no PHP errors and no Apache errors in the log. No PHP errors print to the screen.
Here's the source of the Firefox blank page:
<html><head></head><body><pre></pre></body></html>WSOD adding custom content type after upgrade to php 5.2.11
Similar problem with custom content types that have worked fine for 2 years. Following ISP's upgrade to php 5.2.11, attempting add node of custom content type creates WSOD. ISP sysadmin reports apache is segv-ing. Apparently the error is occurring on line 499 of node_invoke, which is trying to return the content type form:
function node_invoke(&$node, $hook, $a2 = NULL, $a3 = NULL, $a4 = NULL) {if (node_hook($node, $hook)) {
$module = node_get_types('module', $node);
if ($module == 'node') {
$module = 'node_content'; // Avoid function name collisions.
}
$function = $module .'_'. $hook;
return ($function($node, $a2, $a3, $a4)); // line 499
}
}
A backtrace at the point of the error follows:
Array
(
[0] => Array
(
[file] => /home/example/www/dev/cms/modules/node/node.module
[line] => 499
[function] => authors_form
[args] => Array
(
[0] => stdClass Object
(
[uid] => 1
[name] => Administrator
[type] => authors
[created] => 1259816956
[date] => 2009-12-03 00:09:16 -0500
[comment] => 2
)
[1] =>
[2] =>
[3] =>
)
)
[1] => Array
(
[file] => /home/example/www/dev/cms/modules/node/node.module
[line] => 2094
[function] => node_invoke
[args] => Array
(
[0] => stdClass Object
(
[uid] => 1
[name] => Administrator
[type] => authors
[created] => 1259816956
[date] => 2009-12-03 00:09:16 -0500
[comment] => 2
)
[1] => form
[2] =>
)
)
[2] => Array
(
[function] => node_form
[args] => Array
(
[0] => Array
(
[uid] => 1
[name] => Administrator
[type] => authors
)
)
)
[3] => Array
(
[file] => /home/example/www/dev/cms/includes/form.inc
[line] => 218
[function] => call_user_func_array
[args] => Array
(
[0] => node_form
[1] => Array
(
[0] => Array
(
[uid] => 1
[name] => Administrator
[type] => authors
)
)
)
)
[4] => Array
(
[function] => drupal_retrieve_form
[args] => Array
(
[0] => authors_node_form
[1] => Array
(
[uid] => 1
[name] => Administrator
[type] => authors
)
)
)
[5] => Array
(
[file] => /home/example/www/dev/cms/includes/form.inc
[line] => 69
[function] => call_user_func_array
[args] => Array
(
[0] => drupal_retrieve_form
[1] => Array
(
[0] => authors_node_form
[1] => Array
(
[uid] => 1
[name] => Administrator
[type] => authors
)
)
)
)
[6] => Array
(
[file] => /home/example/www/dev/cms/modules/node/node.module
[line] => 2262
[function] => drupal_get_form
[args] => Array
(
[0] => authors_node_form
[1] => Array
(
[uid] => 1
[name] => Administrator
[type] => authors
)
)
)
[7] => Array
(
[function] => node_add
[args] => Array
(
[0] => authors
)
)
[8] => Array
(
[file] => /home/example/www/dev/cms/includes/menu.inc
[line] => 418
[function] => call_user_func_array
[args] => Array
(
[0] => node_add
[1] => Array
(
[0] => authors
)
)
)
[9] => Array
(
[file] => /home/example/www/dev/cms/index.php
[line] => 18
[function] => menu_execute_active_handler
[args] => Array
(
)
)
)
Drupal 5.20
adding bodyfilter to custom node forms fixes WSOD
Since some of the custom modules continued to work, eventually I figured out that the modules that had a bodyfilter on the body element of the node form continued to work. So I added bodyfilter to the body form element of the modules that didn't have them, and that seems to have gotten round the problem. I checked the php.net changelog for 5.2.11 and I don't see anything that I can match up to this problem or solution, but then I'm not a php internals guy either.
See also
See also http://drupal.org/node/648868 and http://drupal.org/node/117503#comment-2281634
Lucy C