Para poder buscar el fallo de manera más sencilla:
- Desactiva el FailFast de COM. Con esto conseguimos que en caso de casque de un componente, la excepción sea atrapada por el debugger.
- Aislar la web que falla. Esto hace que se ejecute como un proceso independiente al cual podemos conectarnos con el debugger.
- Desactivar el Enable Debug Excepcion Caching en las propiedades del sitio del CMS.
Tras efectuar estos pasos, resulta que todo acaba en una violación general de protección, porque a una función, WaitForMultipleObjects, se está pasando handles inválidos. Hasta aquí no dice mucho. Sin embargo, si se observa una traza de pila y los módulos cargados por el IIS en dicho proceso, me encuentro con un viejo y problemático conocido: wininet.
Este módulo nunca debe de ser cargado por el IIS. Simplemente no está soportado. De ahí a llegar al módulo que lo estaba usando fue relativamente fácil, puesto que en las trazas de pela que tenía hacia referencia a un software que usaba: el proveedor de OLE DB para Sharepoint o Exchange, msdaipp, el cual se utiliza para acceder a funcionalidades Webdav.
No hay comentarios:
Publicar un comentario