Applications crash or become unresponsive if another user logs off a Remote Desktop session in Windows Server 2008 or Windows Server 2008 R2

When you run an application from a mapped drive, the application may become unresponsive or crash for a user (or multiple users) when another user logs off. For example, this issue may occur in the following scenario:

  • One server is a file server and another is a Remote Session Host server (terminal server).
  • A folder on the file server is mapped for use by remote users connecting to the RDS server.
  • An application on the mapped share is launched by multiple users.
  • One user logs off, and this causes the other users of the application to experience an application crash or unresponsiveness.
Specifically, the behavior is caused when either the first user or the last user of the application logs off, depending on version. Windows Server 2008 will experience this issue when the first user logs off; Windows Server 2008 R2 will experience this issue when the last user logs off.
This occurs because of the way in which the redirector handles the File Control Block (FCB) for the binary in question. In Windows Server 2008, the FCB is owned by the user who first opened the file, and this FCB is used by subsequent users. When the first user logs off, the FCB is orphaned, which causes the application to crash or become unresponsive on subsequent uses. In Windows Server 2008 R2, the FCB is owned by the last user to open the file, and prior users experience the issue if the last user logs off.

Technically the FCB is not owned by any specific user. It’s just a shared structure that represents a file. The FCB is created when the first handle to the file is opened, and it's destroyed when the last handle to the file is closed. Therefore, it is not tied to a user.

It's the file object that belonging to the user who logs off that gets orphaned. If that file object happens to back the file system cache or a mapped section, you experience these IO errors.
To resolve this issue, upgrade to Windows Server 2016. The issue is fixed in this version of Windows Server.
To work around this issue, use one of the following methods:

Note Running binaries remotely is generally not recommended. In cases such as this, we recommend the first workaround.

Artikelnummer: 2536487 – Letzte Überarbeitung: 10/27/2016 17:45:00 – Revision: 6.0

Windows Server 2008 Standard, Windows Server 2008 Enterprise, Windows Server 2008 Datacenter, Windows Server 2008 Foundation, Windows Server 2008 for Itanium-Based Systems, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 for Itanium-Based Systems, Windows Server 2008 R2 Foundation

  • KB2536487