Environment
Gemfire Native Client Versions 7.0.1.x to 7.0.2.x
Windows Operating System
Symptom
This document provides a means to avoid a [STATUS_IN_PAGE_ERROR] error crash issue in Gemfire Native Client Application.
A GemFire Native Client Application starting from a network share folder may crash with the following exception in the GemFire client log:
[error 2014/10/01 10:35:00.988346 JST ADNF37582J:8080 8224] Debug event STATUS_IN_PAGE_ERROR occurred at 6A02E8D1 in process with pid 8080 [error 2014/10/01 10:35:01.003946 JST ADNF37582J:8080 8224] Generating debug dump in file C:\Program Files\temp\Log\Conn\_Log-1403055301-0.dmp
Dump analysis further reveals that the application crashed with ExceptionCode: c0000006 (In-page I/O error).
A C0000006 error is a networking or network connectivity error. Specifically, a C0000006 error is an in page I/O error. This error occurs when an application loses its underlying network connectivity.
When an application is started from a network share, Windows loads and runs the EXE image from a remote location. Thus, any connectivity problems with the network share folder (such as network going down) can cause the virtual memory manager to be unable to find a required memory page for an address in the swapfile. This will cause it to throw a C0000006 exception and crash the program image.
The easy way to avoid this issue is to start the application from local drive instead of a remote location.
If, however, you must start the native client application from a remote folder, there are options available when compiling that can prevent this issue from occurring: