PreguntasLinux

Versión Completa: lpstat segmentation fault (solucionado)
Actualmente estas viendo una versión simplificada de nuestro contenido. Para ver la versión completa en el formato correcto, dale click aquí
Buenas,
a ver si alguien me puede tirar una soga porque estoy bastante desconcertado...

Dos equipos idénticos, misma instalación de Solaris 10, mismo nivel de parches.
Uno en producción, el otro de contingencia. Con lo cual usuarios, grupos, permisos, impresoras y una sincronización en crontab con rsync me permite tener ambos equipos en iguales condiciones.

en el de producción, los comandos lpstat, cancel, accept (en general los de spool) me tiran un inquietante: "Segmentation Fault (core dumped)".
No sucede así en el de contingencia. (vuelvo a aclarar son idénticos)

Últimas líneas de un truss lpstat -t
fstat(4, 0xFFBFEE80) = 0
time() = 1184765622
getpid() = 13891 [13890]
Incurred fault #6, FLTBOUNDS %pc = 0xFF230C90
siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
Received signal #11, SIGSEGV [default]
siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000


pruebo reemplazar los binarios desde un equipo al otro? (no me animo porque no son míos, jejeje)
Huumm jje
No son identicos? diff

Hay un Patch Id: 102402-01, aplica a lpd lpr lpstat -v lpstat -t, pero es viejísimo, no tiene sentido.

Además HW&SW son idénticos y sincronizados..
Tienen los últimos parches a Abril 07... así que no creo que venga por ahí.
puedo probar de ver si hay diferencia entre los archivos... aunque lo dudo (excepto claro que hayan cambiado levemente por alguna razón que desconozco)

voy a hacer la prueba de hacer un backup de los originales y copiar los del otro equipo a ver que sucede.
cuando lo tenga les comento.
Bueno, hora de solucionar el tema.

Después de mucho remar entre las man pages y diversos foros y páginas sobre lpstat, tomé una determinación.

Probé reemplazar los binarios, pero no cambió nada.
Entonces indagué más al respecto y resulta que las impresoras las estaban creando a través de webmin y de 'Printer Administrator de Xwin32' (¿¿¿lo que???), por lo que no quedan muy bien que digamos.

Les pasé el comando lpstat correspondiente, les hice borrar todas las impresoras y las generaron nuevamente y santo remedio.
# lpadmin -p [impresora] -s [ip] -I any

Saludos
Quería actualizar el tema, ya que la 'solución' de re-crear las impresoras no duró mucho.

Al poco tiempo volvió a ocurrir con lo cual mis canas pasaron de un tono verde claro a un violeta furioso... jejeje...

pero bueno, al investigar un poco más y rescatando algunos documentos bastante viejos encontré que ocasionalmente quedan archivos 'cf' corruptos en /var/spool/print los que provocan un segmentation fault en lpstat y cancel.

y aunque suene tonto: se soluciona borrando el contenido de /var/spool/print

No hay parche, ni bug que se refiera a esto ya que los archivos 'cf' pueden corromperse debido a la aplicación que lance la impresión (trayecto en el cual se pierda alguna información).
Igualmente se está recomendando fuertemente a la comunidad Solaris10/OpenSolaris que utilicen CUPS ya que lp está quedando obsoleto.

Saludos!
URLs de Referencia