Hi Radu, 

The problem was that the vector was expected to have cacheline size aligned 
data, but the elements in the vector were not a multiple of a cache line (size 
was 54). As a result, the first element was aligned and the rest were not. The 
vector infra just allocates an aligned chunk of memory, it does not guarantee 
anything with respect to individual element placement.

Hope it helps!

Cheers,
Florin

> On Apr 26, 2018, at 1:53 AM, Nicolau, Radu <radu.nico...@intel.com> wrote:
> 
> Hi Florin,
>
> Thanks! The patch fixes the issue.
> Any idea why is it happening?
>
> Regards,
> Radu
>   <>
>  <>From: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> 
> [mailto:vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>] On Behalf Of Florin 
> Coras
> Sent: Tuesday, April 24, 2018 11:25 PM
> To: Nicolau, Radu <radu.nico...@intel.com <mailto:radu.nico...@intel.com>>
> Cc: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>
> Subject: Re: [vpp-dev] segfault due to movaps unaligned access
>
> Hi Radu, 
>
> Making the crypto_worker_main_t a full cache line in size (see patch [1]) 
> seems to solve the issue. Could you confirm?
>
> Florin
>
> [1] https://gerrit.fd.io/r/#/c/12086/ <https://gerrit.fd.io/r/#/c/12086/>
> 
> 
> On Apr 24, 2018, at 9:23 AM, Radu Nicolau <radu.nico...@intel.com 
> <mailto:radu.nico...@intel.com>> wrote:
>
> Hello all,
>
> We’re seeing a weird issue, that is a segfault that looks to be caused by a 
> movaps instruction that is trying to access an address that is not 16 byte 
> aligned.
> The call originates from a vec_validate_init_empty_aligned that has the 
> argument aligned to 16 bytes.
> I have seen something like this in the past, we couldn’t find a root cause 
> and considered it a GCC bug (version 5 then), but now it pops up again on 
> version 7, so probably it isn’t.
> Any idea? A snapshot of the gdb screen below.
>
> gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
> https://postimg.cc/image/9jy4p38at/ <https://postimg.cc/image/9jy4p38at/>
>
> thanks and I will appreciate any help,
> Radu
>
> 

Reply via email to