¡Hola buenas madrugadas! Continuando con la producción de un nuevo post en la oficina de redacción, quiero compartir una historia de esas de Halloween (aunque ya pasó), de esas historias de las que dan miedo y te dejan casi en shock sin saber qué hacer.

De los mismos creadores de “En mi máquina funciona”, llega a ustedes: “El server estaba funcionando sin problemas…hasta ayer…”.

“¿Qué pasó ayer?” Sería la pregunta más precisa para poder des-insectizar (debuggear) este problema, sólo que hay un detalle: Hice varias cosas que no recuerdo cuál pudo haber dañado el IIS.

La situación se pone interesante porque no tengo un punto de partida establecido, así que vamos definiendo uno:

Síntomas conocidos:

Abro cualquier navegador y me lanza Error 503 cuando estoy en Localhost.

error-00

Ahora nos dirigimos hacia nuestro Internet Information Services (IIS) para recopilar información sobre lo qué está pasando.

error-01

El Default App Pool está detenido, vamos a darle click en iniciar. En teoría, esto nos debe dar el funcionamiento del Localhost con la clásica pantalla de inicio de IIS.

El IIS lanza nuevamente el error 503. Al revisar los Application Pools encuentro que nuevamente el Default App Pool está detenido. Comienzo a creer que está en huelga.

Entramos en modo Sherlock Holmes y procedemos a preguntar a conocedor de todos los eventos del sistema, revisando si hay errores con el IIS y módulos del mismo. Sí, me refiero al Event Viewer, esa app que te almacena los LOGs del sistema, de las aplicaciones, de seguridad, etc.

error-02

Encontramos la causa del problema:

The worker process for application pool 'DefaultAppPool' encountered an error 'Cannot read configuration file' trying to read configuration data from file '\\?\<EMPTY>', line number '0'.  The data field contains the error code.

Observaciones:

  • Aquí hay algo bien raro: “\\?\<EMPTY>” ¿Cuál es el archivo?
  • También menciona que no puede leer la configuración de un archivo.

Haciendo una búsqueda en la red, encuentro algo muy, pero muy similar:

The worker process for application pool 'DefaultAppPool' encountered an error 'Cannot read configuration file due to insufficient permissions

' trying to read configuration data from file '\\?\C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CONFIG\machine.config', line number '0'. The data field contains the error code.

La solución que mencionan es asignarle permisos de Lectura y Ejecución, y permisos de Lectura al archivo machine.config

Será motivo de verificar esta hipótesis:

error-03

Click derecho, propiedades, pestaña seguridad y…!

error-04

y ya tiene los permisos brother. Esto quedó descartado como posible solución.

Ahora bien, parao y sin polo le armamos la mecha al IIS manteniendo la calma, respiramos hondo, entramos en modo Zen, respiramos profundamente y recordamos las leyes de la informática tal y como nos enseñaron los sabios ermitaños del monte Himalaya en la 2.0, comenzando por “Ha intentado apagar y encender el equipo”, probamos reiniciar ese Default App Pool sin éxito, seguimos con reiniciar el servidor y tampoco funcionó. Seguimos respirando profundamente, entramos en un estado de paz y tranquilidad, libre de ganas de romper el teclado, estamos llegando al nirvana y se nos ocurre crear otro App Pool y a éste asignarlo al Default Web Site, así que ni corto ni perezoso ¡manos al teclado!

Para fines netamente académicos le vamos a poner de nombre DefaultAppPool2.

error-05

Seguimos con la asignación que vimos durante nuestro momento de iluminación.

error-06

Guardamos, revisamos y…

error-07

Ahora podemos seguir desarrollando con el IIS de manera local!

¡Nos leemos en el siguiente post! Que la fuerza os acompañe Open-mouthed smile