[Speex-dev] Re: sigsegv in _mm_load_ups (linux/gcc 3.x)

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Thu Jan 5 21:07:09 PST 2006


That's definitely strange and I've never encountered that. Normally, the
only way for _mm_load_ups to generate a segfault is for the input to be
invalid memory, in which case the C version should crash too. I suspect
the compiler (or something else) may be hiding the real problem. Can you
get a debugger and see exactly what assembly statement is causing the
crash and what the operands are?

	Jean-Marc

> So, has anyone else seen this issue?
> 
> I am working off svn- the crash is always in the same spot,
> in the decoder, in nb_celp,  in  both filter_mem2
> (if st->lpc_enh_enabled == 1) and iir_mem2 (if == 0)
> 
> The function in question is filter_mem2_10 or
> iir_mem2_10
> 
> _mm_loadu_ps is an unaligned load and all of the
> data seems to be ok, and no sigill- get a sigsegv.
> 
> Same code works fine on windoze.  CPU in question
> is a 2.8 ghz hyperthread- xmm/SSE supported.  C
> versions of same functions solve the issue-  same
> problem with multiple 3.3, 3.4 gcc versions.
> 
> Thanks!
> 
> Tom
> ______________________________________________
> 
> Tom Harper
> Lead Software Engineer
> SightSpeed - <http://www.sightspeed.com/>http://www.sightspeed.com/
> 
> 918 Parker St, Suite A14
> Berkeley, CA 94710
> 
> Email: tharper at sightspeed.com
> Phone: 510-665-2920
> Fax: 510-649-9569
> My SightSpeed Video Link: http://tom.sightspeed.com 
> 
> 


More information about the Speex-dev mailing list