[issue2082] Crash in FFT-SSE code when playing mmst URI

2010-07-20 Thread Michael Niedermayer

Michael Niedermayer michae...@gmx.at added the comment:

On Wed, Jul 14, 2010 at 11:07:09PM +, Ronald S. Bultje wrote:
 A make clean fixed it.
 
 --
 status: new - closed
 substatus: new - invalid

Do we consider bugs in the compilation dependancies to be invalid?

[...]


FFmpeg issue tracker iss...@roundup.ffmpeg.org
https://roundup.ffmpeg.org/issue2082



[issue2082] Crash in FFT-SSE code when playing mmst URI

2010-07-20 Thread Mans Rullgard

Mans Rullgard m...@mansr.com added the comment:

Michael Niedermayer iss...@roundup.ffmpeg.org writes:

 On Wed, Jul 14, 2010 at 11:07:09PM +, Ronald S. Bultje wrote:
 A make clean fixed it.
 
 --
 status: new - closed
 substatus: new - invalid

 Do we consider bugs in the compilation dependancies to be invalid?

Unless someone provides me with exact steps to reproduce the problem,
I will not look at it.


FFmpeg issue tracker iss...@roundup.ffmpeg.org
https://roundup.ffmpeg.org/issue2082



[issue2082] Crash in FFT-SSE code when playing mmst URI

2010-07-14 Thread Ronald S. Bultje

Ronald S. Bultje rsbul...@gmail.com added the comment:

It crashes (also in the C version) in this piece of code:

__asm__ volatile(
1: \n
CMUL(%0, %%xmm0, %%xmm1)
CMUL(%1, %%xmm4, %%xmm5)

Particularly, the second mulps in CMUL. That's a multiply with variables 
in s-tsin/s-tcos, suggesting these aren't properly assigned.


(gdb) print tcos
$1 = value temporarily unavailable, due to optimizations
(gdb) print s
$2 = (FFTContext *) 0x2de2490
(gdb) print *s
$3 = {
  nbits = 10, 
  inverse = 1, 
  revtab = 0x1842200, 
  tmp_buf = 0x183ca00, 
  mdct_size = 0, 
  mdct_bits = 0, 
  tcos = 0x1000, 
  tsin = 0xc, 
  fft_permute = 0x182a800, 
  fft_calc = 0x182b800, 
  imdct_calc = 0x45b6f0 ff_imdct_calc_sse, 
  imdct_half = 0x45b3f0 ff_imdct_half_sse, 
  mdct_calc = 0x225730 ff_mdct_calc_c, 
  permutation = 0
}
(gdb) print *s-tcos
$4 = -1.58164644e+38
(gdb) print *s-tsin 
Cannot access memory at address 0xc
(gdb) 

Where are these allocated, and by who? It looks like they're broke here.


FFmpeg issue tracker iss...@roundup.ffmpeg.org
https://roundup.ffmpeg.org/issue2082



[issue2082] Crash in FFT-SSE code when playing mmst URI

2010-07-14 Thread Ronald S. Bultje

Ronald S. Bultje rsbul...@gmail.com added the comment:

I also think wmadec.c never calls ff_imdct_init(), which is probably 
related to all this?


FFmpeg issue tracker iss...@roundup.ffmpeg.org
https://roundup.ffmpeg.org/issue2082



[issue2082] Crash in FFT-SSE code when playing mmst URI

2010-07-14 Thread Ronald S. Bultje

Ronald S. Bultje rsbul...@gmail.com added the comment:

Valgrind suggests something else. First error:

==70074== Invalid write of size 4
==70074==at 0x2F285D: ff_rdft_init (in ./ffplay)
==70074==  Address 0x13f6ee28 is 8 bytes after a block of size 80 
alloc'd
==70074==at 0xB5042A: memalign (vg_replace_malloc.c:532)
==70074==by 0xB50475: posix_memalign (vg_replace_malloc.c:660)
==70074==by 0x4B2510: av_malloc (in ./ffplay)

Indeed, that code writes into a struct RDFTContext, sizeof() which is 
80, at position 0x58 (i.e. 88-92):

0x002f2856 ff_rdft_init+326:  inc%esi
0x002f2857 ff_rdft_init+327:  cmp0x20(%esp),%esi
0x002f285b ff_rdft_init+331:  jne0x2f2830 ff_rdft_init+288
0x002f285d ff_rdft_init+333:  movl   $0x2f2870,0x58(%ebp)
0x002f2864 ff_rdft_init+340:  xor%eax,%eax
0x002f2866 ff_rdft_init+342:  jmp0x2f2793 ff_rdft_init+131

I have absolutely no idea what this means but something seems 
miscompiled?


FFmpeg issue tracker iss...@roundup.ffmpeg.org
https://roundup.ffmpeg.org/issue2082



[issue2082] Crash in FFT-SSE code when playing mmst URI

2010-07-14 Thread Ronald S. Bultje

Ronald S. Bultje rsbul...@gmail.com added the comment:

A make clean fixed it.

--
status: new - closed
substatus: new - invalid


FFmpeg issue tracker iss...@roundup.ffmpeg.org
https://roundup.ffmpeg.org/issue2082