After upgrading to Drupal 6.14 and PHP 5.3, Drupal returns a blank page (WSoD). If I disable the flag module the problem goes away.

Thanks,
introfini

Comments

quicksketch’s picture

Please enable error_reporting in php.ini, then you'd get an error instead of a white screen (which isn't very helpful for troubleshooting).

wedge’s picture

I get the following trace from xdebug:

Fatal error: Unsupported operand types in /Users/wedge/Sites/drupal/includes/common.inc on line 1416
Call Stack
#	Time	Memory	Function	Location
1	0.0003	642000	{main}( )	../index.php:0
2	0.2436	24107760	menu_execute_active_handler( )	../index.php:18
3	0.2574	24255168	call_user_func_array ( )	../menu.inc:348
4	0.2574	24255416	mymodule_music( )	../menu.inc:0
5	0.2575	24255864	_mymodule_music( )	../mymodule.module:3225
6	1.6319	26234944	flag_create_link( )	../mymodule.module:3454
7	1.6959	26251776	flag_flag->theme( )	../flag.module:1478
8	1.6965	26252376	theme( )	../flag.inc:776
9	1.6975	26256088	call_user_func_array ( )	../theme.inc:658
10	1.6975	26256512	template_preprocess_flag( )	../theme.inc:0
11	1.7235	26267272	url( )	../flag.module:1092

and the following:
warning: Parameter 1 to flag_flag_link() expected to be a reference, value given in /Users/wedge/Sites/drupal/includes/module.inc on line 450.

quicksketch’s picture

Status: Active » Closed (duplicate)

That looks like this issue #459994: Crash when rendering url() (PHP 5.3 compatibility), which actually isn't PHP 5.3 specific (at least that wasn't specified as being PHP 5.3 specific, but maybe that's why I haven't been able to reproduce it).

introfini’s picture

I've error_reporting = E_ALL | E_STRICT and xdebug installed. But apache just crashs.

I can confirm that this only happens with PHP 5.3 (at least with me).

I don't know if this helps but if in anonymous mode with drupal cache on, the pages render just fine.

introfini

ressa’s picture

Me too, I exported and imported two Flags, removed an existing Flag and got WSoD on content types that used it. I also have error_reporting = E_ALL | E_STRICT and xdebug installed, but nothing was printed to the screen, only the White Screen of Death. I am also using PHP 5.3.

If I disabled the Flag module the content type pages which had a flag worked fine.

The reason was that some Relationship stuff were lingering in the View, when I removed them it worked again:

Relationships: node > flag_content_rel
Fields: op > flag_content

mooffie’s picture

Status: Closed (duplicate) » Active

If I disabled the Flag module the content type pages which had a flag worked fine.

The reason was that some Relationship stuff were lingering in the View,

Say,

Was that relationship(s) using a non-existent flag?

Because there's a patch pending that guards against missing flags in views: #901116: Views validation: guard against non-existent flags.

mooffie’s picture

Status: Active » Closed (duplicate)

The issue I linked to is enough; this one can be closed.

ressa’s picture

Yes, the relationship was using a non-existent flag, thanks for taking care of this issue!