wjones127 commented on pull request #12216:
URL: https://github.com/apache/arrow/pull/12216#issuecomment-1023657080


   This issue seems to be related to the memory pool. I've been using jemalloc 
for these tests thus far. We seem to be getting different output allocated for 
`null_bitmap` on these lines:
   
   
https://github.com/apache/arrow/blob/20e9e935899c8e11439ee16fb41d24190f2fabd6/cpp/src/parquet/arrow/reader.cc#L766-L768
   
   On a valid read, it allocates:
   
   ```
   print null_bitmap
   (length 320 bytes)
   (uint8_t *) $18 = 0x00000001016a83c0 
"\xbc\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\
 
xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xbc"
   ```
   
   On an invalid read, there is data from matching the previous bitmap:
   
   ```
   print null_bitmap
   (length 640 bytes)
   (uint8_t *) $46 = 0x00000001016a8280 
"\xbc\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\
 
xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xa5\xbc\xfb\xaa\xf5U\xb6\xee\xb5u\xfb\xaa\xedU\xednuw\xfb\xaa\xf9U\xdb\xee\xd5v\xfb\xaa\xf5U\xb6\xee\xb5u\xfb\xaa\xedU\xednuw\xfb\xaa\xf9U\xdb\xee\xd5v\xfb\xaa\xf5U\xb6\xee\xb5u\xfb\xaa\xedU\xednuw\xfb\xaa\xf9U\xdb\xee\xd5v\xfb\xaa\xf5U\xb6\xee\xb5u\xfb\xaa\xedU\xednuw\xfb\xaa\xf9U\xdb\xee\xd5v\xfb\xaa\xf5U\xb6\xee\xb5u\xfb\xaa\xedU\xednuw\xfb\xaa\xf9U\xdb\xee\xd5v\xfb\xaa\xf5U\xb6\xee\xb5u\xfb\xaa\xedU\xednuw\xfb\xaa\xf9U\xdb\xee\xd5v\xfb\xaa\xf5U\xb6\xee\xb5u\xfb\xaa\xedU\xednuw\xfb\xaa\xf9U\xdb\xee\xd5v\xfb\xaa\xf5U\xb6\xee\xb5u\xfb\xaa\xedU\xednuw\xfb\xaa\xf9U\xdb\xee\xd5v\xfb\xaa\xf5U\xb6\xee\xb5u\xfb\xaa\xedU\xednuw\xfb\xaa\xf9U\xdb\xee\xd5v\xfb\xaa\xf5U\xb6\xee\xb5u
 
\xfb\xaa\xedU\xednuw\xfb\xaa\xf9U\xdb\xee\xd5v\xfb\xaa\xf5U\xb6\xee\xb5u\xfb\xaa\xedU\xednuw\xfb\xaa\xf9U\xdb\xee\xd5v\xfb\xaa\xf5U\xb6\xee\xb5u\xfb\xaa\xedU\xednuw\xfb\xaa\xf9U\xdb\xee\xd5v\xfb\xaa\xf5U\xb6\xee\xb5u\xfb\xaa\xedU\xednuw\xfb\xaa\xf9U\xdb\xee\xd5v\xfb\xaa\xf5U\xb6\xee\xb5u"
   ```
   
   
   An issue that I'm realizing is probably related: I couldn't get this test to 
run using mimalloc, because it would error with:
   
   ```
   mimalloc: error: buffer overflow in heap block 0x200000a0600 of size 320: 
write after 320 bytes
   ```
   
   If I ran the debugger with mimalloc, I could actually run through the test 
with no errors or invalid data, as long as I waiting 1 - 2 seconds between each 
read iteration.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to