I have a small openVZ slice I use for testing and personal projects. Recently, the provider transferred to the new Xeon "Sandy Bridge" platform; I am not sure if this is the cause of my problem or not, but since then, I have been unable to use mod_perl modules with apache. This works:
sub handler { return 500; }
but this:
use Apache2::Const; sub handler { return SERVER_ERROR; }
Does not -- ie, loading Apache2::Const, or a number of other modules, causes the worker to receive SIGILL (Illegal instruction). Apache2::RequestRec is okay, but most of my stuff is now non-functional :(
I've run httpd -X in gdb and pasted the backtrace:
pastebin backtrace
The "illegal instruction" appears to be _dl_x86_64_save_sse, although I know nothing about assembly. This does not happen if I use an offending module in a normal perl script; I have tried re-building them via CPAN on the "new platform", the issue remains. Apache and mod_perl are from the distro.
I've been writing and using Apache/mod_perl modules for a few years and this would be a SERIOUS problem if it happened anywhere else suddenly. I'm looking for any tips or information you can provide to help isolate the problem further; it seems to me it may be beyond my control and I will have to go to the provider with some evidence regarding mod_perl under openVZ on their new hardware (but that is still not clear).
In reply to SIGILL with mod_perl on openVZ by halfcountplus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |