Quantcast
Viewing all articles
Browse latest Browse all 49204

Pressflow causing form.inc validation error?

Lately, I've been having some performance issues on a high traffic Drupal 5 site I maintain. Eventually, I'd like to get on Pressflow 6 with Varnish and Memcache, but as an interim step I decided to drop PF5 on our staging site to see what would happen. As it's supposed to be drop in drop out compatible, it seemed worth a shot. After doing some JMeter performance testing, it looked like there were marginal gains to be had with just PF over stock Drupal. Everything seemed ok, so I decided to push to production while I installed Varnish on the staging site and got into configuring it there. That's where my problems began.

Unfortunately, almost immediately I started getting reports of bloggers sporadically seeing "Validation error, please try again. If this error persists, please contact the site administrator." on form submissions. This is the error you get when the hidden form token doesn't match against (I believe) your session. I asked them to log out and log back in because I thought it might be that PF was generating session tokens differently than stock Drupal. They still (sporadically) got the error. That didn't seem good so I reverted the site back to stock D5 and figured I'd test it out more in staging. The problem is, the bloggers were still seeing this error. I considered that maybe they now had different PF generated tokens in their session so I blew away the session table and had everyone log back in. That didn't work. Looking in the apache error log, the only thing I see is:

PHP Warning:  unserialize() expects parameter 1 to be string, array given in /var/www/vhosts/www.maximumpc.com/httpdocs/includes/bootstrap.inc on line 423

It comes in the variable_init when the variable is read from the cache. Thinking that maybe PF stuck some different formatted stuff in the cache, I restarted memcached. Another error that some of the users saw was the "Date Timezone module requires you to set the site timezone name." This seemed like it could be related to a problem reading a variable out of the cache and that Drupal error wasn't occurring before the upgrade to PF. Now, I'm not sure whether this Apache error occurred before PF or not but I thought I'd point it out in case it was relevant.

So, here I am, running the same code I was yesterday but now I have reports of sporadic form validation errors (which I was able to reproduce once in staging) and an error in the Apache error log. I've cleared the session table and reset memcache but I still see these errors. Does anyone know what might be causing them and how Pressflow might be involved? Any suggestions on what to check?


Viewing all articles
Browse latest Browse all 49204

Trending Articles