[solved] 503 Error when using Gallery (Menalto)

#1
Hi all,
My host (Eleven2) just completed the switch from Apache to Litespeed on their shared servers, and for the past few weeks I've been trying to figure out why my Gallery 3 site is not working (giving me the 503 Service Unavailable: The server is temporarily busy, try again later! error) and I just connected the dots that it must be Litespeed.

I've posted the error log that is available to me. I believe it has something to do with .htaccess file. The only thing in .htaccess file at root of server (folder up from where gallery is stored) is "Options -Indexes". I commented out the username and IPs for privacy.

2012-03-08 23:29:04.330 [INFO] [***.***.**.***:50133-0#APVH_********.com] File not found [/home/********/public_html/503.shtml]
2012-03-08 23:29:03.164 [INFO] [HTAccess] Updating configuration from [/home/********/public_html/.htaccess]

Any ideas of where I can start? Eleven2 support was great but they said it's a problem with my software, and I know Gallery 3 is not built nor tested on Litespeed servers. I have a thread on the Menalto forums but have not heard anything yet, I would like to get the site back up as Litespeed is supposed to be interchangeable with Apache.
 
Last edited by a moderator:
#3
Eleven2 said they will not disable this for me since I'm on a shared server. Was the issue with ZendGuardLoader ever cleared up on that other thread? It seems as though you submitted a bug report but there is no follow-up.
 
#5
Solution!

To fix this simply edit /system/core/Kohana.php around line 704:
PHP:
if ($filename = Kohana::find_file($type, $file))
{
	// Load the class
	require $filename;
}
else
{
	// The class could not be found
	###############
	## BEGIN FIX ##
	###############
	/* Avoid segmentation fault in Zend Guard (Original: http://blog.teatime.com.tw/1/post/403)
		When ZendGuardLoader is enabled, it will try to load the same class again if does not exist, it will try a random name,
		then segmentation fault.  So, we keep the name first, then, create a dummy class for it. */
	// Only check this if ZendGuardLoader exist
	if (extension_loaded('Zend Guard Loader')) {
		static $last_name = '';
		
		// Reject it first
		if ($last_name !== $class) {
			$last_name = $class;
			return FALSE;
		}
		// Create dummy one if try again
		Kohana_Log::add('debug', 'create dummy class: '.$class);
		eval("class $class { }");
	}
	#############
	## END FIX ##
	#############
	return FALSE;
}
 

NiteWave

Administrator
#6
Thanks for the update!
to summary:
1. root cause is ZendGuardLoader
2. best not load ZendGuardLoader.so if not really need it
3.if have to load ZendGuardLoader, then above is a workaround to modify the source code of Gallery 3!
 
Top