Using DIRECTORY with ff_:queue crashes with Remote Desktop Service and User Profile Disks

Tags: #<Tag:0x00007f46db0898e0>


I ran into a very interesting bug using DIRECTORY.
In Windows Server 2012 using Remote Desktop Services you can setup what is called User Profile Disks.
This creates a virtual disk on the server for the each users’ specific folders like temp, appdata, documents, etc.
These virtual disks can be stored in a shared location so if the user connects to any of a group of remote desktop servers they will get their user profile. This is supposed to be a better solution than roaming profiles.
The server “merges” the users’ profile into the C: drive so it looks just like a normal Documents folder, etc when they connect.

Now the Clarion part. Clarion has 2 forms of DIRECTORY each using a different type of queue. One using ff_:Queue and the other using File:Queue. The File:Queue variant is newer and supports getting the long file name for the files in the directory.
If you use the older ff_:Queue form of DIRECTORY your application will crash if the RDS server is setup with user profile disk and the folder you are using DIRECTORY on is in the user profile folders and there is at least one file in the folder.
Believe me, this took a little bit of time to track down. :smile:

The solution is to make sure all of your calls to DIRECTORY use the file:Queue variant.
Tested with Clarion 6.3 to C10 gold.

Program crashes only under terminal services

Good to know! Thank you for share the tip Rick


Reported on PTSS # 41771.
Response indicates that DIRECTORY using ff_queue is deprecated.