shared file reduction bug in current modules
Currently, the shared file reduction code for all modules qsorts the array of I/O records to get shared records in a contiguous extent to run the reduction on. The issue is that, if the records are registered in different orders on different processes (e.g., by opening file records in different orders on different processes), each process could have inconsistent ordering of the records. This would cause the reduction to give incorrect results as the reduction would mix file records from different files.
The workaround is to continue sorting s.t. shared records are stored in a contiguous region, but to use the Darshan record identifiers to further sort the shared file region in a deterministic way (i.e., ascending or descending order).
Reported by Glenn Lockwood.