Closed
Description
Platforms: Windows and Linux
Everything is fine as long as I use 10.7.0 or older. The problem starts when I go to 10.8.0 or newer.
I created a test project that reproduces the issue. It
- Provides two file, one UTF-8 and one random binary data
- First for the text file: creates a read stream and a write stream to copy the UTF-8 file
- Next creates a read stream and a write stream to copy the BINARY file
- Calculates SHA-256 during the read stream and during the write stream
- For visual inspection shows the beginning of each chunk read from the read stream (converted to text; the text and the binary data are easy to tell apart and the output of the binary is sanitized to not mess up the screen)
- The test code has Flow type annotations &mash; remove them if you don't want them (you can "npm install flow-bin flow-remove-types" for the latest flow version, and the 2nd package installs "flow-node" which is a frontend to node that strips the types when you run JS files through it instead of directly through node)
What you will see is that the write stream for the binary file gets the last chunk from the previous text file's read stream.
The read stream SHA-256 still is good, however, but the write stream's SHA-256 is not. The problem only seems to happen with binary files.
Test project output:
TEXT FILE TEST
TEXT CHUNK 5.3 Somatosensory Neurons have Receptive FieldsEach subcortical somatose... 65248
TEXT CHUNK ed the neuron’sreceptive field (Figure 5.3). The neuron’s receptive field ... 65242
TEXT CHUNK ed/represented. The receptive fields of neuronsinnervating/representing th... 4510
Original text file hash: 9101a84eb2320001628926e3c4decd09eff6680809e95a920db4e18afbcf0201
Read file calculated hash: 9101a84eb2320001628926e3c4decd09eff6680809e95a920db4e18afbcf0201
Write file calculated hash: 9101a84eb2320001628926e3c4decd09eff6680809e95a920db4e18afbcf0201
BINARY FILE TEST
BINARY CHUNK ed/represented. The receptive fields of neuronsinnervating/representing th.. 61008
BINARY CHUNK m5^gY5y"$ch86m&KmO}bD,P}r"sySZ6... 65536
BINARY CHUNK $J|0sd\hsrdh9Tn"?x<0ruZ3KD... 65536
BINARY CHUNK !>B2}REF7VEdK%Er(*$RuG"U$... 65536
...(a few more binary chunks)
BINARY CHUNK 1NI+`9sHRT)r.V%C&*"#*F_6HKw`... 47536
Original binary file hash: ee1758d957bac3706b6a0ad450ffaeab34d55d5c6d5988a8bef7ce72c8a7db85
Read file calculated hash: ee1758d957bac3706b6a0ad450ffaeab34d55d5c6d5988a8bef7ce72c8a7db85
Write file calculated hash: a9d6ee259f8d6315e5e59db7920d6389d6ebd60618d4a49a8550f8b3e340f06e