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]
