FIX: Cannot use R functions to import data when data frame is larger than 4 GB in Microsoft R Server

Symptoms

Assume that you use the Microsoft R to import data from a source into a data frame. If the size of the resultant data frame is larger than 4 GB, the operation fails.

The following is a short list of known failed Rx functions. Other Rx and Open Source functions may also be affected.

  • rxImport()

  • rxDataStep()

  • RxXdfData()

If you receive an error message that resembles the following, you can apply this patch:

Error in doTryCatch(return(expr), name, parentenv, handler) :
message header: expected <size of data frame> got


Resolution

Download information

For Windows:

Download Revolution Analytics 7.4.1 - Download link

Download Microsoft R Server 8.0.0 - Download link

Download Microsoft R Server 8.0.3 - Download link

For Linux:

Download Revolution Analytics 7.4.1 - Download link

Download Microsoft R Server 8.0.0 - Download link

Download Microsoft R Server 8.0.5 - Download link

To resolve this issue, follow the instructions below to apply the fix.

Required files:

  1. RevoScaleR_8.0.X.tar.gz (Linux) or RevoScaleR_8.0.X.zip (Microsoft), where X = the version number of Microsoft R Server (MRS) installed on the system to patch.

  2. libRxLink.so.2 (Linux) or RxLink.dll (Microsoft, should be inside the .zip file)

Note: Microsoft Windows/Server users must add R to their PATH variable to run the following commands.

Note: In all instructions, version is listed as 8.0.X, replace X with your version number.

  1. Put the required files in a temp directory, where the user who applies the patch has read/write permissions.

  2. Launch a Command Line Interface with elevated permissions.

    1. In Microsoft, launch an instance of Command Prompt as an administrator by right-clicking the Command Prompt icon and clicking Run as administrator.

    2. In Linux, launch a terminal, and then use sudo to execute commands.

  3. Uninstall the current RevoScaleR package.

    1. In Microsoft, run the following command: R CMD REMOVE "RevoScaleR"

    2. In Linux, run the following command: sudo R CMD REMOVE "RevoScaleR"

  4. Stop the BxlServer process and all other R processes.

    1. In Microsoft, use Task Manager to stop BxlServer and Rterm.

    2. In Linux, either use "kill" or top to stop BxlServer and R.

  5. Install the new package from the RevoScaleR archive.

    1. In Microsoft, run the command: R CMD INSTALL --no-test-load <path/to/dir>/RevoScaleR_8.0.X.zip

    2. In Linux, run the command: sudo R CMD INSTALL --no-test-load <path/to/dir> /RevoScaleR_8.0.X.tar.gz

  6. Copy the RxLink Library file to your RevoScaleR directory.

    1. In Microsoft, use File Explorer to verify that RxLib.dll is present in “<path to R Home>/RevoScaleR/rxLibs/x64/ “ if it isn't copy the file RxLib.dll from inside the .zip file to the <path to R Home>/RevoScaleR/rxLibs/x64/ directory. On a standard installation, this path would be as follows: C:\Program Files\Microsoft\MRO-for-RRE\8.0\R-3.2.2\library\RevoScaleR\rxLibs\x64

    2. In Linux, run the command: sudo cp <path/to/dir>/libRxLink.so.2 \ <path/to/R_dir>/library/RevoScaleR/rxLibs/x64/ where <path/to/R-dir> on a standard install would be as follows:  /usr/lib64/MRO-for-MRS-8.0.X/R-3.2.2/lib64/R

  7. Launch R, and import a Data Frame that's over 4 GB to validate that the patch is applied.

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References

Learn about the terminology that Microsoft uses to describe software updates.

Applies to

This issue occurs on the following versions of Microsoft R Server:

  • Microsoft R Server 8.0.3 on Windows

  • Microsoft R Server 8.0.5 on Linux


Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×