[pulseaudio-tickets] [Bug 49681] system.pa crashes if auth-anonymous=1 is used with module-native-protocol-tcp

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Oct 24 08:46:32 PDT 2014


https://bugs.freedesktop.org/show_bug.cgi?id=49681

--- Comment #22 from Frederic Germain <frederic.germain at gmail.com> ---
I have more information about this bug.
It happens in the SIMD function in ORC, and it's maybe specific to AMD Geode or
MMX only (no SSE/SSE2) CPUs
I have it on AMD Geode, when pulseaudio has to apply a volume to the sink.

A quickfix to it could be to launch pulseaudio with PULSE_NO_SIMD env variable
->
PULSE_NO_SIMD=1 pulseaudio --start
But then you loose the optimization you could have with MMX

I'm not sure I have time to fix the bug in ORC, but maybe there is a jedi out
there who can find the problem quickly :)

Step to reproduce on Geode platform (Debian Wheezy x86). Alsa card driver is
cs5535audio.

> gdb pulseaudio

> pacmd set-sink-volume 0 0x100 (volume is really really loud at 100% on my board)

> paplay mymusic.wav

In gdb ->

Program received signal SIGILL, Illegal instruction.
[Switching to Thread 0xb3235b70 (LWP 3239)]
0xae128031 in ?? ()
(gdb) bt
#0  0xae128031 in ?? ()
#1  0x00003d3c in ?? ()

> cat /proc/$(pidof pulseaudio)/maps  |grep orc
ae118000-ae128000 rw-s 00000000 08:01 56769      /tmp/orcexec.Wk0lzw (deleted)
ae128000-ae138000 r-xs 00000000 08:01 56769      /tmp/orcexec.Wk0lzw (deleted)

It seems gdb cannot rewind stack of orc functions on this architecture, that's
pretty sad.

(gdb) disas /r 0xae128000,0xae138000
Dump of assembler code from 0xae128000 to 0xae138000:
   0xae128000:  55      push   %ebp
   0xae128001:  8b 6c 24 08     mov    0x8(%esp),%ebp
   0xae128005:  0f 6e 85 74 01 00 00    movd   0x174(%ebp),%mm0
   0xae12800c:  0f c4 85 94 01 00 00 02 pinsrw $0x2,0x194(%ebp),%mm0
   0xae128014:  0f c4 85 96 01 00 00 03 pinsrw $0x3,0x196(%ebp),%mm0
   0xae12801c:  0f ef c9        pxor   %mm1,%mm1
   0xae12801f:  8b 4d 04        mov    0x4(%ebp),%ecx
   0xae128022:  89 4d 0c        mov    %ecx,0xc(%ebp)
   0xae128025:  8b 45 14        mov    0x14(%ebp),%eax
   0xae128028:  83 7d 0c 00     cmpl   $0x0,0xc(%ebp)
   0xae12802c:  74 54   je     0xae128082
   0xae12802e:  8b 55 0c        mov    0xc(%ebp),%edx
=> 0xae128031:  66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00    data32 data32
data32 data32 data32 nopw %cs:0x0(%eax,%eax,1)
   0xae128040:  0f 6e 10        movd   (%eax),%mm2
   0xae128043:  0f ef db        pxor   %mm3,%mm3
   0xae128046:  0f 61 d3        punpcklwd %mm3,%mm2
   0xae128049:  0f 6f d9        movq   %mm1,%mm3
   0xae12804c:  0f 65 da        pcmpgtw %mm2,%mm3
   0xae12804f:  0f db d8        pand   %mm0,%mm3
   0xae128052:  0f e4 d0        pmulhuw %mm0,%mm2
   0xae128055:  0f fa d3        psubd  %mm3,%mm2
   0xae128058:  0f 6f d8        movq   %mm0,%mm3
   0xae12805b:  0f 72 e3 10     psrad  $0x10,%mm3
   0xae12805f:  0f 6b db        packssdw %mm3,%mm3
   0xae128062:  0f 6e 20        movd   (%eax),%mm4
   0xae128065:  0f 6f ec        movq   %mm4,%mm5
   0xae128068:  0f e5 eb        pmulhw %mm3,%mm5
   0xae12806b:  0f d5 e3        pmullw %mm3,%mm4
   0xae12806e:  0f 61 e5        punpcklwd %mm5,%mm4
   0xae128071:  0f fe d4        paddd  %mm4,%mm2
   0xae128074:  0f 6b d2        packssdw %mm2,%mm2
---Type <return> to continue, or q <return> to quit---q
Quit

cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 5
model           : 10
model name      : Geode(TM) Integrated Processor by AMD PCS
stepping        : 2
microcode       : 0x8b
cpu MHz         : 498.053
cache size      : 128 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext
3dnowext 3dnow
bogomips        : 996.10
clflush size    : 32
cache_alignment : 32
address sizes   : 32 bits physical, 32 bits virtual
power management:

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pulseaudio-bugs/attachments/20141024/5fbb5f1d/attachment.html>


More information about the pulseaudio-bugs mailing list