bkietz opened a new issue, #567: URL: https://github.com/apache/arrow-nanoarrow/issues/567
It's frequently difficult to tell where error codes were first set, even with the message in ArrowError. It'd be possible to modify NANOARROW_RETURN_NOT_OK() to append file names, line numbers, etc to an ArrowError to produce a stack trace of the error code. ArrowError would need to be expanded to hold this information, since currently its message can only be [1024 bytes](https://github.com/bkietz/arrow-nanoarrow/blob/ba985df9f9b5e1aaa402b51ab176df9079e37f65/src/nanoarrow/common/inline_types.h#L217-L222) (fine for individual methods but stack traces would exceed that easily). Either that limit could be increased or we could add an optional `void* stack_trace;` member to the struct whose lifetime is managed separately. (Or we could make ArrowError a type which manages memory but that's probably not desirable because we'd need to add `ArrowError{Init,Reset}` everywhere.) Given the added complexity, this would probably need to be an optional feature (controlled by a cmake `option()`). -- 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]
