Un programa puede dejar de funcionar si utiliza RPC con un servidor UNIX

Seleccione idioma Seleccione idioma
Id. de artículo: 811576 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Un programa cliente que utiliza (RPC) y se ejecuta en Microsoft Windows XP aleatoriamente experimentar infracciones de acceso cuando el programa se comunica con una llamada a procedimiento remoto servidor que está ejecutando en un servidor UNIX.

Causa

Este problema está causado por un búfer incorrecto en la RPC (Rpcrt4.dll) de DLL de tiempo de ejecución. La saturación de búfer ocurre sólo si un cliente realiza una llamada RPC saliente a un servidor UNIX después de que el cliente haya estado inactivo de entre 40 y 60 segundos, y si la llamada RPC espera una respuesta de gran tamaño. El búfer desbordamiento daña el bloque de memoria que sigue el búfer que se utiliza por RPC y puede causar infracciones de acceso aleatorio en el programa cliente.

Solución

Información de Service Pack

Para resolver este problema, obtenga el Service Pack más reciente para Microsoft Windows XP. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
322389Cómo obtener el service pack más reciente de Windows XP

Información de revisiones

Hay una revisión compatible de Microsoft. Sin embargo, esta revisión se diseñó para corregir el problema descrito en este artículo. Aplíquela sólo a los sistemas que experimenten este problema específico. Esta revisión podría sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la siguiente actualización de software que contenga este hotfix.

Si la revisión está disponible para descarga, es hay una sección de "Descarga de revisión disponible" al principio de este artículo. Póngase en contacto si no aparece en esta sección, con los Microsoft cliente Servicios de y soporte técnico para obtener la revisión de.

Nota Si se producen problemas adicionales o si cualquier solución de problemas es necesario, quizás tenga que crear una solicitud de servicio independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con esta revisión específica. Para obtener una lista completa de números de teléfono de servicio de atención al cliente y soporte técnico o para crear una solicitud de servicio independiente, visite el siguiente sitio Web:
http://support.microsoft.com/contactus/?ws=support
Nota El formulario "Descarga de revisión disponibles" muestra los idiomas para que la revisión está disponible. Si no ve su idioma, es porque una revisión no está disponible para ese idioma.La versión en inglés de esta revisión tiene los atributos de archivo enumerados en la siguiente tabla u otros posteriores. Las fechas y horas de estos archivos aparecen en la hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.
   Date         Time   Version        Size     File name
   ------------------------------------------------------
   23-Dec-2002  09:31  5.1.2600.1154  505,856  Rpcrt4.dll

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:". Este problema se corrigió por primera vez en el Service Pack 2 de Microsoft Windows XP.

Más información

Algunos servidores RPC pueden solicitar que un programa cliente final de sus conexiones inactivas para reducir el uso de recursos. Para ello, envía un unidad de datos de protocolo (PDU) de cierre al cliente. En el cliente RPC comprueba su búfer de recepción sólo cuando está realizando una llamada al servidor de RPC. Algunos servidores UNIX envían PDU de cierre después de cada 20 segundos de tiempo de inactividad. Si el cliente es inactivo suficiente para el servidor envíe 2 PDU de cierre consecutivos, RPC en el cliente fusiona PDU en su búfer de recepción. Si el cliente decide realizar una llamada en este momento, intenta procesar primero la PDU fusionado dos en su búfer de recepción. Durante el procesamiento, la combinación hace que el búfer de recepción se reasignen. Sin embargo, la información del búfer de tamaño no se seguimiento correctamente. Esto puede producir en un búfer que se notifica a ser mayor que realmente es. A continuación, se realiza la llamada saliente. Si la respuesta es mayor que el real (no notificado) se produce el tamaño del búfer recepción reasignada, una infracción de acceso.

Si el cliente está inactivo suficiente para que el servidor envíe tres PDU de apagado, RPC cierra la conexión. A continuación, se crea una nueva conexión para ejecutar la llamada saliente. En este caso, no se produce el problema. Por lo tanto, el problema es probable que se producen después el programa de cliente está inactivo durante más de 40 segundos, pero menos de 60 segundos. Sin embargo, esto depende cuánto en que espera el servidor UNIX antes de enviar un PDU de apagado.

Propiedades

Id. de artículo: 811576 - Última revisión: miércoles, 29 de agosto de 2007 - Versión: 3.1
La información de este artículo se refiere a:
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
Palabras clave: 
kbmt kbautohotfix kbhotfixserver kbqfe kbwinxpsp2fix kbenv kberrmsg kbqfe kbwinxppresp2fix kbfix kbbug KB811576 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 811576

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com