Opened 14 years ago

Closed 13 years ago

Last modified 13 years ago

#148 closed defect (fixed)

mplayer crashes when playing a list of WMA files

Reported by: dick221z@… Owned by: r_togni@…
Priority: normal Component: ad
Version: 1.0pre5 Severity: major
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: Analyzed by developer:

Description

MPlayer-1.0pre5 crashes when playing a list of .wma files. It always crashes at
the start of the ninth file in the list. (mplayer -playlist foo).

Opening audio decoder: [dmo] Win32/DMO decoders
======= WAVE Format =======
Format Tag: 355 (0x163)
Channels: 2
Samplerate: 44100
avg byte/sec: 112864
Block align: 13375
bits/sample: 16
cbSize: 18
Unknown extra header dump: [10] [0] [3] [0] [0] [0] [0] [0] [0] [0] [0] [0] [0]
[0] [21] [1] [0] [0]
===========================
======= WAVE Format =======
Format Tag: 1 (0x1)
Channels: 2
Samplerate: 44100
avg byte/sec: 176400
Block align: 4
bits/sample: 16
cbSize: 0
===========================
External func OLEAUT32.dll:7
External func OLEAUT32.dll:8

MPlayer interrupted by signal 11 in module: init_audio_codec

  • MPlayer crashed by bad usage of CPU/FPU/RAM. Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and disassembly. Details in DOCS/HTML/en/bugreports_what.html#bugreports_crash.
  • MPlayer crashed. This shouldn't happen. It can be a bug in the MPlayer code _or_ in your drivers _or_ in your gcc version. If you think it's MPlayer's fault, please read DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and won't help unless you provide this information when reporting a possible bug.

Segmentation fault

==================================
I've traced it down to the call (line 73 in dmo.c)

hr = factory->vt->CreateInstance?(factory, 0, &IID_IUnknown, (void)&object);

stack trace before the crash
================================
#0 DMO_FilterCreate (dllname=0x0, id=0x0, in_fmt=0x8637a0, out_fmt=0x0)

at dmo.c:73

#1 0x081295b7 in DMO_AudioDecoder_Open (dllname=0x0, guid=0x0, wf=0x84c0008,

out_channels=1515803904) at DMO_AudioDecoder.c:95

#2 0x080b7b04 in preinit (sh_audio=0x84e46d8) at ad_dmo.c:38
#3 0x080b3e2c in init_audio_codec (sh_audio=0x84e46d8) at dec_audio.c:71
#4 0x080b41c3 in init_audio (sh_audio=0x84e46d8, codecname=0x0, afm=0x0,

status=1) at dec_audio.c:191

#5 0x080b4369 in init_best_audio_codec (sh_audio=0x84e46d8,

audio_codec_list=0xfeffe4a4, audio_fm_list=0x0) at dec_audio.c:236

#6 0x08070fe5 in main (argc=5, argv=0xfefff8f4) at mplayer.c:1676

stack trace after the crash
============================
Program received signal SIGSEGV, Segmentation fault.
0x004118c7 in krb5_sname_to_principal () from /usr/lib/libkrb5.so.3

#0 0x004118c7 in krb5_sname_to_principal () from /usr/lib/libkrb5.so.3
#1 0x084c04e0 in ?? ()
#2 0x084c04c8 in ?? ()
#3 0x08352776 in CLSID_DivxDecompressorCF ()
#4 0x00411ac3 in krb5_sname_to_principal () from /usr/lib/libkrb5.so.3
#5 0x00000000 in ?? ()

Change History (5)

comment:1 Changed 14 years ago by reimar

Can you try a later version that pre5 (that means CVS). There were some problems
with the loader that could cause general memory corruption afaik.
btw.: Why does your MPlayer file link with libkrb5.so.3 ? At least according to
ldd mine doesn't...

comment:2 Changed 14 years ago by dick221z@…

(In reply to comment #1)

Can you try a later version that pre5 (that means CVS). There were some problems
with the loader that could cause general memory corruption afaik.
btw.: Why does your MPlayer file link with libkrb5.so.3 ? At least according to
ldd mine doesn't...

The problem still occurs witn the source from CVS dated 6 Dec.

I don't know why libkrb is dragged in. I simply run configure (no args) and
make. It might possibly linked in by the smbclient lib. I try to look in to it
further.

comment:3 Changed 14 years ago by dick221z@…

(In reply to comment #2)

(In reply to comment #1)

Can you try a later version that pre5 (that means CVS). There were some problems
with the loader that could cause general memory corruption afaik.
btw.: Why does your MPlayer file link with libkrb5.so.3 ? At least according to
ldd mine doesn't...

The problem still occurs witn the source from CVS dated 6 Dec.

I don't know why libkrb is dragged in. I simply run configure (no args) and
make. It might possibly linked in by the smbclient lib. I try to look in to it
further.

The Krb libs are being linked in by the SmbClient? lib. Building mplayer with out
SMB support doesn't fix the problem. The stack trace after it crashes is mostly 0's.

I have made a modification so that it does not unload/reload the library if the
next song uses the same DLL as the previous. This seems to work, so it seem that
the problem is loading/reloading the DLL.

I have also tried to have the player "pre-load" the DLL so the the library is
never really unloaded at the end of the song. The player still crashes. This
makes me believe the problem is with the loading of the DLL.

comment:4 Changed 13 years ago by diego@…

  • Component changed from ao-plugins to ad
  • Owner changed from alex@… to r_togni@…

comment:5 Changed 13 years ago by reimar

  • Resolution set to fixed
  • Status changed from new to closed

I have no such problems with current SVN, and neither with ffmpeg nor binary
codecs, so assuming it was fixed.

Note: See TracTickets for help on using tickets.