Corrigiendo el error de “Automatic crash report generation” al arrancar Ubuntu 11.10

Se que soy un poco pijo para mis instalaciones de Ubuntu, pero detesto que muestre fallos en los arranques, y uno muy curioso que está dándome en una instalación nueva de Ubuntu Server 11.10 es que muestra un error al arrancar “Automatic crash report generation” dejando un error marcado en la consola.

Este servicio, el que provoca el error, es Apport, y es el encargado de generar reportes de error cuando una aplicación se sale de manera no controlada y no tiene un sistema propio de reporte de errores.

Para solucionar esto, solo hay que hacer:

sudo nano /etc/default/apport  # Poner a 1 el campo "Enabled"
sudo reboot

Tras esto no tendrías que tener más ese maldito error en pantalla.

Please follow and like us:

Purgar la cola de impresión en el servidor de impresión de Windows 2003

Una tarea que puede ocurrir cuando centralizas en un servidor Windows 2003 todas las impresoras de un entorno corporativo es recibir una llamada de un usuario del tipo:

La impresora X no imprime, y por más que doy… ná. He reiniciado el ordenador 20 veces, le he rezado 20 avemarias al santo patrón de los BOFH, pero nada. ¡¡¡Arreglalo!!!.

Con resignación nos tocará levantarnos del sitio y tras descartar que el problema sea de la impresora, y ver que a la impresora no le llega nada de lo enviado (ese sería otro problema de no reproducirse este escenario que te cuento, luego busca en otro sitio: Este no es tu error), miramos con resignación a nuestro querido servidor de impresión.

Entramos en “Panel de control > Impresoras y faxes” o bien, mediante la pantalla de “Administre su servidor > Servidor de impresión“, allí miramos la impresora si tiene una impresión indestructible (si damos a cancelar y se queda eternamente “Eliminando…”). Si no queremos reiniciar el servidor, y de paso,no  dejar a los usuarios sin 20 minutos de servidor de impresión donde seguramente haya 3 personas con documentos que no pueden esperar ser imprimidos. La forma más rápida de solucionarlo puede ser esta (unos 2 minutos):

  1. Inicio > Herramientas Administrativas > Servicios“.
  2. Localizar “Cola de impresión” y pararla. No cierres esta ventana.
  3. Entra en “\WINDOWS\system32\spool\PRINTERS“. Puede que la ruta cambien un poco según donde tengas instalado el sistema operativo.
  4. Borra los ficheros *.SHD y *.SPL. Si no hay, comprueba que es allí donde se almacena la cola de impresión en el apartado de “Impresoras y Faxes > Archivo > Propiedades del servidor de impresión > Opciones Avanzadas > Carpeta de cola de impresión”. Si apunta a otra ruta, mira allí. Si tampoco están allí, este manual no te servirá para nada, lo siento.
  5. Vuelve a arrancar el servicio de “Cola de impresión”.
  6. Revisa que ya no hay documentos “enganchados” en la impresora.
  7. “Trabajito bien hecho, cigarrito pal pecho”.
Please follow and like us:

Cuando Double.MaxValue, no es Double.MaxValue

Creo que es uno de los primeros post que voy a escribir por absoluta desesperación. Y el título lo dice todo.

Estamos desarrollando una aplicación en mi empresa, donde usamos un librería “open source” construida de manera intachable. Bien estructurada, con sus clases, con sus interfaces, y todo en NET 2.0.

Ahora viene lo bueno, dentro de la librería, hay un:

public const double Missing = Double.MaxValue;

Esta línea, parece encarnar el mal, y tiene el número #630 dentro del sistema de bugtracking del proyecto (a partir de ahora el número del mal). En ciertos equipos (si, en ciertos, sin diferenciación mayor que ser otro equipo), provoca que el programa se salga (mejor dicho: explote), sin generar ninguna excepción (lo que implica un error por debajo incluso del NET) y sin dejar ningún registro de error. En cambio, si ponemos:

Si hacemos una asignación quitando el alias:

public const double Missing = 1.7976931348623157E+308;

Tenemos otro crash silencioso al ejecutar el programa. Incluso rebajando el exponente, tenemos el mismo fallo. Pero esperen, que viene lo mejor:

public const double Missing = 999999999999999999;

Entonces, todo el felicidad, los pájaros cantan y las nubes se levantan… No falla.

¿¿¿Porqué???. De verdad que no lo entiendo, y los oscuros mundos del NET me tienen frito.

Pues no termino de entender el porque. Puedo conjeturar que viene por la representación que le da .NET, no es representable por algún nivel más bajo de la máquina, o algún redondeo que implique un overflow. Pero la verdad que no he encontrado nada por la red, y menos aun por los foros de la librería. Pueden ser muchos factores, y me estaré dejando muchos sin tener en cuenta, pero desde luego ahora mismo estoy falto de ideas.

Please follow and like us:

Geoserver y las extensiones “ImageIO-ext” no se llevan bien con Tomcat (>= 6.0.24)

Parece que tenemos un problema, Houston. Y uno gordo.

Muchas de las personas que utilizamos Geoserver como servidor de mapas, nos hemos decidido por la combinación Geoserver+Tomcat, ya que parece una forma “ordenada” y “optimizada” de implantar un servidor de mapas.

Pero todo tiene problemas.

Si hemos instalado las extensiones “ImageIO-ext” para obtener la posibilidad de usar muchos más formatos de fuentes de cartografía en nuestro servidor, y por casualidad hemos actualizado a una versión de Tomcat por encima de la 6.0.24 (inclusive) nos encontramos que al intentar usar un formato de los que nos da soporte las extensiones “ImageIO-ext”, encontramos este fantástico error:

Caused by: java.lang.IllegalArgumentException: Incorrect input type!
       at javax.imageio.ImageReader.setInput(ImageReader.java:290)
       at it.geosolutions.imageio.gdalframework.GDALImageReader.setInput(GDALImageReader.java:838)

¿Yuhu?. Bueno, al menos, es un error reconocido por la gente de Geoserver y ahora mismo esta trabajando en ello, aunque no creo que tengan una solución próxima, ya que el problema esta en la extensión, no en el servidor Geoserver. La extensión tiene un problema de “leak” de memoria en ciertas condiciones, y las nuevas versiones de Tomcat tiene un nuevo mecanismo que detecta esto fallos que pueden peligrar el buen funcionamiento del servidor y hacen que no permita el registro de la extensión en el sistema (et voilà, ya no tenemos acceso a la extensión).

Aunque haya algún “workaround” a la vista, como deshabilitar dicho mecanismo de protección anti-fugas de memoria en el servidor Tomcat. Aunque esperemos que no quede mucho para que lo solucionen de una manera mas “fina”.

Referencias:

Please follow and like us:

Android te da un “Android.process.acore” al sincronizar tus contactos con Google

Parece que el problema se extiende, ya que no son pocos los que se encuentran con un “Android.process.acore” cuando tratan de sincronizar sus contactos con Google.

El problema viene en la mayoría de los casos por saltos de línea que no espera el programa, o caracteres raros dentro de los campos que tiene un contacto. En muchos casos en el campo de Facebook de un contacto, por lo que sería lo primero a revisar.

Para investigar sin problemas, sólo tendremos que desactivar la “Sincronización de datos” automática dentro del submenu “Google” en el apartado de “Ajustes>Sincronización de datos“.

Este problema esta reconocido, y tiene su propio “Bug” en el sistema de Bugs de Android que obviamente, sigue abierto… Pero en el hilo de dicho bug, también hay un método bastante sencillo y cómodo. Baja al comentario 39 de dicho hilo y verás un sencillo método que nos permitirá no tener problemas con los caracteres ni los saltos de linea.

En resumen:

  1. Quitar la sincronización automática de los contactos con Google en “Ajustes->Sincronización de datos->Google->Sincronización automática“.
  2. Instalarnos en el teléfono el programa “ExportContacts” y crear un fichero .csv con nuestros contactos dentro de nuestra tarjeta SD. Saca este fichero a nuestro ordenador.
  3. Ese .csv puede ser importado a nuestros contactos de Gmail sin problema, entra en Gmail, en “Contactos->Importar“. Ojo, ya que los unirá a los contactos que tengas en Gmail, y quizás quieras borrar alguno que no te interese en Gmail.
  4. Borrar todos los contactos del teléfono. Sin miedo, ahora los tiene Google.
  5. Volver a activar la sincronización de los contactos en el teléfono.
  6. Si te aparece un mensaje de advertencia al sincronizar sobre que “Demasiados contactos borrados“, pulsa en “Deshacer borrado” (a mi no me salió dicho mensaje)
  7. Sincroniza… en un rato tendrás todos los contactos en tu teléfono de nuevo.

Un saludo 🙂

Please follow and like us:

Como deshabilitar Clamav, si te de problemas, en Postfix

Cuando un servidor Postfix empieza a dar problemas, todos nos echamos a temblar, ya que es un servicio que tiene que funcionar como sea. En nuestro caso, y tras mirar los logs (/var/log/mail.info) nos dimos cuenta que nuestro ClamAV no funcionaba, por alguna extraña razón (… quizás 3 años sin actualizarlo xD), así que tuvimos que tomar una decisión rápida, que fue deshabilitarlo, hasta que podamos corregir todos los problemas.

Para deshabilitarlo, la forma más rápida en quitar Amavis-new del medio, ya que es el que se encarga de pasar por los filtros los correos y era quien devolvía el error al no encontrar el antivirus funcionando. Para esto sólo hay que comentar las siguientes líneas:

  • En “/etc/postfix/main.cf”:
    content_filter = amavis:[127.0.0.1]:10024
    receive_override_options = no_address_mappings
    
  • En “/etc/postfix/main.cf”:
    content_filter = amavis:[127.0.0.1]:10024
    receive_override_options = no_address_mappings
    
  • En “/etc/postfix/master.cf”:
    #amavis unix - - - - 2 smtp
    # -o smtp_data_done_timeout=1200
    # -o smtp_send_xforward_command=yes
    #127.0.0.1:10025 inet n - - - - smtpd
    # -o content_filter=
    # -o local_recipient_maps=
    # -o relay_recipient_maps=
    # -o smtpd_restriction_classes=
    # -o smtpd_client_restrictions=
    # -o smtpd_helo_restrictions=
    # -o smtpd_sender_restrictions=
    # -o smtpd_recipient_restrictions=permit_mynetworks,rej ect
    # -o mynetworks=127.0.0.0/8
    # -o strict_rfc821_envelopes=yes
    # -o receive_override_options=no_unknown_recipient_chec ks,no_header_body_checks
    # -o smtpd_bind_address=127.0.0.1
    
  • Terminado esto, reiniciamos el Postfix.
  • Y ahora hacemos que todo vuelva a “reencolarse” para que no se quede pendiente en la cola de mensajes de Postfix
    postsuper -r ALL
    

Y rezamos porque todo vaya bien 🙂

Please follow and like us:

El olvidado “modo seguro” de Firefox

Pocas veces se oye hablar de este “modo” que posee el navegador Firefox, y que nos permite arrancar el navegador cuando este deja de funcionar y se cuelga cada vez que lo arrancamos. Usualmente, suele ser problema de los plugins o un complemento que tengas instalado en tu navegador, o bien de un perfil corrupto, aunque lo normal es algún plugin que se ha actualizado y te ha hecho algo malo dentro de las tripas de tu navegador.

Para arreglar la mayoría de los problemas (ojo, que no todos), simplemente buscamos el modo seguro que aparecerá en Windows, dentro de “Inicio>Programas>Mozilla Firefox>Mozilla Firefox (modo seguro)“, o bien en otros sistemas ejecutando Firefox con el parámetro:

> firefox -safe-mode

Una vez lanzado, tendremos una nueva pantalla, que con suerte, no habréis visto en la vida que nos da varias opciones:

Pantalla de modo seguro de Firefox

Pantalla de modo seguro de Firefox (gracias a DifundeFirefox)

La que nos interesa, es la primera de todas las opciones “Deshabilitar todos los agregados“, ya que nos lanzara un Firefox limpio, con todos los plugins y complementos deshabilitados. Ahora toca la tares, coñazo, de ir activando uno a uno, hasta que encuentres que leches es lo que esta fallando, que suele ser algo que se haya actualizado hace poco, o plugins como el de Flash. Para ir activando, solo tienes que ir a Firefox y en “Herramientas>Complementos“, visitar las pestañas “Extensiones“, “Temas” y “Plugins“, para ir activando uno a uno, hasta que des con el problema.

Please follow and like us:

Solución a que innerHTML no funcione bien en IE7 y superiores

En uno de mis proyectos de trabajo en mi empresa, me he encontrado con los míticos “Javascript madness“.

Esta vez, el problema surge al intentar modificar la propiedad innerHTML de una etiqueta con texto y así poder modificar su código HTML desde javascript. Aunque el uso de innerHTML no está recomendado por la W3C ya que habría que utilizar createElement y createTextNode, pero sinceramente, es mucho más lento y bastante complejo. Pero claro, el IE tenia algo que decir, y era que no le apetece funcionar con el puñetero innerHTML, unas veces si, otras no… al parecer al meter etiquetas HTML anidadas, deja de funcionar. Muy divertido.

Os pongo un ejemplo:

output = req.responseText;
document.getElementById(pageElement).innerHTML = output;

Si ouput es una etiqueta tipo “ancla“, sin más, todo funcionará y verás cambiar el código HTML de tu etiqueta con id igual a la variable “pageElement“. Pero si metes una tabla, esto no funcionará. Pero solo en IE, ya que el resto de navegadores funcionará bien.

¿Como forzarlo a funcionar?. Pues siguiendo el estándar de la W3C… y como indica este post.

var newdiv = document.createElement("div");
newdiv.innerHTML = output;
var container = document.getElementById(pageElement);
container.appendChild(newdiv);

Y bingo…

Please follow and like us:

SGAE, PROMUSICAE, y demás… Repetir la mentira, la convierte en verdad

Odio lo que ocurre. Lo veo en la política, lo veo en las empresas, y casi todos los ámbitos de la vida.

Repetir una mentira, muchas veces, la convierte en una verdad.

Hoy podemos leer en un periódico de tirada nacional, como el gobierno del PSOE no mete doblada una ley muy anti-popular, por lo “bajini“, a escondidas dentro de otra ley, dentro de una que no tiene nada que ver con el asunto que tratamos: “Ley de Economía Sostenible“. ¿Pero que es esto?. ¿Se creen que somos tontos?.

Partamos de una premisa: Música es cultura, el cine es cultura, y es razonable que sea de libre acceso. Ojo, que no gratuito. Actualmente, la copia privada no está penada, y se paga un canon para compensar la copia privada. Perfecto, genial, es justo. Aun así, nos dicen que el canon no es suficiente… que es nuestra culpa que no salgan nuevos artistas.

SGAE, PROMUSICAE, etc… tratan de criminalizar el tema. ¡Se va a acabar la música!… bueno realmente se va a acabar vuestro modelo de negocio, que es muy diferente. Pero ellos tratan de mantenerlo, y como no, hacen toda la presión posible (aunque sea ridículo). Dejémonos de ver a los músicos que defiende la doctrina “SGAE” como “artistas”, más bien son productores de contenidos de manera industrial, a los que la música les da un poco igual, solo vender discos y vivir sin hacer nada… ¿Me estoy pasando?, no, no soy yo, es la imagen que dan con sus acciones y declaraciones.

Aunque no minimicemos el poder de SGAE y similares, ya que en España, si no eres de la SGAE, tendrás muy complicado grabar un disco, ya que toda la industria te lo exige, es decir, tienes que pertenecer al circulo, y tienes que aceptar lo que hay, si no, no hay disco. Pero… aparece internet en la vida diaria, donde se puede publicar libremente, y todo el negocio se les trastoca.

Pero volviendo a la ley que ha aprobado la Ministra Elena Salgado, me imagino que el gobierno no quería que la gente se diera cuenta que a cada paso que damos en ciertos aspectos, se nos van cambiando las reglas de juego para mantener ciertos privilegios a los “artistas”. Y pongo artistas entre paréntesis, ya que no se favorece a todos, si no a una élite que no tiene precisamente problemas. “Artistas” como las discográficas que quieren mantener su modelo de negocio a cualquier precio. “Artistas” que es la industria montada alrrededor de la creación de música en formato físico. Con estos cambios el gobierno apoya el inmovilismo del sector, ¿salió el gobierno a defender a los pequeños comercios cuando el mercado se oriento hacia los centro comerciales?… No, no son tan guapos y no salen conmigo en campaña para hacerse la foto.

Pero claro, hablamos de un sector, el del entretenimiento, que esta acostumbrado a vivir de las subvenciones, como por ejemplo el cine. Vergonzoso lo que se suele producir en España y que todos tenemos que pagarlo. ¿Se apuesta por nuevos valores?… (excusa típica) no, es que no tenemos dinero… más bien, es que no queremos cambiar.

Es claro que esta cambiando el mercado y algunos no quieren verlo, y mucho menos que cambie. Nuestro habitos de consumo están cambiando ya que, por ejemplo, el CD se esta quedando obsoleto. ¿Quién quiere un CD?, dame un mp3 para meterlo en mi reproductor mp3. Este cambio, puede hacer que mucha de la “industria” que rodea este negocio desaparezca o sea marginal. Pero seamos sinceros, ha pasado con muchas otras industrias y no ha pasado nada. Pero amigo… hay un gran lobby detras, estos “artistas” tienen mucha pasta y tiempo libre para gastar, tienen que defender su modelo, su “producto” (aunque si venden un producto ya no son artistas… bueno eso es otra discusión) arcaico, ya que renovarse cuesta muchos duros.

¿Pero y donde llega la parte aun mas indignante?. Sus soluciones. Canon compensatorio, un impuesto revolucionario que gestiona una empresa privada, que no reparte equitativamente sus beneficios, y que la empresa no tiene nada de pública ni democrática. Bien, y encima somos unos ladrones.
No conformes con el canon, que les da muchos beneficios a unos pocos, nos criminalizan, y tratan de mantener el status quo actual.

¿Una tarifa plana de descarga que pagaran los que queremos descargar?, ni de coña.
¿Precios más bajos?. ¿Estas de broma?
¿Diversificar los autores?… Nos va bien con nuestros “artistas”.

Y sabeis aun lo peor. Internet esta haciendo mucho bien a los músicos. Cientos de grupos tienen a su audiencia delante de ellos, sin terceros que cobre comisión. No hace falta un CD, un mp3 es suficiente. Y algunos adelantados ya se han dado cuenta, y cuelgan sus discos, y reconocen que el libre intercambio les beneficia. Incluso algunos lo fomentan… pero el lobby de las discográficas acalla cualquier voz.

No os llaméis artistas… Llamaros empresarios, o asalariados de la discográficas. Todo quedará más claro.

Actualización: Siempre hay gente que sabe expresarse mucho mejor que tu, y en este caso, Julio Alonso creo que lo resumen muy bien.

Please follow and like us:

Mi iTunes da un error cuando hago X cosa. ¿Como se arregla?

iTunesLa dependencia de iTunes y iPod nunca me ha gustado, sobretodo porqué Apple no tiene un buen sistema de documentación ya que es tan oscuro en ciertos temas como Microsoft (que le da mil vueltas en documentación y solución de errores).
Si te pasan cosas como que el iTunes falla, tu iPod se empantana y no puedes usarlo correctamente, ya que es totalmente dependiente de dicho programa. En mi caso, cuando en el iPod señalaba la pestaña de “Peliculas”, el iTunes daba un error y se cerraba. ¿Como arreglarlo?, no busques en Google si quieres encontrar una solución ya que marearas en cientos de foros que terminan mandándote a la misma página de ayuda de Apple: Esta.

Básicamente es una web para solucionar cualquier error en la configuración de iTunes en Windows y Mac, de manera genérica, pero funciona, y casi siempre es la configuración de iTunes que se ha corrompido. Te recomiendo que sigas lo que pone en la web y no creo que tengas mucho problema. En mi caso con borrar unas carpetas de “Documents and Settings“, y todo volvió a funcionar (sin perder mis listas ni nada, solo la configuración de iTunes).

Please follow and like us: