GNU/Linux >> Tutoriales Linux >  >> Linux

Solución de problemas de Request Tracker versión 3 Error:intento de liberar escalar sin referencia, intérprete de Perl

He estado usando Request Tracker versión 3 durante bastante tiempo y funcionó muy bien. Pero de repente, el servidor RT colapsó y el registro de errores de Apache mostró el siguiente mensaje de error:

Attempt to free unreferenced scalar: SV 0x811ef70, Perl interpreter: 0x7f5a010 at
 /usr/lib/perl5/5.8.8/ExtUtils/Liblist.pm line 6.
 Segmentation fault

Parecía que muchos de los scripts de perl tenían problemas y, de hecho, el perl y cpan los comandos dieron como resultado el mismo error que el anterior:

# cpan
 Attempt to free unreferenced scalar: SV 0x811ef70, Perl interpreter: 0x7f5a010 at
 /usr/lib/perl5/5.8.8/ExtUtils/Liblist.pm line 6.
 Segmentation fault

Solución:

No estaba seguro de qué habría causado este error, pero después de pasar un tiempo en Google, entendí que algunos de los módulos de Perl o el sistema operativo podrían haberse actualizado. Pero lo aterrador es que no actualicé nada recientemente. Lo que sea, comencé a solucionar el problema.

La única opción que tenía era instalar Perl y sus módulos de nuevo.

Reinstalar Perl

Para estar más seguro, hice una copia de seguridad de los archivos de instalación antiguos de Perl como se muestra a continuación:

#mv /usr/lib/perl5 /usr/lib/perl5.bak
#mv /usr/lib64/perl5 /usr/lib64/perl5.bak

Ahora, reinstalé Perl usando Yum

#yum reinstall perl

Bien, ahora pude ejecutar al menos el 'perl ‘comando (que no pude hacer antes)

# perl -v
This is perl, v5.8.8 built for x86_64-linux-thread-multi

Instalar Perl CPAN

# perl -MCPAN -e shell
Can't locate CPAN.pm in @INC (@INC contains:

Instalé perl-CPAN módulo usando yum

#yum install perl-CPAN

Ahora, el cpan también funcionó (sin el error de falla de segmentación)

# cpan
cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support available (try 'install Bundle::CPAN')
cpan>

Verificar si las configuraciones RT son adecuadas en httpd.conf

A continuación se muestra la configuración de muestra:

NameVirtualHost rt_server:443
<VirtualHost rt_server:443>
ServerName rt_server_in
DocumentRoot /opt/rt3/share/html
AddDefaultCharset UTF-8
PerlModule Apache::DBI
PerlRequire "/opt/rt3/bin/webmux.pl"
<Location /NoAuth/images>
SetHandler default
</Location>
<Location />
SetHandler perl-script
PerlResponseHandler RT::Mason
</Location>
ErrorLog logs/error_log
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/rt_server_cert.pem
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/rt_server_key.pem
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</VirtualHost>

Iniciar el servidor httpd y mysqld: 

Recuerde, no hemos instalado ningún módulo de Perl que se requiera para iniciar RT. Para saber cuáles son los módulos de Perl requeridos, comenzaremos con httpd server y solucione los errores arrojados en httpd error_log .

Como era de esperar, el 'httpd ‘ el servidor no pudo iniciarse y el error_log indicó que RT's webmux.pl  requieren los siguientes módulos:

Nota: El httpd error_log no proporcionará toda la información de este módulo a la vez, pero indicará qué módulo está causando el problema actualmente. Deberá instalar un módulo a la vez e intentar iniciar httpd Servicio. Si falla, compruebe error_log para encontrar qué módulo es el culpable (¡ahora!). Siga haciendo este paso, hasta que no encuentre ningún mensaje de error en error_log. .

A continuación se muestran los pocos módulos que recordé capturar para escribir esta publicación. Pero es posible que deba instalar más...

Apache2/Response.pm
Can't locate Log::Dispatch
Params::Validate.pm
Can't locate Module::Implementation
Attribute::Handlers
Can't locate File::ShareDir
Can't locate Locale::Maketext::Lexicon
[error] Base class package "Locale::Maketext::Fuzzy" is empty.\n (Perhaps
you need to 'use' the module which defines that package first.)\n at /opt/rt3/bin/../lib/RT/I18N.pm line
62.\nBEGIN failed--compilation aborted at /opt/rt3/bin/../lib/RT/I18N.pm line 62.\nCompilation failed in
require at /opt/rt3/bin/../lib/RT.pm line 152.\nBEGIN failed--compilation aborted at
/opt/rt3/bin/webmux.pl line 102.\nCompilation failed in require at (eval 2) line 1.\n
Can't locate MIME::Entity
Can't locate DBIx::SearchBuilder
Can't locate Email::Address
Can't locate UNIVERSAL::require
Text::Template
Can't locate File::Slurp
HTML::Element
HTML::FormatText
Font::Metrics::Courier
Can't locate Text::Wrapper
Time::ParseDate
Test::EOL
HTML::Scrubber
Test/Memory/Cycle.pm
Test/CPAN/Meta.pm
Base class package "HTML::Mason::Request" is empty.\n
install_driver(mysql) failed: Can't locate DBD/mysql.pm

Instalar módulos Perl a través de CPAN

Por ejemplo, si el httpd error_log informes: No se puede localizar Log/Dispatch.pm @ INC ….entonces tienes que instalar ese módulo a través de CPAN como abajo

cpan> install Log::Dispatch

Reemplace el comando anterior para instalar otros módulos.

Durante la instalación del módulo perl, me encontré con un problema de compatibilidad de versiones para DBD::MySQL módulo. El httpd error_log tenía el siguiente mensaje:

install_driver(mysql) failed: DBD::mysql object version 4.013 does not match bootstrap parameter 4.031

Tenemos que mover 'mysql ‘ carpeta bajo ‘/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD ' y '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI ‘.

Ahora instale 'DBD::MySQL ‘ módulo de nuevo a través de CPAN

cpan> install DBD::MySQL

Finalmente, el httpd  servidor iniciado y el error_log estaba limpio sin ningún mensaje. Intenté acceder a la página web de RT a través del navegador y solo vi un cuadro de diálogo que me pedía que guardara un archivo 'ddescargar '. Ufff… que fue eso? Revisé el httpd error_log y no tenía ningún mensaje de ayuda. Todo lo que hice fue guardar el archivo 'descargar' desde el navegador y simplemente lo abrí con un editor de texto. Afortunadamente, tenía algún mensaje para ayudar:

Can't located Apache/Session/MySQL.pm @ INC....

Instalé ‘Apache/Session/MySQL.pm ' a través de CPAN como abajo

cpan > install Apache::Session::MySQL

Página web RT cargada sin estilo/CSS

Después de instalar todos los módulos Perl necesarios, reinicié el httpd servidor e intenté acceder a la página web de RT. La página se cargó, pero sin ningún estilo, como se muestra a continuación:

Para solucionar el problema, debe instalar un módulo de Perl llamado 'CSS:Squish

cpan > install CSS:Squish

Eso es todo. Pude cargar la página web RT con éxito. Espero que esta información pueda ayudar a alguien.

También puede leer:Error de RT:error de servidor indefinido de Mailgate.


Linux
  1. Solución de problemas del error "No se encontró ningún medio de arranque" en VirtualBox

  2. Solución de problemas del error "Certificado TLS inaceptable" en Linux

  3. Cómo mover Request Tracker a un contenedor de Linux

  4. No existe tal error de archivo o directorio al ejecutar un binario

  5. Error al usar una versión más nueva de glibc

Error de Virtualbox:no se pudo cargar el módulo ring-0 VBoxEhciR0.r0

Solucionar el error de Nginx:413 Entidad de solicitud demasiado grande

Solución de problemas del error "Certificado TLS inaceptable" en Linux

Solución de problemas del error "No se encontró ningún medio de arranque" en VirtualBox

Solución de problemas del error "Bash:Comando no encontrado" en Linux

error de actualización de apt con ubuntu 18.10 versión cósmica