Hi all: I am trying to utilize Crypt::OpenSSL::RSA perl module that is called from within the the http_perl_module handler. The interesting part is that if I use this module from a strait perl script then it works fine but when I call from the handler in nginx then it fail nginx's sanity test check. Hopefully someone can shed some light here. I suspect /usr/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.so to be the culprit somewhere. First, I created two perl scripts as mentioned at http://stuff-things.net/2007/05/02/encrypting-sens.... Here is the output from these two scripts, thus indicating that Perl modules installed are sane and complete ... Let me know if any additional piece of info is needed. Thanks. -------Version information root@master-01:/home/theapp/theEnDec/conf# perl -version This is perl 5, version 12, subversion 4 (v5.12.4) built for x86_64-linux-gnu-thread-multi (with 48 registered patches, see perl -V for more detail) Copyright 1987-2010, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page. root@master-01:/home/theapp/theEnDec/conf# /usr/local/nginx/sbin/nginx -v nginx version: nginx/1.2.6 ii libclass-accessor-perl 0.34-1 Perl module that automatically generates accessors ii libclass-isa-perl 0.36-1 report the search path for a class's ISA tree ii libcurses-perl 1.28-1build1 Curses interface for Perl ii libcurses-ui-perl 0.9607-2 curses-based OO user interface framework for Perl ii liberror-perl 0.17-1 Perl module for error/exception handling in an OO-ish way ii libio-string-perl 1.08-2 Emulate IO::File interface for in-core strings ii liblocale-gettext-perl 1.05-6build1 Using libc functions for internationalization in Perl ii libparse-debianchangelog-perl 1.2.0-1ubuntu1 parse Debian changelogs and output them in other formats ii libperl-dev 5.12.4-4ubuntu0.1 Perl library: development files ii libperl5.12 5.12.4-4ubuntu0.1 shared Perl library ii libpod-plainer-perl 1.03-1 Perl extension for converting Pod to old-style Pod. ii libsub-name-perl 0.05-1build1 module for assigning a new name to referenced sub ii libswitch-perl 2.16-1 A switch statement for Perl ii libterm-readkey-perl 2.30-4build2 A perl module for simple terminal control ii libtext-charwidth-perl 0.04-6build1 get display widths of characters on the terminal ii libtext-iconv-perl 1.7-2build1 converts between character sets in Perl ii libtext-wrapi18n-perl 0.06-7 internationalized substitute of Text::Wrap ii libtimedate-perl 1.2000-1 collection of modules to manipulate date/time information ii perl 5.12.4-4ubuntu0.1 Larry Wall's Practical Extraction and Report Language ii perl-base 5.12.4-4ubuntu0.1 minimal Perl system ii perl-modules 5.12.4-4ubuntu0.1 Core Perl modules -------Encryption script root@master-01:/home/theapp/theEnDec/perl# cat test_encrypt.pl #!/usr/bin/perl use Crypt::OpenSSL::RSA; use MIME::Base64; use strict; my $public_key = 'public.pem'; my $string = 'Hello World!'; print encryptPublic($public_key,$string); exit; sub encryptPublic { my ($public_key,$string) = @_; my $key_string; open(PUB,$public_key) || die "$public_key: $!"; read(PUB,$key_string,-s PUB); # Suck in the whole file close(PUB); my $public = Crypt::OpenSSL::RSA->new_public_key($key_string); encode_base64($public->encrypt($string)); } root@master-01:/home/theapp/theEnDec/perl# ./test_encrypt.pl gFG/i6YvQ54hEmlYf1D8MEZ4wPs9GANJ8WkBGkokyT4u6aYPuff8DmgFiXMgUvjPIfiOtf8JDaiS wr7FpXfSi1TuZVb9waFTZitxJ9Gh7PRBw1YLr/ZQWGSf7ZzOF0iuIEl8q4C+MZScCFjiYjqz4qc0 6ehgnmggDA5R2RmlvVv0q1H5Orrv0xlucAxNpMvg9CD74tKg+192unGOhWOK29G4uf2jE5I9CfbI TJU7vrpD7RY1RFR+BAdNRe6W6+VadcLc/vytMp175JDD9tBsUKm/ZueGTJ6L7Y7kQ6yx+trvhgNQ zjmFg7wQ+2x9V0fcA4uUueRT58dqFjAQpXVnCw== -------Decryption script root@master-01:/home/theapp/theEnDec/perl# cat test_decrypt.pl #!/usr/bin/perl use Convert::PEM; use Crypt::OpenSSL::RSA; use MIME::Base64; use strict; my $encrypted_string =q( gFG/i6YvQ54hEmlYf1D8MEZ4wPs9GANJ8WkBGkokyT4u6aYPuff8DmgFiXMgUvjPIfiOtf8JDaiS wr7FpXfSi1TuZVb9waFTZitxJ9Gh7PRBw1YLr/ZQWGSf7ZzOF0iuIEl8q4C+MZScCFjiYjqz4qc0 6ehgnmggDA5R2RmlvVv0q1H5Orrv0xlucAxNpMvg9CD74tKg+192unGOhWOK29G4uf2jE5I9CfbI TJU7vrpD7RY1RFR+BAdNRe6W6+VadcLc/vytMp175JDD9tBsUKm/ZueGTJ6L7Y7kQ6yx+trvhgNQ zjmFg7wQ+2x9V0fcA4uUueRT58dqFjAQpXVnCw== ); my $private_key = 'private.pem'; my $password = 'testing'; print decryptPrivate($private_key,$password,$encrypted_string), "\n"; exit; sub decryptPrivate { my ($private_key,$password,$string) = @_; my $key_string = readPrivateKey($private_key,$password); return(undef) unless ($key_string); # Decrypt failed. my $private = Crypt::OpenSSL::RSA->new_private_key($key_string) || die "$!"; $private->decrypt(decode_base64($string)); } sub readPrivateKey { my ($file,$password) = @_; my $key_string; $key_string = decryptPEM($file,$password); } sub decryptPEM { my ($file,$password) = @_; my $pem = Convert::PEM->new( Name => 'RSA PRIVATE KEY', ASN => qq( RSAPrivateKey SEQUENCE { version INTEGER, n INTEGER, e INTEGER, d INTEGER, p INTEGER, q INTEGER, dp INTEGER, dq INTEGER, iqmp INTEGER } )); my $pkey = $pem->read(Filename => $file, Password => $password); return(undef) unless ($pkey); # Decrypt failed. $pem->encode(Content => $pkey); } root@master-01:/home/theapp/theEnDec/perl# ./test_decrypt.pl Hello World! -------Perl handler for NGINX package theEnDec; use Convert::PEM; use Crypt::OpenSSL::RSA; use MIME::Base64; use strict; use nginx; sub handler { my $r = shift; my $public_key = 'public.pem'; my $private_key = 'private.pem'; my $password = 'testing'; my $operation = r->variable('operation'); my $op_string = r->variable('op_string'); my $result = 'Error: no operation performed!'; if (lc($operation) eq 'encode') { $result = encryptPublic($public_key,$op_string); } if (lc($operation) eq 'decode') { $result = decryptPrivate($private_key,$password,$op_string); } $r->header_out ("X-theAnswerIs=", $result); $r->send_http_header("text/html"); $r->rflush; return OK if $r->header_only; my $bodyis = CGI->new; $bodyis->compile(); $r->print ($bodyis->start_html('Test Page')); $r->print ($bodyis->h3({-align=>right},'That is the only thing I can give. Use it wisely!')); $r->print ($bodyis->end_html); $r->rflush; return OK; #-## Encryption sub-routines sub encryptPublic { my ($public_key,$string) = @_; my $key_string; open(PUB,$public_key) || die "$public_key: $!"; read(PUB,$key_string,-s PUB); # Suck in the whole file close(PUB); my $public = Crypt::OpenSSL::RSA->new_public_key($key_string); encode_base64($public->encrypt($string)); } #-## Decryption sub-routines sub decryptPrivate { my ($private_key,$password,$string) = @_; my $key_string = readPrivateKey($private_key,$password); return(undef) unless ($key_string); # Decrypt failed. my $private = Crypt::OpenSSL::RSA->new_private_key($key_string) || die "$!"; $private->decrypt(decode_base64($string)); } sub readPrivateKey { my ($file,$password) = @_; my $key_string; $key_string = decryptPEM($file,$password); } sub decryptPEM { my ($file,$password) = @_; my $pem = Convert::PEM->new( Name => 'RSA PRIVATE KEY', ASN => qq( RSAPrivateKey SEQUENCE { version INTEGER, n INTEGER, e INTEGER, d INTEGER, p INTEGER, q INTEGER, dp INTEGER, dq INTEGER, iqmp INTEGER } )); my $pkey = $pem->read(Filename => $file, Password => $password); return(undef) unless ($pkey); # Decrypt failed. $pem->encode(Content => $pkey); } } 1; __END__ -------nginx server stanza in the configuration file server { resolver 127.0.0.1; resolver_timeout 1s; listen 80; server_name mixmaster; if ($uri ~* ^/([^/]*)(.*)$ ) { set $operation $1; set $op_string $2; } # this prevents hidden files (beginning with a period) from being served location ~ /\. { access_log off; log_not_found off; deny all; } # Prevents someone from accessing a backup copy of a file someone working on location ~ ~$ { access_log off; log_not_found off; deny all; } # Prevents someone from accessing a swap file of a file someone working on location ~ swp$ { access_log off; log_not_found off; deny all; } location / { perl theEnDec::handler; } } -------nginx configuration testing root@master-01:/home/theapp/theEnDec/conf# /usr/local/nginx/sbin/nginx -t nginx: [emerg] require_pv("theEnDec.pm") failed: "Can't locate loadable object for module Crypt::OpenSSL::RSA in @INC (@INC contains: /usr/local/nginx/perl /etc/perl /usr/local/lib/perl/5.12.4 /usr/local/share/perl/5.12.4 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.12 /usr/share/perl/5.12 /usr/local/lib/site_perl .) at /usr/local/nginx/perl/theEnDec.pm line 4 Compilation failed in require at /usr/local/nginx/perl/theEnDec.pm line 4. BEGIN failed--compilation aborted at /usr/local/nginx/perl/theEnDec.pm line 4. Compilation failed in require at (eval 1) line 1." nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed root@master-01:/home/theapp/theEnDec/conf# -------strace of the testing on Ubuntu 11.10 root@master-01:/home/theapp/theEnDec/conf# strace -f /usr/local/nginx/sbin/nginx -t execve("/usr/local/nginx/sbin/nginx", ["/usr/local/nginx/sbin/nginx", "-t"], [/* 521 vars */]) = 0 brk(0) = 0x1694000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcd2e0ab000 access("/etc/ld.so.preload", R_OK) = 0 open("/etc/ld.so.preload", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=57, ...}) = 0 mmap(NULL, 57, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0x7fcd2e0aa000 close(3) = 0 open("/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.so", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240/\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0555, st_size=145442, ...}) = 0 mmap(NULL, 2142976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcd2dc81000 mprotect(0x7fcd2dc8c000, 2093056, PROT_NONE) = 0 mmap(0x7fcd2de8b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7fcd2de8b000 close(3) = 0 munmap(0x7fcd2e0aa000, 57) = 0 open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=19679, ...}) = 0 mmap(NULL, 19679, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fcd2e0a6000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0Pl\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=135500, ...}) = 0 mmap(NULL, 2212920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcd2da64000 mprotect(0x7fcd2da7c000, 2093056, PROT_NONE) = 0 mmap(0x7fcd2dc7b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7fcd2dc7b000 mmap(0x7fcd2dc7d000, 13368, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcd2dc7d000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libcrypt.so.1", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\n\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=43296, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcd2e0a5000 mmap(NULL, 2327040, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcd2d82b000 mprotect(0x7fcd2d834000, 2097152, PROT_NONE) = 0 mmap(0x7fcd2da34000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7fcd2da34000 mmap(0x7fcd2da36000, 184832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcd2da36000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libpcre.so.3", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\25\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=243800, ...}) = 0 mmap(NULL, 2338984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcd2d5ef000 mprotect(0x7fcd2d62a000, 2093056, PROT_NONE) = 0 mmap(0x7fcd2d829000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3a000) = 0x7fcd2d829000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libssl.so.1.0.0", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\376\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=332400, ...}) = 0 mmap(NULL, 2427672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcd2d39e000 mprotect(0x7fcd2d3e8000, 2093056, PROT_NONE) = 0 mmap(0x7fcd2d5e7000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x49000) = 0x7fcd2d5e7000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libcrypto.so.1.0.0", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\312\5\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=1749000, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcd2e0a4000 mmap(NULL, 3859752, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcd2cfef000 mprotect(0x7fcd2d177000, 2097152, PROT_NONE) = 0 mmap(0x7fcd2d377000, 143360, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x188000) = 0x7fcd2d377000 mmap(0x7fcd2d39a000, 13608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcd2d39a000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libz.so.1", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P \0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=96816, ...}) = 0 mmap(NULL, 2191920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcd2cdd7000 mprotect(0x7fcd2cdee000, 2093056, PROT_NONE) = 0 mmap(0x7fcd2cfed000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7fcd2cfed000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/usr/lib/libperl.so.5.12", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200T\3\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=1524408, ...}) = 0 mmap(NULL, 3620040, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcd2ca63000 mprotect(0x7fcd2cbcf000, 2093056, PROT_NONE) = 0 mmap(0x7fcd2cdce000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16b000) = 0x7fcd2cdce000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \24\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1694008, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcd2e0a3000 mmap(NULL, 3810152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcd2c6c0000 mprotect(0x7fcd2c859000, 2093056, PROT_NONE) = 0 mmap(0x7fcd2ca58000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x198000) = 0x7fcd2ca58000 mmap(0x7fcd2ca5d000, 21352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcd2ca5d000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\r\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=14768, ...}) = 0 mmap(NULL, 2109704, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcd2c4bc000 mprotect(0x7fcd2c4be000, 2097152, PROT_NONE) = 0 mmap(0x7fcd2c6be000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fcd2c6be000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360>\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0644, st_size=538928, ...}) = 0 mmap(NULL, 2633960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcd2c238000 mprotect(0x7fcd2c2bb000, 2093056, PROT_NONE) = 0 mmap(0x7fcd2c4ba000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x82000) = 0x7fcd2c4ba000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcd2e0a2000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcd2e0a1000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcd2e09f000 arch_prctl(ARCH_SET_FS, 0x7fcd2e09f720) = 0 mprotect(0x7fcd2c4ba000, 4096, PROT_READ) = 0 mprotect(0x7fcd2c6be000, 4096, PROT_READ) = 0 mprotect(0x7fcd2ca58000, 16384, PROT_READ) = 0 mprotect(0x7fcd2cdce000, 16384, PROT_READ) = 0 mprotect(0x7fcd2cfed000, 4096, PROT_READ) = 0 mprotect(0x7fcd2d377000, 102400, PROT_READ) = 0 mprotect(0x7fcd2d5e7000, 12288, PROT_READ) = 0 mprotect(0x7fcd2d829000, 4096, PROT_READ) = 0 mprotect(0x7fcd2da34000, 4096, PROT_READ) = 0 mprotect(0x7fcd2dc7b000, 4096, PROT_READ) = 0 mprotect(0x7fcd2de8b000, 4096, PROT_READ) = 0 mprotect(0x69f000, 4096, PROT_READ) = 0 mprotect(0x7fcd2e0ad000, 4096, PROT_READ) = 0 munmap(0x7fcd2e0a6000, 19679) = 0 set_tid_address(0x7fcd2e09f9f0) = 23220 set_robust_list(0x7fcd2e09fa00, 0x18) = 0 futex(0x7fff656e8a8c, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7fff656e8a8c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7fcd2e09f720) = -1 EAGAIN (Resource temporarily unavailable) rt_sigaction(SIGRTMIN, {0x7fcd2da6a6c0, [], SA_RESTORER|SA_SIGINFO, 0x7fcd2da74060}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x7fcd2da6a750, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7fcd2da74060}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 brk(0) = 0x1694000 brk(0x16b5000) = 0x16b5000 open("/etc/localtime", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0 fstat(3, {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcd2e0aa000 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\0"..., 4096) = 3519 lseek(3, -2252, SEEK_CUR) = 1267 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0\5\0\0\0\0"..., 4096) = 2252 close(3) = 0 munmap(0x7fcd2e0aa000, 4096) = 0 open("/usr/local/nginx/logs/error.log", O_WRONLY|O_CREAT|O_APPEND, 0644) = 3 open("/usr/lib/ssl/openssl.cnf", O_RDONLY) = 4 fstat(4, {st_mode=S_IFREG|0644, st_size=10819, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcd2e0aa000 read(4, "#\n# OpenSSL example configuratio"..., 4096) = 4096 read(4, "Netscape crash on BMPStrings or "..., 4096) = 4096 read(4, "nterpreting an end user certific"..., 4096) = 2627 read(4, "", 4096) = 0 close(4) = 0 munmap(0x7fcd2e0aa000, 4096) = 0 uname({sys="Linux", node="master-01", ...}) = 0 brk(0x16da000) = 0x16da000 open("/proc/stat", O_RDONLY|O_CLOEXEC) = 4 read(4, "cpu 127383 12003 198535 6778121"..., 8192) = 1365 close(4) = 0 getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=4*1024}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0 uname({sys="Linux", node="master-01", ...}) = 0 open("/usr/local/nginx/conf/nginx.conf", O_RDONLY) = 4 fstat(4, {st_mode=S_IFREG|0664, st_size=1414, ...}) = 0 pread(4, "\nuser www-data;\n\nworker_processe"..., 1414, 0) = 1414 geteuid() = 0 socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 5 connect(5, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(5) = 0 socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 5 connect(5, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(5) = 0 open("/etc/nsswitch.conf", O_RDONLY) = 5 fstat(5, {st_mode=S_IFREG|0644, st_size=475, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcd2e0aa000 read(5, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 475 read(5, "", 4096) = 0 close(5) = 0 munmap(0x7fcd2e0aa000, 4096) = 0 open("/etc/ld.so.cache", O_RDONLY) = 5 fstat(5, {st_mode=S_IFREG|0644, st_size=19679, ...}) = 0 mmap(NULL, 19679, PROT_READ, MAP_PRIVATE, 5, 0) = 0x7fcd2e0a6000 close(5) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libnss_compat.so.2", O_RDONLY) = 5 read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\23\0\0\0\0\0\0"..., 832) = 832 fstat(5, {st_mode=S_IFREG|0644, st_size=35712, ...}) = 0 mmap(NULL, 2131288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x7fcd2c02f000 mprotect(0x7fcd2c037000, 2093056, PROT_NONE) = 0 mmap(0x7fcd2c236000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x7000) = 0x7fcd2c236000 close(5) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libnsl.so.1", O_RDONLY) = 5 read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p@\0\0\0\0\0\0"..., 832) = 832 fstat(5, {st_mode=S_IFREG|0644, st_size=97256, ...}) = 0 mmap(NULL, 2202328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x7fcd2be15000 mprotect(0x7fcd2be2c000, 2093056, PROT_NONE) = 0 mmap(0x7fcd2c02b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x16000) = 0x7fcd2c02b000 mmap(0x7fcd2c02d000, 6872, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcd2c02d000 close(5) = 0 mprotect(0x7fcd2c02b000, 4096, PROT_READ) = 0 mprotect(0x7fcd2c236000, 4096, PROT_READ) = 0 munmap(0x7fcd2e0a6000, 19679) = 0 open("/etc/ld.so.cache", O_RDONLY) = 5 fstat(5, {st_mode=S_IFREG|0644, st_size=19679, ...}) = 0 mmap(NULL, 19679, PROT_READ, MAP_PRIVATE, 5, 0) = 0x7fcd2e0a6000 close(5) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libnss_nis.so.2", O_RDONLY) = 5 read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0` \0\0\0\0\0\0"..., 832) = 832 fstat(5, {st_mode=S_IFREG|0644, st_size=47696, ...}) = 0 mmap(NULL, 2143552, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x7fcd2bc09000 mprotect(0x7fcd2bc13000, 2097152, PROT_NONE) = 0 mmap(0x7fcd2be13000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0xa000) = 0x7fcd2be13000 close(5) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY) = 5 read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\"\0\0\0\0\0\0"..., 832) = 832 fstat(5, {st_mode=S_IFREG|0644, st_size=51736, ...}) = 0 mmap(NULL, 2148088, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x7fcd2b9fc000 mprotect(0x7fcd2ba08000, 2093056, PROT_NONE) = 0 mmap(0x7fcd2bc07000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0xb000) = 0x7fcd2bc07000 close(5) = 0 mprotect(0x7fcd2bc07000, 4096, PROT_READ) = 0 mprotect(0x7fcd2be13000, 4096, PROT_READ) = 0 munmap(0x7fcd2e0a6000, 19679) = 0 open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 5 fcntl(5, F_GETFD) = 0x1 (flags FD_CLOEXEC) lseek(5, 0, SEEK_CUR) = 0 fstat(5, {st_mode=S_IFREG|0644, st_size=1367, ...}) = 0 mmap(NULL, 1367, PROT_READ, MAP_SHARED, 5, 0) = 0x7fcd2e0aa000 lseek(5, 1367, SEEK_SET) = 1367 munmap(0x7fcd2e0aa000, 1367) = 0 close(5) = 0 socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 5 connect(5, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(5) = 0 socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 5 connect(5, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(5) = 0 open("/etc/group", O_RDONLY|O_CLOEXEC) = 5 lseek(5, 0, SEEK_CUR) = 0 fstat(5, {st_mode=S_IFREG|0644, st_size=747, ...}) = 0 mmap(NULL, 747, PROT_READ, MAP_SHARED, 5, 0) = 0x7fcd2e0aa000 lseek(5, 747, SEEK_SET) = 747 munmap(0x7fcd2e0aa000, 747) = 0 close(5) = 0 epoll_create(100) = 5 close(5) = 0 open("/usr/local/nginx/conf/mime.types", O_RDONLY) = 5 fstat(5, {st_mode=S_IFREG|0644, st_size=3463, ...}) = 0 pread(5, "\ntypes {\n text/html "..., 3463, 0) = 3463 close(5) = 0 brk(0x16fb000) = 0x16fb000 rt_sigaction(SIGFPE, {SIG_IGN, [FPE], SA_RESTORER|SA_RESTART, 0x7fcd2c6f6460}, {SIG_DFL, [], 0}, 8) = 0 getuid() = 0 geteuid() = 0 getgid() = 0 getegid() = 0 open("/dev/urandom", O_RDONLY) = 5 read(5, "\361L\246!", 4) = 4 close(5) = 0 stat("/usr/local/nginx/perl/5.12.4/x86_64-linux-gnu-thread-multi", 0x7fff656e77a0) = -1 ENOENT (No such file or directory) stat("/usr/local/nginx/perl/5.12.4", 0x7fff656e77a0) = -1 ENOENT (No such file or directory) stat("/usr/local/nginx/perl/5.12.3", 0x7fff656e77a0) = -1 ENOENT (No such file or directory) stat("/usr/local/nginx/perl/x86_64-linux-gnu-thread-multi", 0x7fff656e77a0) = -1 ENOENT (No such file or directory) readlink("/proc/self/exe", "/usr/local/nginx/sbin/nginx"..., 4095) = 27 stat("/usr/local/lib/site_perl/5.12.4/x86_64-linux-gnu-thread-multi", 0x7fff656e7640) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/site_perl/5.12.4", 0x7fff656e7640) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/site_perl/x86_64-linux-gnu-thread-multi", 0x7fff656e7640) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.3", 0x7fff656e7780) = -1 ENOENT (No such file or directory) stat("/usr/local/share/perl/5.12.3", 0x7fff656e7780) = -1 ENOENT (No such file or directory) ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 lseek(0, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 lseek(1, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 lseek(2, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) open("/dev/null", O_RDONLY) = 5 ioctl(5, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff656e7648) = -1 ENOTTY (Inappropriate ioctl for device) lseek(5, 0, SEEK_CUR) = 0 fcntl(5, F_SETFD, FD_CLOEXEC) = 0 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0 brk(0x171c000) = 0x171c000 stat("/usr/local/nginx/perl/nginx.pmc", 0x7fff656e7270) = -1 ENOENT (No such file or directory) stat("/usr/local/nginx/perl/nginx.pm", 0x7fff656e71c0) = -1 ENOENT (No such file or directory) stat("/etc/perl/nginx.pmc", 0x7fff656e7270) = -1 ENOENT (No such file or directory) stat("/etc/perl/nginx.pm", 0x7fff656e71c0) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.4/nginx.pmc", 0x7fff656e7270) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.4/nginx.pm", {st_mode=S_IFREG|0444, st_size=3305, ...}) = 0 open("/usr/local/lib/perl/5.12.4/nginx.pm", O_RDONLY) = 6 ioctl(6, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff656e6f38) = -1 ENOTTY (Inappropriate ioctl for device) lseek(6, 0, SEEK_CUR) = 0 read(6, "package nginx;\n\nuse 5.006001;\nus"..., 4096) = 3305 stat("/usr/local/nginx/perl/strict.pmc", 0x7fff656e6c50) = -1 ENOENT (No such file or directory) stat("/usr/local/nginx/perl/strict.pm", 0x7fff656e6ba0) = -1 ENOENT (No such file or directory) stat("/etc/perl/strict.pmc", 0x7fff656e6c50) = -1 ENOENT (No such file or directory) stat("/etc/perl/strict.pm", 0x7fff656e6ba0) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.4/strict.pmc", 0x7fff656e6c50) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.4/strict.pm", 0x7fff656e6ba0) = -1 ENOENT (No such file or directory) stat("/usr/local/share/perl/5.12.4/strict.pmc", 0x7fff656e6c50) = -1 ENOENT (No such file or directory) stat("/usr/local/share/perl/5.12.4/strict.pm", 0x7fff656e6ba0) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl5/strict.pmc", 0x7fff656e6c50) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl5/strict.pm", 0x7fff656e6ba0) = -1 ENOENT (No such file or directory) stat("/usr/share/perl5/strict.pmc", 0x7fff656e6c50) = -1 ENOENT (No such file or directory) stat("/usr/share/perl5/strict.pm", 0x7fff656e6ba0) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl/5.12/strict.pmc", 0x7fff656e6c50) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl/5.12/strict.pm", 0x7fff656e6ba0) = -1 ENOENT (No such file or directory) stat("/usr/share/perl/5.12/strict.pmc", 0x7fff656e6c50) = -1 ENOENT (No such file or directory) stat("/usr/share/perl/5.12/strict.pm", {st_mode=S_IFREG|0644, st_size=879, ...}) = 0 open("/usr/share/perl/5.12/strict.pm", O_RDONLY) = 7 ioctl(7, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff656e6918) = -1 ENOTTY (Inappropriate ioctl for device) lseek(7, 0, SEEK_CUR) = 0 read(7, "package strict;\n\n$strict::VERSIO"..., 4096) = 879 lseek(7, 878, SEEK_SET) = 878 lseek(7, 0, SEEK_CUR) = 878 close(7) = 0 ................other modules strace removed due to message limitations but relevency looks below .......................... stat("/usr/local/nginx/perl/auto/Crypt/OpenSSL/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/etc/perl/auto/Crypt/OpenSSL/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 stat("/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/share/perl/5.12.4/auto/Crypt/OpenSSL/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl5/auto/Crypt/OpenSSL/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/share/perl5/auto/Crypt/OpenSSL/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/share/perl/5.12/auto/Crypt/OpenSSL/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/site_perl/auto/Crypt/OpenSSL/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("./auto/Crypt/OpenSSL/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("-L/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("-L/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("-L/usr/local/nginx/perl", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("-L/etc/perl", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("-L/usr/local/lib/perl/5.12.4", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("-L/usr/local/share/perl/5.12.4", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("-L/usr/lib/perl5", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("-L/usr/share/perl5", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("-L/usr/lib/perl/5.12", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("-L/usr/share/perl/5.12", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("-L/usr/local/lib/site_perl", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 stat("/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/libRSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA/libRSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/nginx/perl", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 stat("/usr/local/nginx/perl/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/nginx/perl/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/nginx/perl/libRSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/nginx/perl/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/etc/perl", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/etc/perl/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/etc/perl/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/etc/perl/libRSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/etc/perl/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.4", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 stat("/usr/local/lib/perl/5.12.4/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.4/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.4/libRSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/perl/5.12.4/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/share/perl/5.12.4", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 stat("/usr/local/share/perl/5.12.4/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/share/perl/5.12.4/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/share/perl/5.12.4/libRSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/share/perl/5.12.4/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl5", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/usr/lib/perl5/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl5/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl5/libRSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl5/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/share/perl5", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/usr/share/perl5/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/share/perl5/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/share/perl5/libRSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/share/perl5/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl/5.12", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/usr/lib/perl/5.12/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl/5.12/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl/5.12/libRSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/lib/perl/5.12/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/share/perl/5.12", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/usr/share/perl/5.12/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/share/perl/5.12/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/share/perl/5.12/libRSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/share/perl/5.12/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("/usr/local/lib/site_perl", 0x16d0e68) = -1 ENOENT (No such file or directory) stat(".", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 stat("./RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("./RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("./libRSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("./RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) lseek(5, 62, SEEK_SET) = 62 lseek(5, 0, SEEK_CUR) = 62 close(5) = 0 write(3, "2012/12/24 13:26:05 [emerg] 2322"..., 593) = 593 write(2, "nginx: [emerg] require_pv(\"theEn"..., 571nginx: [emerg] require_pv("theEnDec.pm") failed: "Can't locate loadable object for module Crypt::OpenSSL::RSA in @INC (@INC contains: /usr/local/nginx/perl /etc/perl /usr/local/lib/perl/5.12.4 /usr/local/share/perl/5.12.4 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.12 /usr/share/perl/5.12 /usr/local/lib/site_perl .) at /usr/local/nginx/perl/theEnDec.pm line 4 Compilation failed in require at /usr/local/nginx/perl/theEnDec.pm line 4. BEGIN failed--compilation aborted at /usr/local/nginx/perl/theEnDec.pm line 4. Compilation failed in require at (eval 1) line 1." ) = 571 brk(0x1a40000) = 0x1a40000 brk(0x1a20000) = 0x1a20000 brk(0x1a1d000) = 0x1a1d000 brk(0x1a16000) = 0x1a16000 brk(0x1a04000) = 0x1a04000 brk(0x19f6000) = 0x19f6000 brk(0x19e7000) = 0x19e7000 brk(0x19dc000) = 0x19dc000 brk(0x1993000) = 0x1993000 brk(0x198c000) = 0x198c000 brk(0x198a000) = 0x198a000 brk(0x1989000) = 0x1989000 brk(0x1980000) = 0x1980000 brk(0x1960000) = 0x1960000 brk(0x1944000) = 0x1944000 close(4) = 0 write(2, "nginx: configuration file /usr/l"..., 71nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed ) = 71 exit_group(1) = ? root@master-01:/home/theapp/theEnDec/conf# Posted at Nginx Forum: http://forum.nginx.org/read.php?2,234394,234394#msg-234394
on 2012-12-25 18:39
on 2012-12-26 16:58
I am suspecting following to be issue some how. I've tried specifying it
via
$LD_LIBRARY_PATH, $LD_PRELOAD and /etc/ld.so.preload but no love.
root@master-01:/home/theApp/theEnDec/conf# find / -name RSA.so
/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.so
/usr/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.so
In case it helps, this is the Makefile to get the environment to the
point
of testing it on a Ubuntu 11.10 build:
apt-get -y --force-yes install gcc
apt-get -y --force-yes install unzip
apt-get -y --force-yes install libpcre3 libpcre3-dev
apt-get -y --force-yes install libssl-dev
apt-get -y --force-yes install libperl-dev
cpan -fi Crypt::OpenSSL::RSA
cpan -fi MIME::Base64
cpan -fi Convert::PEM
cpan -fi CGI
tar -xvzf nginx-1.2.6.tar.gz
tar -xvzf set-misc-nginx-module-0.22rc8.tar.gz
unzip -o ngx_devel_kit-master.zip
cd nginx-1.2.6 && ./configure --with-http_ssl_module
--with-http_perl_module --add-module=../ngx_devel_kit-master
--add-module=../set-misc-nginx-module-0.22rc8
--with-http_stub_status_module
--with-debug
cd nginx-1.2.6 && make install
Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,234394,234485#msg-234485
on 2012-12-26 17:03
On Dec 26, 2012, at 19:58 , kalpesh.patel@glgroup.com wrote: > I am suspecting following to be issue some how. I've tried specifying it via > $LD_LIBRARY_PATH, $LD_PRELOAD and /etc/ld.so.preload but no love. > > > root@master-01:/home/theApp/theEnDec/conf# find / -name RSA.so > /usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.so > /usr/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.so Try to set in nginx.conf at top level: env PERL5LIB=/usr/local/lib/perl/5.12.4/:/usr/lib/perl/5.12.4/; Details at http://nginx.org/en/docs/ngx_core_module.html#env -- Igor Sysoev http://nginx.com/support.html
on 2012-12-26 17:40
Igor: I had tried that before but now I tried with following two which still errors out with same exact place and error: env PERL5LIB=/usr/local/lib/perl/5.12.4/:/usr/lib/perl/5.12.4/; env LD_LIBRARY_PATH=/usr/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/; Posted at Nginx Forum: http://forum.nginx.org/read.php?2,234394,234489#msg-234489
on 2012-12-26 18:09
On Dec 26, 2012, at 20:40 , kalpesh.patel@glgroup.com wrote: > Igor: > > I had tried that before but now I tried with following two which still > errors out with same exact place and error: > > > env PERL5LIB=/usr/local/lib/perl/5.12.4/:/usr/lib/perl/5.12.4/; > env LD_LIBRARY_PATH=/usr/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/; Sorry, I did not look your first message with strace. Perl already knows about these pathes, but it seems this perl installation is broken: Perl found right directory but then tries to look "RSA." instead of "RSA.so": stat("/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 stat("/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.", 0x16d0e68) = -1 ENOENT (No such file or directory) Then it looks "-L/..." directories which are actually linking parameters: stat("-L/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) stat("-L/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA", 0x16d0e68) = -1 ENOENT (No such file or directory) -- Igor Sysoev http://nginx.com/support.html
on 2012-12-28 11:38
I think I now understand when you say perl installation is broken. libperl migh not be matching up with the perl binaries here... Posted at Nginx Forum: http://forum.nginx.org/read.php?2,234394,234518#msg-234518
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.