views:

63

answers:

3

Hello,

I recently had a site that was running perfect for months, all of a sudden it decided to dump itself for no approximate reason.

I am running django + mod_python + apache, and the system decided it was time to start ignoring the import of the pycurl library, my intial first thought was that somehow the library had become corrupted, or the paths were uncached by apache or mod_python.

After checking the paths, symbolic links, permissions and reinstalling the exact build of pycurl I am still recieving the same error. The strange thing is, is that I can load the library within python itself and run tests with no issues, but not within mod_python. I know for a fact that the paths are correctly pointed as I have checked them numerous times and updated the system cache accordingly.

Django now will not load or throw any errors, nor will apache log anything if I try and import the library it will just silently fail... I have been exploring this issue for 2 days now and have not come up with anything.

Any help would be greatly appreciated.

Just to add some here, the server has not been touched in any way since the final revision and launch.

I have checked every log that would indicate some type of attack against the server and there is nothing, the only thing that exists is request from my hosting provider which is where the error in question first started to appear.

Also the similar issue: stackoverflow.com/questions/1099981/… - does not work in this case.

Incase anyone is wondering the versions are as follows

Python         2.4.3
Mod_Python     3.2.8
Apache         2.2.3
Redhat         Red Hat Enterprise Linux Server release 5.4
Linux Kernal   2.6.18-128.7.1.el5 x86_64
A: 

The httpd process could be running into the open file limit; see help ulimit in bash for the relevant option to change.

Ignacio Vazquez-Abrams
No, this is not the issue, if I run the app without pycurl library everything works fine, and it doesn't matter where at I load the library it always fails ...
nwhiting
+1  A: 

If the problem is a failing import when running under Apache but the import works when running from your login shell, double-check that there isn't a directory/file permission problem with the failing module(s). They must be read-accessible and in some cases also execute-accessible from the user id that Apache is running under.

Ned Deily
I checked the permissions this is one of very first things I checked, I believe I mentioned :)
nwhiting
So you did - sorry! Still, it was worth repeating as it was perhaps the most likely culprit. Other than the ISP updating libraries without telling you!
Ned Deily
A: 

Well now ... I have debugged this issue ... and the answer is quite surprising.

R**kspace decided to do a few updates to the box, updating the dependent library in question and it caused the issues ... after reinstalling the library it would try to load the c module and it was not a comp version with the current pycurl ... and they couldn't figure this out themselves for 2 days.

nwhiting