paleolimbot commented on issue #662:
URL: 
https://github.com/apache/arrow-nanoarrow/issues/662#issuecomment-2452251134

   I was going to try to reproduce this but have discovered that a driver 
update seems to have borked any ability to do GPU things today 
:slightly_frowning_face:
   
   I see that you're running clang-tidy in release mode, which is probably why 
none of my updates have helped:
   
   ```shell
   cmake -S cpp -B cpp/build -DCMAKE_BUILD_TYPE=Release -DCUDF_CLANG_TIDY=ON 
-GNinja
   ```
   
   This doesn't have to be the permanent fix, but my working hypothesis is that 
adding `-DNANOARROW_DEBUG=ON` will silence the errors that you're seeing.
   
   In general, I think the issue is that we maintain certain invariants in the 
C runtime that aren't visible in the headers. We communicate that using DCHECK, 
but if you don't compile it with the debug checks, there's no way for 
clang-tidy to know about those invariants.
   
   In particular, the invariant I'm talking about is that if you reserve with 
`additional_bits/bytes > 0`, then the buffer's data pointer will never be null. 
We confirm that internally using debug checks and unit testing. Another 
invariant that I think that clang-tidy doesn't know about in your internal code 
is the relationship between `size()` and `empty()` (which controls if you do or 
don't reserve).


-- 
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