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]

Reply via email to