[Case 74677] EACCELERATOR can't restore parent class

inthukha

Well-Known Member
Jul 17, 2013
61
0
6
cPanel Access Level
Root Administrator
Hi,

I have build the Easyapache with PHP 5.4.17 with EACCELERATOR. after that my few of website showing blank pages. when viewing Apche error logs i found the following errors that specifically of eAccelerator.

Code:
[Sat Aug 03 00:34:23 2013] [error] [client 122.122.122.122] eAccelerator: Unable to change cache directory /tmp/eaccelerator permissions, referer: http://www.domain.com/
[Sat Aug 03 00:34:23 2013] [error] [client 122.122.122.122] eAccelerator: Unable to change cache directory /tmp/eaccelerator permissions, referer: http://www.domain.com/
[Sat Aug 03 00:34:23 2013] [error] [client 122.122.122.122] eAccelerator: Unable to change cache directory /tmp/eaccelerator permissions, referer: http://www.domain.com/
[Sat Aug 03 00:34:23 2013] [error] [client 122.122.122.122] eAccelerator: Unable to change cache directory /tmp/eaccelerator permissions, referer: http://www.domain.com/

and


Code:
[Sat Aug 03 00:34:23 2013] [error] [client 122.122.122.122] [1268] EACCELERATOR can't restore parent class "bbcode_parent_main_class" of class "bbcode_plugin_snapback"
[Sat Aug 03 00:34:23 2013] [error] [client 122.122.122.122] [1268] EACCELERATOR can't restore parent class "bbcode_parent_main_class" of class "bbcode_plugin_member"
[Sat Aug 03 00:34:23 2013] [error] [client 122.122.122.122] [1268] EACCELERATOR can't restore parent class "bbcode_parent_main_class" of class "bbcode_plugin_media"


and


Code:
[Fri Aug 02 23:55:07 2013] [warn] NameVirtualHost 111.111.111.111:443 has no VirtualHosts
[Fri Aug 02 23:55:07 2013] [warn] NameVirtualHost 111.111.111.111:443 has no VirtualHosts
[Fri Aug 02 23:55:07 2013] [warn] NameVirtualHost 111.111.111.111:80 has no VirtualHosts


Any idea why this happen ? or its just a Glitch or Bug ?
 

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,880
2,268
463
Hello :)

Could you let us know which PHP handler you are using? Also, what are the ownership and permission values on the /tmp and /tmp/eaccelerator directories? Does the issue persist if you reinstall eAccelerator? You can reinstall it via:

Code:
/scripts/phpextensionmgr uninstall EAccelerator
/scripts/phpextensionmgr install EAccelerator
Thank you.
 

inthukha

Well-Known Member
Jul 17, 2013
61
0
6
cPanel Access Level
Root Administrator
Hello,

PHP handler SuPHP and /tmp owner root and /tmp/eaccelerator owner was one of the client username. i uninstall this via your commands at this solve the blank page issue "500 internal server error" response. and re-installing back the problem again. same error messages in eror logs of Apache.
 

dragon2611

Well-Known Member
Nov 30, 2003
124
0
166
I'm having the same issue apart from I use Fcgi and not SuPHP

Removed Eaccelerator for now.
 
Last edited:

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,880
2,268
463
What are the permission values configured on the /tmp and /tmp/eaccelerator directories?

Thank you.
 

DomineauX

Well-Known Member
PartnerNOC
Apr 12, 2003
429
11
168
Houston, TX
cPanel Access Level
Root Administrator
Seeing the same frequently with SuPHP and mod_php/mod_ruid2.
Owner/permissions are:

drwxrwxrwt 6 root root 141K Aug 5 22:30 /tmp//
drwxrwxrwx 22 root root 1.0K Aug 2 18:56 /tmp/eaccelerator//
 

alphawolf50

Well-Known Member
Apr 28, 2011
186
2
68
cPanel Access Level
Root Administrator
After running upgrading to Apache 2.2.25/mod_fcgid/PHP 5.3.27, I am receiving one of the same messages as OP:

eAccelerator: Unable to change cache directory /var/tmp/eaccelerator permissions
This appears after every cron job that uses PHP... .which happens every minute.

Note that I changed the eaccelerator directory to to /var/tmp/eaccelerator several months ago, as /var/tmp is its own partition (it is not bound to /tmp). Permissions on /var/tmp is 1777, and is owned by root. The /var/tmp/eaccelerator directory is owned by "nobody", and has permissions of 0777.
 

ikillbill

Well-Known Member
Feb 18, 2008
119
0
66
I think the issue is that latest easyapache make all folders under /path/eaccelerator non-root but user-owned chown....

We use FCGI as well with PHP 5.3.27
 

cPanelMichael

Administrator
Staff member
Apr 11, 2011
47,880
2,268
463
An internal case is open to address this issue. For reference, the case number is 74677. It looks like this is happening on systems with mod_ruid2 enabled. PHP and eAccelerator should still operate as expected, despite the warning message, because permissions are setup correctly when the directory is created. This thread will be updated with more information as it's available.

Thank you.
 

ScottTh

Well-Known Member
Jan 28, 2013
157
2
18
Houston, TX
cPanel Access Level
Root Administrator
Hi everyone,

Here's an update about this issue from the EasyApache team:

This looks like an interaction between EAccelerator and mod_ruid2. When EAccelerator loads, it creates /tmp/eaccelerator, owned by root:root, and sets the perms to 777 (world writeable). Then, when running a page on a virtual host, it tries to set the perms again (even though it's not necessary); but now, under mod_ruid2, it is running as a user rather than as root, and cannot set perms on /tmp/eaccelerator, which is owned by root.

The perms are set up correctly when the directory is created, so it doesn't seem to interfere with PHP or EAccelerator's operation; it just generates the warning message.

We believe we have found the source of that problem, and will correct it in a future release.

Thank you all for your posts!
 

alphawolf50

Well-Known Member
Apr 28, 2011
186
2
68
cPanel Access Level
Root Administrator
Mod_ruid2 is not enabled on my system, but I'm experiencing the problem as I described above. I'm using mod_fcgid/mpm_worker/suEXEC.

While it's not affecting sites... it's affecting my inbox. Getting an email once per minute from cron (where there used to be none) with this warning message is rather annoying. I could send the cron output to /dev/null, but I'd rather like to get proper error messages from this script, and I think I'll still get this message in the httpd error log once every minute. Please fix quickly :)
 

ikillbill

Well-Known Member
Feb 18, 2008
119
0
66
we do NOT use mod_ruid2 either, we use fastcgi/FCGI/mod_event

and it DOEs affect PHP sites by making all pages 500 errors
 

fdnven

Well-Known Member
Feb 14, 2006
120
1
168
Hello :)

Could you let us know which PHP handler you are using? Also, what are the ownership and permission values on the /tmp and /tmp/eaccelerator directories? Does the issue persist if you reinstall eAccelerator? You can reinstall it via:

Code:
/scripts/phpextensionmgr uninstall EAccelerator
/scripts/phpextensionmgr install EAccelerator
Thank you.
Would this be the safe way to uninstall, Even if eaccelerator was compiled via easy apache?
 
Jan 27, 2005
6
0
151
Hi everyone,

Here's an update about this issue from the EasyApache team:

This looks like an interaction between EAccelerator and mod_ruid2. When EAccelerator loads, it creates /tmp/eaccelerator, owned by root:root, and sets the perms to 777 (world writeable). Then, when running a page on a virtual host, it tries to set the perms again (even though it's not necessary); but now, under mod_ruid2, it is running as a user rather than as root, and cannot set perms on /tmp/eaccelerator, which is owned by root.

The perms are set up correctly when the directory is created, so it doesn't seem to interfere with PHP or EAccelerator's operation; it just generates the warning message.

We believe we have found the source of that problem, and will correct it in a future release.

Thank you all for your posts!
Scott, we too do not have mod_ruid2 enabled and are getting the errors. This is a new server and are unable to get our server up and running with eAcclerator because of this. Is there a work-around while waiting for the long-term fix?
 

NitroHost

Member
Aug 8, 2013
8
0
51
cPanel Access Level
Root Administrator
Just want to +1 the fact that this is affecting servers that are not running mod_ruid2. In our case it's mod_fcgid with mpm_worker that has exactly the same problem. Disabling and re-enabling does not fix it.