Sunday, May 13, 2007

el noble arte de 'pasar la bola'...

Ya de antaño suele venir la costumbre de agachar la cabeza, mirar hacia otro lado, silbar de manera ciertamente sospechosa ó, simplemente, escurrir el bulto cuando se nos viene una buena regañina encima...

Sí... esa maldita, peligrosa, perniciosa, deleznable, reprobable, detestable (ponga aquí su palabra favorita para definir lo que resulta ser 'muy fuerte') y en exceso extendida 'virtud' de hacer como que se nos cae la cara de sorpresa ante lo que se nos viene, no teniendo (por supuesto) la culpa de aquello de que se nos acusa o interroga (en el mejor de los casos, claro está), para poder encontrar ese pequeño reducto de paz interior que supone el salvar las distancias frente al peligro... maravillosa sensación equiparable a haber ganado unos juegos olímpicos, o sin ir con pretensiones tan grandes... ganar la carrera del colegio de los 100 metros valla (en mi caso... el campo de fútbol que usabamos para las clases de educacion física tendría a lo más unos 50, así que ni por esas) ó cualquier logro similar y de tamaña dificultad, con su consecuente proeza ahí donde las haya ;)

Y todo empezó con una bonita y preciosa línea de error en una pantalla cualquiera de cualquier hijo de vecino un domingo por la tarde (la de aburridos que hay por ahí, eh? jajaja):

java: xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.

Curiosa línea ahí donde las haya... y el motivo? algo tan simple como arrancar el navegador, abrir la página de buho21 (un portal de juego on-line con ajedrez y trivial, para mas señas)... como suele decirse... para 'mear y no echar gota', pero bueno...

Indagando un poco más, me dió por hacer algo tan simple y conocido desde los tiempos de matusalem como CTRL-C, CTRL-V... y donde deposité tan curioso mensaje? pues... lo entregué en manos del siempre dispuesto, sonriente y feliz... amigo Google!

Y he aquí que he ido a parar con la cuasi cuestión (que no pregunta) del millón... y porqué? pues porque, simplemente, no soy el único afectado por este fallo... y me explico:

Lo que sucede en este caso particular es que Java esta intentando abrir un thread (un hilo, un proceso/subproceso o como queráis llamarlo, pero siempre hablando de ejecucion multithreading) para después cerrarlo y Xlib, que es una de las librerías esenciales del servidor X11 (en este caso, instalé la última versión disponible (sin recurrir a repositorio git/cvs/svn), la 1.3.0 con Mesa 6.5.2), está denegando el acceso al cierre de dicho hilo, sea porque ha habido un error a la forma de declararlo ó porque dicho hilo se ha cerrado anteriormente y, por lo tanto, se está intentando eliminar un recurso que, simplemente dicho, ya no existe.

Hasta aquí bien... pero donde está realmente la parte divertida? sencillo... muy sencillo.

Navegando a través de los resultado que ofrece Google acerca de mi particular problema, he encontrado dos grandes direcciones:
  • La pagina web del repositorio de fallos hallados en el código fuente de Java (SUN)
  • La página web del repositorio de fallos hallados en el código fuente de X11 (X.org)
Decidí leer primero el repositorio de Sun Microsystems, pues son los creadores de Java, y pensé que tal vez podría hallar allí la solución a mi problema, tal vez en forma de parche, un procedimiento diferente de instalación... en definitiva, cualquier clase de propuesta para poder resolver mi problema y seguir adelante con la prueba extensiva del software instalado en mi sistema Linux recientemente compilado desde código fuente (nada como el trabajo hecho por uno mismo para satisfacer el ego)

Para mi sorpresa, lejos de hallar una respuesta mínimamente inteligible, lo que hallé fue una especie de solución de camionero que aquí plasmo para deleite y/o pasmo de aquellos que leáis mi pequeño articulario (aunque sea para poder darle mas alegría y color a vuestro papel higiénico, no me digáis que no jajaja):

ERROR MESSAGES/STACK TRACES THAT OCCUR :
xcb_xlib.c:50: xcb_xlib_unlock: Assertion 'c->xlib.lock' failed.

REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
downgrade xcb and xlib
Posted Date : 2007-03-08 12:24:41.0
Pues menuda 'solución'... sí, realmente genial... es como si llevas tu flamante Porsche Cayman al taller autorizado más cercano y te dicen que la dirección está mal debido a un componente defectuoso y que, por lo tanto, la solución propuesta es... comprarte un 600

En fín... sorprendido por tan profesional respuesta, decidí probar mejor suerte con la pagina de X.org, a ver si encontraba una solución algo mas factible y menos sorprendente, que uno no esta ya para sustos de tamaña categoría a estas edades que corren...

Para mi (desagradable) sorpresa, encuentro que no hay solución posible, que el fallo reside en la programación de Java, que hace un mal uso de las librerías de X11, o más concretamente, que en su código fuente enlazan con versiones estáticas (y antiguas) de otras librerías de X11, no solamente Xlib.

Es decir... he aquí un 'precioso' ejemplo de como 'pasar la bola', así que... mientras se corrige tan deflagrante fallo (sea a manos de los creadores de Java o de los creadores de X11) me temo que no podré hacer uso de aplicaciónes web que hagan uso del plugin de Java para Firefox...

En cierto modo, debo decir que me parece lamentable que a estas alturas del partido haya todavia grandes grupos de programadores y empresas que, en lugar de aunar esfuerzos, se dediquen a echarse la culpa mutuamente de los fallos que a veces surgen en este intrincado y a veces complicado mundo del software libre...

Señores... dediquen sus esfuerzos a tareas y empresas mas productivas y hagamos todos del software libre un mundo mucho mejor, que entre todos podemos (si queremos), y no hagamos gala del típico comportamiento de empresas como Microsoft y sus interminables listas de soporte de usuario, donde obtener soluciones a problemas concretos es todo un arte (inexistente, debo decir (en mi opinión)) y las respuestas brillan por su general ausencia...

Y hasta aquí, la queja de la semana ;)

Eso es todo amig@s!!!