Buenos días,

 

Ya está puesta la solución que os comente de borrado de los ficheros de
las distintas rutas en producción y el error se ha solventado. Muchas
gracias a todos por la ayuda.

 

Un saludo.

 

De: The PAPI authentication and authorization framework
[mailto:[log in para visualizar]] En nombre de Luis Melendez
Enviado el: miércoles, 16 de julio de 2014 14:27
Para: [log in para visualizar]
Asunto: Re: [PAPI] Sobrecarga del sistema con SDBM

 

Hola, no entiendo muy bien la configuración (no veo en los fich. de
Apache ninguna referencia a /usr/local/apache/conf), pero no creo que
importe mucho.
Los ficheros que te están dando problemas son alguno de los que tienes
declarados en las directivas Req_DB.
Puede ser en el que corresponde al PoA al que quieres acceder o el del
WAYF, seguramente este último, o sea, los ficheros
/usr/local/PAPI/GPoA/req_MyGPoA*

A ver si ves algo raro en ellos.
Saludos


On 07/16/2014 01:22 PM, "Borrego López, Luis Javier" wrote:

No sé qué config de papi te refieres te mando el papi.conf que está en
/usr/local/apache/conf y la carpeta conf.d que está en etc/httpd/

 

En la máquina antigua que os he comentado que no falla, he buscado el
SDBM_File y no lo encuentra, no sé si la versión que está instalada ahí,
ni siquiera usaba este módulo. Creo que el fallo va más por el lugar
donde intenta almacenar los valores si no es en los archivos .pag y .dir

 

 

De: The PAPI authentication and authorization framework [
mailto:[log in para visualizar] <mailto:[log in para visualizar]> ] En
nombre de Luis Melendez
Enviado el: miércoles, 16 de julio de 2014 13:08
Para: [log in para visualizar] <mailto:[log in para visualizar]> 
Asunto: Re: [PAPI] Sobrecarga del sistema con SDBM

 

Hola, en el fichero que mandas se incluyen los de conf.d/*.conf, y
alguno tiene que incluir la config. de PAPI
¿Lo puedes mandar?

On 07/16/2014 12:52 PM, "Borrego López, Luis Javier" wrote:

Buenos días,

 

Efectivamente el Compress::Zlib no es el que da el problema, y si me
refería a apache. He probado a renombrar la carpeta MLDBM e instalar de
nuevo el módulo de perl MLDBM y MLDBM::Sync. Y el resultado ha sido que
ha tardado 31 intentos en dar el fallo y una vez que lo da la primera
vez se reproduce con mucha facilidad. 

 

Había renombrado los ficheros .pag y .dir y he comprobado que en la
carga de la pantalla donde da el fallo no se crea el fichero, este se
crea cuando un usuario se loga, pero no al cargar la ventana previa
donde se debe elegir la entidad del usuario. Es en la carga de esta
pantalla donde da el fallo.

 

¿Dónde está intentando almacenar los valores la función store de SDBM si
estos ficheros no se están creando en este punto?, parece que donde lo
esté almacenando si instalo el módulo de nuevo tarda un poco más en
comenzar a dar fallos. 

 

Por otra parte tenemos aquí otra instalación más antigua en la que
parece que no da el fallo,

 

la versión actual es 

perl 5.8.8 

apache 2.0.52   

 

La instalación antigua que parece no fallar tiene

perl 5.8.7 

apache 1.3.34

 

Os mando los dos ficheros de configuración de los apaches, no sé si hay
algún parámetro que pueda influir en esto. Aunque lo que me gustaría
saber es donde trata de guardar SDBM_File si los ficheros no los crea en
este punto.

 

Un saludo y muchas gracias.

 

De: The PAPI authentication and authorization framework [
mailto:[log in para visualizar] <mailto:[log in para visualizar]> ] En
nombre de José Manuel Macías
Enviado el: miércoles, 16 de julio de 2014 10:34
Para: [log in para visualizar] <mailto:[log in para visualizar]> 
Asunto: Re: [PAPI] Sobrecarga del sistema con SDBM

 


No había podido ver esto hasta ahora, siento la tardanza.

Coincido con Luis, pero viendo la lista de módulos, hay unos cuantos que
no tienes a la última (me suena raro que sea el Compress::Zlib el que de
el problema...). ¿tienes posibilidad de actualizar los módulos perl? Al
menos actualiza los del script que reproducía el mismo fallo.

Otra cosa que me llama la atención es lo que dices de Tomcat... te
referías a apache imagino, ¿no? Vamos, esto imagino que ha llegado a
funcionar en algún momento, y entiendo que con un apache 2.x ... ¿ha
cambiado algo?

Si no funciona actualizando los módulos, lo ideal sería actualizar el
sistema como propone Luis.

Saludos.

El 11/07/14 09:31, "Borrego López, Luis Javier" escribió:

Buenos días,

 

Sí, tengo el módulo Compress::Zlib, he probado a renombrar la carpeta
del módulo para que no lo coja y probar después de reiniciar el Tomcat
pero sigue dando el error,  he comprobado que la variable Zlib está a 0
y a 1, en ambos casos falla. Os adjunto la lista de módulos de perl que
me devuelve el sistema.

 

Os vuelvo a adjuntar la traza, la misma llamada hay veces que produce el
error y otras que no como podéis ver.

 

La versión de linux de 32 bit, la versión es

 

Red Hat Enterprise Linux ES release 4 (Nahant Update 5)

Kernel \r on an \m

 

Necesitáis alguna otra información, no sé si actualizar el SDBM, otra
cosa no se me ocurre.

 

De: The PAPI authentication and authorization framework [
mailto:[log in para visualizar] <mailto:[log in para visualizar]> ] En
nombre de Luis Melendez
Enviado el: martes, 01 de julio de 2014 14:47
Para: [log in para visualizar] <mailto:[log in para visualizar]> 
Asunto: Re: [PAPI] Sobrecarga del sistema con SDBM

 

Hola.
Es raro eso. Lo que hace SDBM_File para poder superar el límite de
tamaño de los valores que se pueden guardar en SDBM es partir los
valores grandes en trozos de 128 bytes, usando para ellos valores de key
iguales que la original pero añadiéndoles **1, **2, ... Admite hasta
8192 trozos (1Mb)
Además si tienes el módulo Perl Compress::Zlib, comprime el valor antes
de fragmentarlo.

Tiene pinta de que hay un bug en SDBM o en algún sitio por ahí. 
¿Tienes el módulo Perl Compress::Zlib? Si no es así ¿puedes probar a
instalarlo a ver qué tal?
Si lo tienes, no sé si decirte que lo desinstales un momento, a ver...

Si puedes mandar información sobre la distribución de Linux (si es
Linux, claro), versiones, etc. igual podemos mirar algo más

Un saludo


On 07/01/2014 11:34 AM, "Borrego López, Luis Javier" wrote:

Buenos días,

 

Ya hemos probado a borrar la base de datos los ficheros
PAPIAuthenCookies.pag y PAPIAuthenCookies.dir ahora no llegan al mega,
pero el error se sigue produciendo. Es un Linux de 32 bits y tiene
suficiente espacio en disco. Os pongo un trozo de la traza donde se
observa el error.

 

 

TERE SDBM STORE KEY:PAPIuid:jmcarrion::username:jmcarrion
VALUE:9647425303180

TERE SDBM STORE KEY_LENGTH: 37 VALUE_LENGTH: 13

TERE SDBM STORE PAPIuid:jmcarrion::username:jmcarrion

[Mon Jun 30 10:01:04 2014] [error] [client 10.235.56.249]
PAPI-DEBUG#10626_1404115264: USER_AUTH:
uid=jmcarrion,ou=BVSSPA,employeeType=user,sex=h@MyASnonsasp

TERE sdbm reg_Hcook.
ID:uid=jmcarrion,ou=BVSSPA,employeeType=user,sex=h@MyASnonsasp:/gpoa:GPo
A. VALUE:0:3477694978010:1404117064:1404115264:0

TERE SDBM STORE
KEY:uid=jmcarrion,ou=BVSSPA,employeeType=user,sex=h@MyASnonsasp:/gpoa:GP
oA VALUE:0:3477694978010:1404117064:1404115264:0

TERE SDBM STORE KEY_LENGTH: 70 VALUE_LENGTH: 39

TERE SDBM STORE
uid=jmcarrion,ou=BVSSPA,employeeType=user,sex=h@MyASnonsasp:/gpoa:GPoA

[Mon Jun 30 10:01:13 2014] [warn] [client 10.235.56.249]
PAPI#10627_1404115273: Lcook is empty

TERE sdbm save_request. ID:140411527310627.
VALUE:Apache::Table=HASH(0x9a97354)*GET*/gpoa/cookie_handler.cgi*ACTION=
CHECK&DATA=419070139&URL=http%3A%2F%2Fwww.bvsspa.es%3A80%2Fpapi%2Flogin.
php*/var/www/gpoa

TERE SDBM STORE KEY:140411527310627 VALUE:$MlDbM{'headers' => bless(
{'Accept' =>
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accep
t-Encoding' => 'gzip, deflate','Accept-Language' =>
'es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3','Cookie' =>
'__utma=208581140.1608903807.1395305866.1401173355.1402055117.23;
__utmz=208581140.1401173355.22.17.utmcsr=bvsspa.es|utmccn=(referral)|utm
cmd=referral|utmcct=/profesionales/;
optimizelySegments=%7B%22204775011%22%3A%22ff%22%2C%22204658328%22%3A%22
false%22%2C%22204736122%22%3A%22referral%22%2C%22204728159%22%3A%22none%
22%7D; optimizelyEndUserId=oeu1395307570798r0.20032379060302175;
s_fid=0545562AA0788BF3-2705E6C6584B4C2C; s_lv=1395307571577;
__utma=207723785.1401828366.1399448493.1399448493.1399448493.1;
__utmz=207723785.1399448493.1.1.utmcsr=google.es|utmccn=(referral)|utmcm
d=referral|utmcct=/imgres','Host' =>
'wzp01.sc.sas.junta-andalucia.es','Referer' => '
http://www.bvsspa.es/profesionales/','User-Agent
<http://www.bvsspa.es/profesionales/%27,%27User-Agent> ' => 'Mozilla/5.0
(Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101
Firefox/30.0','X-Forwarded-For' => '10.235.56.113','X-Forwarded-Host' =>
'ws001.juntadeandalucia.es','X-Forwarded-Server' =>
'ws001.juntadeandalucia.es'}, 'Apache::Table' ),'filename' =>
'/var/www/gpoa','args' =>
'ACTION=CHECK&DATA=419070139&URL=http%3A%2F%2Fwww.bvsspa.es%3A80%2Fpapi%
2Flogin.php','method' => 'GET','uri' => '/gpoa/cookie_handler.cgi'}

TERE SDBM STORE KEY_LENGTH: 15 VALUE_LENGTH: 1346

TERE SDBM STORE 140411527310627

TERE SDBM STORE 140411527310627**1

[Mon Jun 30 10:01:13 2014] [error] sdbm store returned -1, errno 22, key
"140411527310627**1" at
/usr/local/lib/perl5/site_perl/5.8.8/MLDBM/Sync/SDBM_File.pm line 88,
<DATA> line 228.\n

[Mon Jun 30 10:01:28 2014] [warn] [client 10.235.56.250]
PAPI#10624_1404115288: Lcook is empty

TERE sdbm save_request. ID:140411528810624.
VALUE:Apache::Table=HASH(0x9a97438)*GET*/gpoa/cookie_handler.cgi*ACTION=
CHECK&DATA=264206369&URL=http%3A%2F%2Fwww.bsalud.es%3A80%2Fsir%2Findex.p
hp%3FATTREQ%3Dsirgpoa%26PAPIPOAREF%3De83871268cc5a1cc654ba56d25bc0a0ec84
f0c54%26PAPIPOAURL%3Dhttps%253A%252F%252Fsir.rediris.es%252Fsirgpoa%252F
index.php%26PAPIOPOA%3Dhttp%25253A%25252F%25252Fproxy-zportal.sas.junta-
andalucia.es*/var/www/gpoa

TERE SDBM STORE KEY:140411528810624 VALUE:$MlDbM{'headers' => bless(
{'Accept' =>
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accep
t-Encoding' => 'gzip, deflate','Accept-Language' => 'es-es','DNT' =>
'1','Host' => 'wzp01.sc.sas.junta-andalucia.es','Referer' => '
http://gerion.greendata.es/V/A685VXYQSPYJ6HCNYEQ6BTG4F8PPL818X88HBNMXGFM
VG4L2V2-01165?FUNC=NATIVE-LINK
<http://gerion.greendata.es/V/A685VXYQSPYJ6HCNYEQ6BTG4F8PPL818X88HBNMXGF
MVG4L2V2-01165?FUNC=NATIVE-LINK&RESOURCE=JDA02415&pds_handle=GUEST%27,%2
7User-Agent> &RESOURCE=JDA02415&pds_handle=GUEST','User-Agent' =>
'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X)
AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201
Safari/9537.53','X-Forwarded-For' => '10.235.56.113','X-Forwarded-Host'
=> 'ws001.juntadeandalucia.es','X-Forwarded-Server' =>
'ws001.juntadeandalucia.es'}, 'Apache::Table' ),'filename' =>
'/var/www/gpoa','args' =>
'ACTION=CHECK&DATA=264206369&URL=http%3A%2F%2Fwww.bsalud.es%3A80%2Fsir%2
Findex.php%3FATTREQ%3Dsirgpoa%26PAPIPOAREF%3De83871268cc5a1cc654ba56d25b
c0a0ec84f0c54%26PAPIPOAURL%3Dhttps%253A%252F%252Fsir.rediris.es%252Fsirg
poa%252Findex.php%26PAPIOPOA%3Dhttp%25253A%25252F%25252Fproxy-zportal.sa
s.junta-andalucia.es','method' => 'GET','uri' =>
'/gpoa/cookie_handler.cgi'}

TERE SDBM STORE KEY_LENGTH: 15 VALUE_LENGTH: 1101

TERE SDBM STORE 140411528810624

TERE SDBM STORE 140411528810624**1

TERE SDBM STORE 140411528810624**2

[Mon Jun 30 10:01:28 2014] [error] sdbm store returned -1, errno 22, key
"140411528810624**2" at
/usr/local/lib/perl5/site_perl/5.8.8/MLDBM/Sync/SDBM_File.pm line 88,
<DATA> line 228.\n

[Mon Jun 30 10:02:01 2014] [warn] [client 10.235.56.249]
PAPI#10623_1404115321: Lcook is empty

TERE sdbm save_request. ID:140411532110623.
VALUE:Apache::Table=HASH(0x9a95044)*GET*/gpoa/cookie_handler.cgi*ACTION=
CHECK&DATA=1759388583&URL=http%3A%2F%2Fwww.bsalud.es%3A80%2Fsir%2Findex.
php%3FATTREQ%3Dsirgpoa%26PAPIPOAREF%3D4db122740aec60411bf1df2949aa9b9b72
6a47b7%26PAPIPOAURL%3Dhttps%253A%252F%252Fsir.rediris.es%252Fsirgpoa%252
Findex.php%26PAPIOPOA%3Dhttp%25253A%25252F%25252Fproxy-zportal.sas.junta
-andalucia.es*/var/www/gpoa

TERE SDBM STORE KEY:140411532110623 VALUE:$MlDbM{'headers' => bless(
{'Accept' => '*/*','Accept-Encoding' => 'gzip,
deflate','Accept-Language' => 'es','Cookie' =>
'__utma=208581140.306469821.1403865258.1403865258.1403865258.1;
__utmz=208581140.1403865258.1.1.utmcsr=gerion.greendata.es:443|utmccn=(r
eferral)|utmcmd=referral|utmcct=/sfxlcl3','Host' =>
'wzp01.sc.sas.junta-andalucia.es','Referer' => '
http://gerion.greendata.es:443/sfxlcl3/az?param_ sid_save=
7d6687ffa5947be2cc7a10adb40859ae&param_category_search_type_save=browseC
ategory&param_letter_group_script_save=&param_current_view_save=table&pa
ram_category_save=1&param_textSearchType_save=startsWith&param_embedded_
save=ML&param_lang_save=spa&param_chinese_checkbox_type_save=Pinyin&para
m_perform_save=searchCategories&param_letter_group_save=&param_chinese_c
heckbox_save=0&param_services2filter_save=getFullTxt&param_subcategory_s
ave=&param_jumpToPage_save=&param_type_save=textSearch&param_langcode_sa
ve=es&param_ui_control_scripts_save=&param_jumpToPage_value=&param_categ
ory_search_type_value=browseSubCategory&display_single_object=&param_cat
egory_value=1&param_subcategory_active=1&param_subcategory_value=4051000
0000000031','UA-CPU' => 'x86','User-Agent' => 'Mozilla/4.0 (compatible;
MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152;
.NET CLR 3.5.30729)','X-Forwarded-For' =>
'10.235.56.113','X-Forwarded-Host' =>
'ws001.juntadeandalucia.es','X-Forwarded-Server' =>
'ws001.juntadeandalucia.es'}, 'Apache::Table' ),'filename' =>
'/var/www/gpoa','args' =>
'ACTION=CHECK&DATA=1759388583&URL=http%3A%2F%2Fwww.bsalud.es%3A80%2Fsir%
2Findex.php%3FATTREQ%3Dsirgpoa%26PAPIPOAREF%3D4db122740aec60411bf1df2949
aa9b9b726a47b7%26PAPIPOAURL%3Dhttps%253A%252F%252Fsir.rediris.es%252Fsir
gpoa%252Findex.php%26PAPIOPOA%3Dhttp%25253A%25252F%25252Fproxy-zportal.s
as.junta-andalucia.es','method' => 'GET','uri' =>
'/gpoa/cookie_handler.cgi'}

TERE SDBM STORE KEY_LENGTH: 15 VALUE_LENGTH: 1861

TERE SDBM STORE 140411532110623

TERE SDBM STORE 140411532110623**1

TERE SDBM STORE 140411532110623**2

TERE SDBM STORE 140411532110623**3

TERE SDBM STORE 140411532110623**4

TERE SDBM STORE 140411532110623**5

TERE SDBM STORE 140411532110623**6

TERE SDBM STORE 140411532110623**7

 

Solo se me ocurre que el tamaño de la key o el valor que se está
almacenando sea demasiado grande. Vamos a seguir investigando en ese
sentido. ¿Alguna otra sugerencia?

 

 

 

De: The PAPI authentication and authorization framework [
mailto:[log in para visualizar] <mailto:[log in para visualizar]> ] En
nombre de Luis Melendez
Enviado el: miércoles, 25 de junio de 2014 14:04
Para: [log in para visualizar] <mailto:[log in para visualizar]> 
Asunto: Re: [PAPI] Sobrecarga del sistema con SDBM

 

Hola,


On 06/25/2014 01:36 PM, José Manuel Macías wrote:

El 25/06/14 12:08, "Borrego López, Luis Javier" escribió:

Gracias por el apunte, efectivamente nuestro Linux es de 32 bits, hemos
ejecutado el script de prueba y nos da justo el fallo que aparece en el
ticket 

 

069 - 128 

sdbm store returned -1, errno 22, key "E?" at 24206.pl line 22.

 

El problema cual sería ¿que la base de datos ha llegado a 2 G de tamaño?



No estoy seguro de que sea esto... pero si lo es...

¿estás a la última versión de los módulos perl que puedan estar
implicados? ¿podría haber alguna opción de (re)compilar el módulo o
módulos para que se permitieran tamaños mayores? (no puedo orientarte
ahí, pero he tenido problemas similares con algún módulo perl que se
solucionaron añadiendo una simple opción al gcc)







¿Qué es lo que se almacena en esta base de datos? 


Entiendo que son claves de sesión que probablemente puedan expirarse. De
no ser que tengáis un uso muy grande de vuestro servicio y ello provoque
un tamaño tan grande, podrías purgar de vez en cuando imagino.







¿se podría limpiar de alguna forma la Base de datos, o compactarla de
alguna forma o tendríamos forzosamente que migrar a un Linux de 64 bit?

Habría que ver qué pares clave/valor almacenan... no se si Luis Melendez
podría decirte mejor, si ha utilizado este backend.

Otra posibilidad quizá sea cambiar de backend... 


Yo veo raro que esa base de datos haya crecido tanto. La mia, aunque
tenga menos usuarios, lleva algunos años sin purgarse y tiene un tamaño
de poco más de 130Mb (en realidad ocupa en disco algo menos de 4 Mb
porque son ficheros sparse). Si lo que tienes es un AuthServer normal,
suele meter menos de 100 bytes por cada usuario que se autentica.

Si no sabes dónde está esa base de datos, mira en la configuración del
AS (suele ser /usr/lib/cgi-bin/AuthServer.cf o algo así dependiendo de
la distribución de Linux que uses), en la variable 'authCookieDB'. En
realidad son tres ficheros. Por ejemplo, en mi caso:

$$cfg{authCookieDB} = '/usr/local/PAPI/AS/etc/PAPIAuthenCookies';

# ls -al /usr/local/PAPI/AS/etc/PAPIAuthenCookies*
-rw-r--r-- 1 www-data www-data     12288 2014-04-07 16:01
/usr/local/PAPI/AS/etc/PAPIAuthenCookies.dir
-rw-r--r-- 1 www-data www-data         0 2014-06-25 12:09
/usr/local/PAPI/AS/etc/PAPIAuthenCookies.lock
-rw-r--r-- 1 www-data www-data 134038528 2014-06-25 12:09
/usr/local/PAPI/AS/etc/PAPIAuthenCookies.pag

Si realmente tuviera un tamaño tan enorme, se puede borrar
tranquilamente, aunque harás perder la sesión con el AS a quien se haya
autenticado ya. Creo que no se puede purgar porque en sus registros no
figura la fecha-hora para eliminar los antiguos.

Otra posibilidad: ¿No tendrás el disco lleno?

Un saludo