FSLogix Codes and what they mean

The Profile and ODFC container set three values that represent the state of FSLogix for the user signing in:

  • Status
    • Normal
    • Error
  • Reason
  • Error (generated from Windows, not FSLogix)

The three values are stored for each user's session in the local machines registry. Depending on the container, the user's session information could be stored in one (1) of two (2) places.

  • Profile container: HKLM\Software\FSLogix\Profiles\Sessions\%sid%
  • ODFC container:
    • HKLM\Software\Policies\FSLogix\ODFC\Sessions\%sid%
    • HKCU\Software\FSLogix\ODFC\Sessions

Status and Reason codes provide a holistic view of the FSLogix state for any specific user. The Status code can be one (1) of two (2) types, normal and error. Error codes are set when an FSLogix operation didn't succeed. These codes are generated from Windows.

Status Codes (Normal and Error)

Status codes correspond to an FSLogix operation that succeeded or failed.

Code Type Description Explanation
0 Normal STATUS_SUCCESS Success
1 Error ERROR Can't load user's profile
2 Error ERROR_VIRT_DLL Virtual disk API isn't available on this platform
3 Error ERROR_GET_USER Can't retrieve user's security identifier
4 Error ERROR_HANDLE_ODFC There was an error setting up the Office 365 Container
5 Error ERROR_SECURITY Can't retrieve security information
6 Error ERROR_VHD_PATH Can't retrieve virtual disk location
7 Error ERROR_CREATE_DIR Can't create destination folders
8 Error ERROR_IMPERSONATION Can't impersonate user
9 Error ERROR_CREATE_VHD Can't create virtual disk
10 Error ERROR_CLOSE_HANDLE Can't release virtual disk
11 Error ERROR_OPEN_VHD Can't open virtual disk
12 Error ERROR_ATTACH_VHD Can't attach to virtual disk
13 Error ERROR_GET_PHYSICAL_PATH Can't retrieve virtual disk's physical information
14 Error ERROR_OPEN_DEVICE Can't open virtual disk's volume
15 Error ERROR_INIT_DISK Can't initialize virtual disk
16 Error ERROR_GET_VOL_GUID Can't retrieve virtual disk identifier
17 Error ERROR_FORMAT_VOL Error while formatting virtual disk
18 Error ERROR_GET_PROFILE_DIR Can't retrieve profile directory
19 Error ERROR_SET_MOUNT_POINT Can't set up directory mount point
20 Error ERROR_REG_IMPORT Can't import registry information
21 Error ERROR_CHK_GRP_MEMBERSHIP Can't retrieve user's group
22 Error ERROR_HANDLE_PROFILE Error handling profile
23 Error ERROR_PROFILE_SUBFOLDER_REDIRECTION Can't set up folder redirections
24 Error ERROR_CREATE_EVENT Unable to create event
25 Error ERROR_PER_SESSION_VHD Maximum sessions reached
26 Error ERROR_DETACH_VHD Can't detach virtual disk at the provided location
27 Error ERROR_FIND_VHD Can't find virtual disk at the provided location
28 Error ERROR_NO_SESSION_CONFIG No user session config found
100 Normal STATUS_WAITING_FOR_PROFILE_DIR_SET Waiting for the Windows Profile Service to determine the user's profile folder
200 Normal STATUS_IN_PROGRESS Setup in progress
300 Normal STATUS_ALREADY_ATTACHED The profile is already attached (differencing disks only)

EXAMPLE: Status codes in Profile Logs

[07:31:26.900][tid:00000d30.00004c04][INFO]             Status set to 28: No user session config found
[07:38:15.311][tid:00000d30.0000218c][INFO]             Status set to 100: Waiting for the Windows Profile Service to determine the user's profile folder
[07:42:47.045][tid:00000d30.00004168][INFO]             Status set to 200: Setup in progress
[07:42:48.076][tid:00000d30.00004168][INFO]             Status set to 0: Success

Reason Codes

Reason codes are used to help clarify the normal Status codes as described and aren't used to with error Status codes.

Code Description Explanation
0 REASON_PROFILE_ATTACHED The container is attached
1 REASON_NOT_IN_WHITE_LIST User isn't a member of the include group
2 REASON_IN_BLACK_LIST User is a member of the exclude group
3 REASON_LOCAL_PROFILE_EXISTS A local profile for this user exists on this system
4 REASON_SHORT_SID Not an appropriate user type
5 REASON_UNSET Reason initialized to empty state
6 REASON_COMPONENT_NOT_ENABLED Component isn't enabled in product key (legacy)
7 REASON_WINDOWS_TEMP_PROFILE Profile is a Windows temporary profile
8 REASON_NOT_WVD_SESSION Session isn't an Azure Virtual Desktop Session
9 REASON_FAILED_TO_LOAD_PROFILE Profile load failed

EXAMPLE: Reason codes in Profile Logs

[07:26:39.015][tid:00000d30.000044b4][INFO]             Volume name: \\?\Volume{c04ba195-522c-40b8-a894-879025d9b386}\
[07:26:39.015][tid:00000d30.000044b4][INFO]             Reason set to 0: The container is attached
[07:26:39.015][tid:00000d30.000044b4][INFO]             queryFreeDiskSpace returning after 0 milliseconds

Error Codes

When an FSLogix operation fails, a Warning or Error code is set. The Warning and Error Codes come from Windows, where FSLogix made an API call and the operation wasn't successful. These codes correspond to System Error Codes.

EXAMPLE: Warning codes in profile logs

[07:31:01.428][tid:00000d30.00004c04][WARN: 00000005]  Error removing directory: \\fslfileserver\profiles\jdoe-S-1-2-34-000000000-000000000-0000000000-00000000-test (Access is denied.)
[11:35:33.734][tid:00000d30.00004f38][WARN: 00000002]  Failed to query size of VHD(x): \\fslfileserver\profiles\jdoe-S-1-2-34-000000000-000000000-0000000000-00000000\Profile_jdoe.vhdx (The system cannot find the file specified.)

EXAMPLE: Error codes in profile logs

[07:31:01.429][tid:00000d30.00004c04][ERROR:000000b7]  No Create access: \\fslfileserver\profiles\jdoe-S-1-2-34-000000000-000000000-0000000000-00000000-test (Cannot create a file when that file already exists.)
[07:31:01.432][tid:00000d30.00004c04][ERROR:000000b7]  LoadProfile failed. Version: 2.9.8308.44092 User: jdoe. SID: S-1-2-34-000000000-000000000-0000000000-00000000. SessionId: 11. FrxStatus: 31 (Cannot create a file when that file already exists.)
[11:35:33.734][tid:00000d30.00004f38][ERROR:00000005]  VirtualDiskAPI::CreateFormattedDisk failed to create vhd(x): \\fslfileserver\profiles\jdoe-S-1-2-34-000000000-000000000-0000000000-00000000\Profile_jdoe.vhdx (Access is denied.)
[11:35:59.241][tid:00000d30.00004f38][ERROR:80070003]  Failed to save installed AppxPackages (The system cannot find the path specified.)

System Error Code troubleshooting

System Error Codes can be decoded in various ways. The following links describe the most common methods for investigating these codes and their meaning.