[ 
https://issues.apache.org/jira/browse/ARROW-187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15271904#comment-15271904
 ] 

Micah Kornfield commented on ARROW-187:
---------------------------------------

I don't think the allocations are expensive generally (10s of bytes) but if we 
guarantee exception safety then we should avoid them.  I say "should" because 
it seems very likely that if the allocations on these small amounts fail, 
something in the system would likely fail soon afterwards anyways.  

But at least it wouldn't be Arrow causing the segfault.   

I don't have much experience here either.  Most of my C++ work has been done 
assuming exceptions.   I was going to send out an e-mail to the mailing list to 
see if I could get more of a response.

> [C++] Decide on how pedantic we want to be about exceptions
> -----------------------------------------------------------
>
>                 Key: ARROW-187
>                 URL: https://issues.apache.org/jira/browse/ARROW-187
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>            Reporter: Micah Kornfield
>
> We currently have code sprinkled around constructors that can technically 
> fail because we either do a memcpy/allocation via vector copy constructor (we 
> might be using a move constructor in places) and make_shared<>.
> These are very small memory allocations but they can throw std::bad_alloc.
> Technically, we would need to convert these to use Init or static factories.
> (types.h is one place to look)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to