Currently .shx file uses the same header as .shp. They should be the same, except file length field.
So, some tools cannot read it correctly:
$ ogrinfo test.shp
ERROR 4: Failed to read all values for 3 records in .shx file.
ERROR 4: Failed to read all values for 3 records in .shx file.
FAILURE:
Unable to open datasource `test.shp' with the following drivers.
Currently .shx file uses the same header as .shp. They should be the same, except file length field.
So, some tools cannot read it correctly: