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]
