mplayer still crashes with -fs
So for a long time I've seen mplayer crash any time I run it with "-fs". It used to only crash about 1/4 of the time, usually when starting a second or third movie listed on the command-line. The problem has gotten worse in recent CVS compiles, for the past month or so any use of "-fs" on the command line causes an instant crash. Pressing "f" after the movie is playing never crashes however. To debug this I had to do a fair amount of work since mplayer and xlibs conspire to make debugging such things hard. I added a call to XSynchronize(mDisplay,True) early in vo_init. Otherwise the error occurs too late whenever the X error comes back. It would be nice if mplayer supported the standard Xt option -synchronize. I also had to link against debugging versions of the xlibs otherwise the gdb backtrace doesn't seem to be able to dig its way out of the xlib calls into mplayer. Having done all that the backtrace from a breakpoint on abort() looks like: Starting program: /home/usr_local/src/mplayer/main/mplayer -ao null -zoom -vo xv -fs ~/theSpeech_hiband.wmv VO: [xv] 320x240 => 320x240 Planar YV12 [fs] [zoom] X11 error: BadWindow (invalid Window parameter) [Switching to Thread 1086747552 (LWP 15630)] Breakpoint 1, 0x408f1430 in abort () from /lib/tls/libc.so.6 #0 0x408f1430 in abort () from /lib/tls/libc.so.6 #1 0x080cca7d in x11_errorhandler (display=0x860ca70, event=0xbfffdbc0) at x11_common.c:156 #2 0x40696354 in _XError (dpy=0x860ca70, rep=0xbfffdc90) at XlibInt.c:2898 #3 0x406948b3 in _XReply (dpy=0x860ca70, rep=0xbfffdc90, extra=0, discard=1) at XlibInt.c:1787 #4 0x4068fb44 in XSync (dpy=0x860ca70, discard=0) at Sync.c:45 #5 0x4068fc05 in _XSyncFunction (dpy=0x6) at Synchro.c:34 #6 0x40684275 in XMapRaised (dpy=0x860ca70, w=54525955) at MapRaised.c:49 #7 0x080cee20 in vo_x11_fullscreen () at x11_common.c:1068 #8 0x080d3c46 in config (width=320, height=240, d_width=320, d_height=240, flags=5, title=0x83cc3bb "MPlayer", format=842094169) at vo_xv.c:258 #9 0x0811b1f0 in config () #10 0x0810bf11 in mpcodecs_config_vo () #11 0x0811344c in init () #12 0x0810b295 in init_video () #13 0x0810b45d in init_best_video_codec () #14 0x0809ac34 in main () (gdb) I have a few hunches. 1) I have multiple screens (without xinerama). Is it possible the value returned by DefaultScreen() or RootWindow() isn't the proper one for the window that's created later by vo_x11_create_smooth_window() ? I haven't spotted any evidence this is the case however. B) I have an mga card but I'm running 2.6.1 where the driver for the mga_vid device doesn't seem to compile. So it might be starting up the vo_mga driver initializing a few things, then failing back to the xv driver and reinitializing things, perhaps getting confused. However the backtrace above is with "-vo xv" so that isn't happening here. The messages printed by the run above with the backtrace cut off, because it's above: Starting program: /home/usr_local/src/mplayer/main/mplayer -ao null -zoom -vo xv -fs ~/theSpeech_hiband.wmv Breakpoint 1 at 0x8095db0 [New Thread 1086747552 (LWP 15630)] Breakpoint 1 at 0x408f1430 Using GNU internationalization Original domain: messages Original dirname: /usr/share/locale Current domain: mplayer Current dirname: /usr/local/share/locale MPlayer dev-CVS-040203-12:33-3.3.3 (C) 2000-2004 MPlayer Team CPU: Intel Pentium 4/Xeon/Celeron Foster 2800 MHz (Family: 8, Stepping: 9) Detected cache-line size is 64 bytes CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2 Reading config file /usr/local/etc/mplayer/mplayer.conf: No such file or directory Reading config file /home/stark/.mplayer/config Reading /home/stark/.mplayer/codecs.conf: Can't open '/home/stark/.mplayer/codecs.conf': No such file or directory Reading /usr/local/etc/mplayer/codecs.conf: Can't open '/usr/local/etc/mplayer/codecs.conf': No such file or directory Using built-in default codecs.conf. Font /home/stark/.mplayer/font/font.desc loaded successfully! (206 chars) Using Linux hardware RTC timing (1024Hz). Input config file /home/stark/.mplayer/input.conf parsed: 0 binds Setting up LIRC support... mplayer: could not connect to socket mplayer: Connection refused Failed to open LIRC support. You will not be able to use your remote control. Playing /home/stark/theSpeech_hiband.wmv. ASF file format detected. ============ ASF Stream group == START === object size = 38 stream count=[0x2][2] stream id=[0x1][1] max bitrate=[0xfd7b][64891] stream id=[0x2][2] max bitrate=[0x6f8ff][456959] ============ ASF Stream group == END === VIDEO: [WMV2] 320x240 24bpp ========================================================================== Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders AUDIO: 44100 Hz, 2 ch, 16 bit (0x10), ratio: 8005->176400 (64.0 kbit) Selected audio codec: [ffwmav2] afm:ffmpeg (DivX audio v2 (ffmpeg)) ========================================================================== vo: X11 running at 1600x1200 with depth 16 and 16 bpp (":1.0" => local display) ========================================================================== Opening video decoder: [dshow] DirectShow video codecs FATAL releasing corrupted memory! 0x8610788 0x0 (12) Decoder supports the following YUV formats: YUY2 IYUV UYVY YV12 YVYU I420 YVU9 Decoder is capable of YUV output (flags 0x7f) VDec: vo config request - 320 x 240 (preferred csp: Packed YUY2) [PP] Using codec's postprocessing, max q = 4. VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is undefined - no prescaling applied. VO: [xv] 320x240 => 320x240 Planar YV12 [fs] [zoom] X11 error: BadWindow (invalid Window parameter) The other stuff from bugreports.xml: <sect2 id="bugreports_system"> <title>System Information</title> <para> <itemizedlist> <listitem><para> Your Linux distribution or operating system and version e.g.: Debian unstable </para></listitem> <listitem><para> kernel version: Linux stark.xeocode.com 2.6.1 #7 SMP Thu Jan 29 00:57:15 EST 2004 i686 GNU/Linux </para></listitem> <listitem><para> libc version: -rw-r--r-- 1 root root 1244004 Jan 20 12:29 /lib/libc-2.3.2.so lrwxrwxrwx 1 root root 14 Oct 18 11:48 /lib/libc.so.5 -> libc.so.5.4.46 -rw-r--r-- 1 root root 565940 Sep 22 11:45 /lib/libc.so.5.4.46 lrwxrwxrwx 1 root root 13 Feb 3 12:29 /lib/libc.so.6 -> libc-2.3.2.so </para></listitem> <listitem><para> gcc and ld versions: Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.3/specs Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux Thread model: posix gcc version 3.3.3 20040110 (prerelease) (Debian) GNU ld version 2.14.90.0.7 20031029 Debian GNU/Linux </para></listitem> <listitem><para> binutils version: <screen> GNU assembler 2.14.90.0.7 20031029 Debian GNU/Linux Copyright 2002 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License. This program has absolutely no warranty. This assembler was configured for a target of `i386-linux'. </screen> </para></listitem> <listitem><para> If you have problems with fullscreen mode: <itemizedlist> <listitem><para>Window manager type and version</para></listitem> twm do they still give version numbers for twm? I don't think they've changed a line of code in decades. </itemizedlist> </para></listitem> <listitem><para> If you have problems with XVIDIX: <itemizedlist> <listitem><para>X colour depth: <screen>xdpyinfo | grep "depth of root"</screen> </para></listitem> </itemizedlist> </para></listitem> <listitem><para> If only the GUI is buggy: <itemizedlist> <listitem><para>GTK version</para></listitem> <listitem><para>GLIB version</para></listitem> <listitem><para>libpng version</para></listitem> <listitem><para>GUI situation in which the bug occurs</para></listitem> </itemizedlist> </para></listitem> </itemizedlist> </para> </sect2> -- greg
On 04 Feb 2004 16:42:45 -0500 Greg Stark <gsstark@mit.edu> wrote: First question: Where is the -v log ?
1) I have multiple screens (without xinerama). Is it possible the value returned by DefaultScreen() or RootWindow() isn't the proper one for the window that's created later by vo_x11_create_smooth_window() ? I haven't spotted any evidence this is the case however.
I run multihead myself, dont have any problems there. Ok, i use xmga instead of xv but the fs code is independent of the x11 module used. What is your current screen layout ? Does it crash on single screen too ? Does it crash with -vo x11 too ?
B) I have an mga card but I'm running 2.6.1 where the driver for the mga_vid device doesn't seem to compile. So it might be starting up the vo_mga driver initializing a few things, then failing back to the xv driver and reinitializing things, perhaps getting confused. However the backtrace above is with "-vo xv" so that isn't happening here.
Can't be, if you dont have mga_vid loaded, the open on the device file will fail thus nothing can happen. Beside you said that it's getting worse, but the x11 code wasn't touched for a damn long time, so i either suspect that something with your x server is broken or you use a non-aproved binary version of mplayer. Attila Kinali -- egp ist vergleichbar mit einem ikea bausatz fuer flugzeugtraeger -- reeler in +kaosu
Attila Kinali <attila@kinali.ch> writes:
On 04 Feb 2004 16:42:45 -0500 Greg Stark <gsstark@mit.edu> wrote:
First question: Where is the -v log ?
Sorry, appended below.
What is your current screen layout ?
Section "ServerLayout" Identifier "Three" Screen "MGA" Screen "TI" LeftOf "MGA" Screen "ATI" Below "TI" InputDevice "Generic Keyboard" InputDevice "Generic Mouse" EndSection The "MGA" screen is my main screen, it's 1600x1200 the other two are 800x600. The resulting layout looks like this: ---- -------- | | | | TI | | | | | | | | ---- MGA | | | | |ATI | | | | | | | | -------------
Does it crash on single screen too ?
I hadn't tried that. I just tried it and it fails similarly. The log is attached.
Does it crash with -vo x11 too ?
no, "-vo x11 -zoom -fs" doesn't cause a crash.
Beside you said that it's getting worse, but the x11 code wasn't touched for a damn long time, so i either suspect that something with your x server is broken or you use a non-aproved binary version of mplayer.
I'm not sure how my x server could be broken. I am running a prerelease package of X 4.3 packages. But I the issues holding up X 4.3 in debian are things like xdm scripts and non-x86 compiles, not weird bugs in X. As far as I know X 4.3 doesn't have any weird behaviour with windows suddenly becoming invalid windows or xlib calls having buggy parameter checking. I compile mplayer from CVS. It seems unlikely a compiler bug could cause an xlib error. In any case I've compiled it with -O0 (where possible, avcodec and some other files don't compile without optimization), so it's unlikely any compiler bugs would be causing problems. The log from a run on my normal multi-screen head (the single-screen case is included as an attachment): (gdb) run -v -v -v -ao null -zoom -vo xv -fs ~/theSpeech_hiband.wmv Starting program: /home/usr_local/src/mplayer/main/mplayer -v -v -v -ao null -zoom -vo xv -fs ~/theSpeech_hiband.wmv Breakpoint 1 at 0x8095db0 [New Thread 1086747552 (LWP 16709)] Breakpoint 1 at 0x408f1430 Using GNU internationalization Original domain: messages Original dirname: /usr/share/locale Current domain: mplayer Current dirname: /usr/local/share/locale MPlayer dev-CVS-040203-12:33-3.3.3 (C) 2000-2004 MPlayer Team CPU: Intel Pentium 4/Xeon/Celeron Foster 2800 MHz (Family: 8, Stepping: 9) Detected cache-line size is 64 bytes CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2 Reading config file /usr/local/etc/mplayer/mplayer.conf: No such file or directory Reading config file /home/stark/.mplayer/config Reading /home/stark/.mplayer/codecs.conf: Can't open '/home/stark/.mplayer/codecs.conf': No such file or directory Reading /usr/local/etc/mplayer/codecs.conf: Can't open '/usr/local/etc/mplayer/codecs.conf': No such file or directory Using built-in default codecs.conf. CommandLine: '-v' '-v' '-v' '-ao' 'null' '-zoom' '-vo' 'xv' '-fs' '/home/stark/theSpeech_hiband.wmv' init_freetype get_path('font/font.desc') -> '/home/stark/.mplayer/font/font.desc' font: Reading section: [info] font: Reading section: [files] RAW: /home/stark/.mplayer/font//iso-8859-1/arial-18/iso-8859-1-a.raw 4216 x 28, 256 colors RAW: /home/stark/.mplayer/font//iso-8859-1/arial-18/iso-8859-1-b.raw 4216 x 28, 256 colors font: Reading section: [characters] font: Reading section: [files] RAW: /home/stark/.mplayer/font//iso-8859-1/arial-18/osd-mplayer-a.raw 536 x 32, 256 colors RAW: /home/stark/.mplayer/font//iso-8859-1/arial-18/osd-mplayer-b.raw 536 x 32, 256 colors font: Reading section: [characters] font: resampling alpha by factor 0.750 (192) DONE! font: resampling alpha by factor 0.750 (192) DONE! Font /home/stark/.mplayer/font/font.desc loaded successfully! (206 chars) Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay Using Linux hardware RTC timing (1024Hz). get_path('input.conf') -> '/home/stark/.mplayer/input.conf' Parsing input config file /home/stark/.mplayer/input.conf Input config file /home/stark/.mplayer/input.conf parsed: 0 binds Setting up LIRC support... mplayer: could not connect to socket mplayer: Connection refused Failed to open LIRC support. You will not be able to use your remote control. get_path('theSpeech_hiband.wmv.conf') -> '/home/stark/.mplayer/theSpeech_hiband.wmv.conf' [[[init getch2]]] Playing /home/stark/theSpeech_hiband.wmv. [file] File size is 8572803 bytes STREAM: [file] /home/stark/theSpeech_hiband.wmv STREAM: Description: File STREAM: Author: Albeu STREAM: Comment: based on the code from ??? (probably Arpi) seek to 0x0 s->pos=0 newpos=0 new_bufpos=0 buflen=0 seek to 0x0 Checking for YUV4MPEG2 DEMUXER: freeing demuxer at 0x85d1e10 seek to 0x0 ASF file format detected. seek to 0xE6 ASF: packets: 1339 flags: 2 max_packet_size: 6400 min_packet_size: 6400 max_bitrate: 521851 preroll: 3000 seek to 0x14E seek to 0x656 seek to 0x748 stream type: guid_audio_stream stream concealment: guid_audio_conceal_interleave type: 28 bytes, stream: 8 bytes ID: 1 unk1: 0 unk2: 7FFDF000 FILEPOS=0x796 ==> Found audio stream: 1 ======= WAVE Format ======= Format Tag: 353 (0x161) Channels: 2 Samplerate: 44100 avg byte/sec: 8005 Block align: 1487 bits/sample: 16 cbSize: 10 Unknown extra header dump: [0] [88] [0] [0] [f] [0] [79] [2e] [0] [0] =========================== ASF: audio scrambling: 1 x 1 x 1487 seek to 0x7BA stream type: guid_video_stream stream concealment: unknown guid 0057fb20-555b-cf11-a8fd00805f5c442b type: 55 bytes, stream: 0 bytes ID: 2 unk1: 0 unk2: 8708580 FILEPOS=0x808 ==> Found video stream: 2 ======= VIDEO Format ====== biSize 44 biWidth 320 biHeight 240 biPlanes 1 biBitCount 24 biCompression 844516695='WMV2' biSizeImage 0 Unknown extra header dump: [f1] [bf] [fd] [0] =========================== seek to 0x83F ============ ASF Stream group == START === object size = 38 stream count=[0x2][2] stream id=[0x1][1] max bitrate=[0xfd7b][64891] stream id=[0x2][2] max bitrate=[0x6f8ff][456959] ============ ASF Stream group == END === seek to 0x865 Found movie at 0x897 - 0x82CB97 ASF: 1 audio and 1 video streams found seek to 0x897 ds_fill_buffer(d_video) called 82 00 00 09 5D 01 00 00 00 00 F4 00 89 82 01 00 00000897: flag=09 segs=9 seq=0 plen=6399 pad=1 time=0 dur=244 seg 0: 82 01 00 00 00 00 08 94 01 00 00 B8 0B 00 00 94 seg #0: streamno=2 seq=1 type=08 len=404 demux_asf.read_packet: id=2 seq=1 len=404 Auto-selected ASF video ID = 2 seg 1: 81 01 00 00 00 00 08 CF 05 00 00 B8 0B 00 00 CF seg #1: streamno=1 seq=1 type=08 len=1487 demux_asf.read_packet: id=1 seq=1 len=1487 Auto-selected ASF audio ID = 1 seg 2: 02 02 FA 0B 00 00 01 00 8E 00 8D 8A DF 7F FE F8 seg #2: streamno=2 seq=2 type=01 len=142 demux_asf.read_packet: id=2 seq=2 len=141 DEMUX: Append packet to d_video, len=404 pts=3.000 pos=2199 [packs: A=0 V=1] seg 3: 02 03 00 00 00 00 08 19 01 00 00 1C 0C 00 00 19 seg #3: streamno=2 seq=3 type=08 len=281 demux_asf.read_packet: id=2 seq=3 len=281 DEMUX: Append packet to d_video, len=141 pts=3.066 pos=2199 [packs: A=0 V=2] seg 4: 02 04 00 00 00 00 08 C4 01 00 00 3D 0C 00 00 C4 seg #4: streamno=2 seq=4 type=08 len=452 demux_asf.read_packet: id=2 seq=4 len=452 DEMUX: Append packet to d_video, len=281 pts=3.100 pos=2199 [packs: A=0 V=3] seg 5: 02 05 00 00 00 00 08 52 02 00 00 5E 0C 00 00 52 seg #5: streamno=2 seq=5 type=08 len=594 demux_asf.read_packet: id=2 seq=5 len=594 DEMUX: Append packet to d_video, len=452 pts=3.133 pos=2199 [packs: A=0 V=4] seg 6: 81 02 00 00 00 00 08 CF 05 00 00 43 0C 00 00 CF seg #6: streamno=1 seq=2 type=08 len=1487 demux_asf.read_packet: id=1 seq=2 len=1487 DEMUX: Append packet to d_audio, len=1487 pts=3.000 pos=2199 [packs: A=1 V=4] seg 7: 02 06 00 00 00 00 08 D3 02 00 00 80 0C 00 00 D3 seg #7: streamno=2 seq=6 type=08 len=723 demux_asf.read_packet: id=2 seq=6 len=723 DEMUX: Append packet to d_video, len=594 pts=3.166 pos=2199 [packs: A=1 V=5] seg 8: 02 07 00 00 00 00 08 E8 02 00 00 A1 0C 00 00 9E seg #8: streamno=2 seq=7 type=08 len=670 demux_asf.read_packet: id=2 seq=7 len=670 DEMUX: Append packet to d_video, len=723 pts=3.200 pos=2199 [packs: A=1 V=6] VIDEO: [WMV2] 320x240 24bpp ASF: Searching for audio stream (id:1). ds_fill_buffer(d_audio) called [V] filefmt:6 fourcc:0x32564D57 size:320x240 fps:1000.00 ftime:=0.0010 get_path('sub/') -> '/home/stark/.mplayer/sub/' get_path('default.sub') -> '/home/stark/.mplayer/default.sub' ========================================================================== Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders dec_audio: Allocating 131072 + 65536 = 196608 bytes for output buffer. FFmpeg's libavcodec audio codec INFO: libavcodec init OK! Decoded 1487 -> 32768 AUDIO: 44100 Hz, 2 ch, 16 bit (0x10), ratio: 8005->176400 (64.0 kbit) Selected audio codec: [ffwmav2] afm:ffmpeg (DivX audio v2 (ffmpeg)) ========================================================================== X11 opening display: :1.0 vo: X11 color mask: FFFF (R:F800 G:7E0 B:1F) vo: X11 running at 1600x1200 with depth 16 and 16 bpp (":1.0" => local display) [x11] Unknown wm type... [x11] Current fstype setting doesn't honour any X atoms ========================================================================== Opening video decoder: [dshow] DirectShow video codecs External func KERNEL32.dll:MulDiv External func KERNEL32.dll:EnterCriticalSection External func KERNEL32.dll:Sleep External func KERNEL32.dll:GetVersionExA External func KERNEL32.dll:DisableThreadLibraryCalls External func KERNEL32.dll:InterlockedIncrement External func KERNEL32.dll:InterlockedDecrement External func KERNEL32.dll:FreeLibrary External func KERNEL32.dll:lstrlenA External func KERNEL32.dll:MultiByteToWideChar External func KERNEL32.dll:GetLastError External func KERNEL32.dll:GetModuleFileNameA External func KERNEL32.dll:LeaveCriticalSection External func KERNEL32.dll:GetSystemInfo External func KERNEL32.dll:InitializeCriticalSection External func KERNEL32.dll:DeleteCriticalSection External func KERNEL32.dll:GetProfileIntA External func USER32.dll:ReleaseDC External func USER32.dll:IsRectEmpty External func USER32.dll:GetWindowLongA External func USER32.dll:SetWindowLongA External func USER32.dll:CreateDialogParamA External func USER32.dll:MoveWindow External func USER32.dll:InvalidateRect External func USER32.dll:ShowWindow External func USER32.dll:DestroyWindow External func USER32.dll:DefWindowProcA External func USER32.dll:wsprintfA External func USER32.dll:GetDC External func USER32.dll:LoadStringA External func USER32.dll:LoadStringW External func USER32.dll:GetWindowRect External func USER32.dll:EnableWindow External func USER32.dll:GetDlgItem External func USER32.dll:SendMessageA External func USER32.dll:SetDlgItemTextA External func USER32.dll:GetDesktopWindow External func GDI32.dll:GetSystemPaletteEntries External func ADVAPI32.dll:RegCloseKey External func ADVAPI32.dll:RegOpenKeyA External func ADVAPI32.dll:RegSetValueA External func ADVAPI32.dll:RegOpenKeyExA External func ADVAPI32.dll:RegEnumKeyExA External func ADVAPI32.dll:RegDeleteKeyA External func ADVAPI32.dll:RegQueryValueExA External func ADVAPI32.dll:RegCreateKeyA External func ADVAPI32.dll:RegSetValueExA External func ole32.dll:CoInitialize External func ole32.dll:CoTaskMemFree External func ole32.dll:CoUninitialize External func ole32.dll:CoCreateInstance External func ole32.dll:CoFreeUnusedLibraries External func ole32.dll:StringFromGUID2 External func ole32.dll:CoTaskMemAlloc External func WINMM.dll:timeGetTime External func MSVCRT.dll:_purecall External func MSVCRT.dll:sprintf External func MSVCRT.dll:??3@YAXPAX@Z External func MSVCRT.dll:??2@YAPAXI@Z External func MSVCRT.dll:__dllonexit External func MSVCRT.dll:_onexit External func MSVCRT.dll:_ftol DisableThreadLibraryCalls(0x1c400000) => 0 GetVersionExA(0x1c400000) => 1 Major version: 4 Minor version: 0 Build number: 0x4000457 Platform Id: VER_PLATFORM_WIN32_NT Version string: 'Service Pack 3' new(12) => 0x860f968 InterlockedIncrement(0x1c43fff4 => 1) => 1 new(256) => 0x860f998 InterlockedIncrement(0x1c43fff4 => 2) => 2 InitializeCriticalSection(0x860f9f4) InitializeCriticalSection(0x860fa0c) new(20) => 0x860fb80 GetProfileIntA -> get_path('registry') -> '/home/stark/.mplayer/registry' GetPrivateProfileIntA('Quartz', 'AVINoSkip', 0, 'default') => 0 GetProfileIntA -> GetPrivateProfileIntA('Dec', 'OfferIF09', 1, 'default') => 1 RegOpenKeyExA(key 0x80000001, subkey 'SOFTWARE', 0xbfffdf9c) => 0 New key: 0xfa RegOpenKeyExA(key 0xfa, subkey 'Microsoft', 0xbfffdfa0) => 0 New key: 0xfb RegOpenKeyExA(key 0xfb, subkey 'Scrunch', 0xbfffdfa4) => 0 New key: 0xfc RegOpenKeyExA(key 0xfc, subkey 'Video', 0xbfffdfb8) => 0 New key: 0xfd RegQueryValueExA(key 0xfd, value Brightness, reserved 0x0, data 0xbfffdf4c, count 0xbfffdfa8) => 0x2 read 80 bytes: 'ðÓ RegCloseKey(0xfd) => 1 RegCloseKey(0xfc) => 1 RegCloseKey(0xfb) => 1 RegCloseKey(0xfa) => 1 InterlockedIncrement(0x860f9a0 => 1) => 1 InterlockedIncrement(0x860f9a0 => 2) => 2 InterlockedDecrement(0x860f9a0 => 1) => 1 InterlockedDecrement(0x1c43fff4 => 1) => 1 delete(0x860f968) InterlockedIncrement(0x860f9a0 => 2) => 2 InterlockedDecrement(0x860f9a0 => 1) => 1 new(48) => 0x8610290 InterlockedIncrement(0x860f9a0 => 2) => 2 new(232) => 0x86102e8 InterlockedIncrement(0x1c43fff4 => 2) => 2 new(18) => 0x8610240 new(176) => 0x86103f8 InterlockedIncrement(0x1c43fff4 => 3) => 3 new(20) => 0x86104d0 InterlockedIncrement(0x860f9a0 => 3) => 3 new(12) => 0x860f968 InterlockedIncrement(0x860f9a0 => 4) => 4 new(12) => 0x86101f8 InterlockedIncrement(0x860f9a0 => 5) => 5 InterlockedDecrement(0x860f9a0 => 4) => 4 InterlockedIncrement(0x860f9a0 => 5) => 5 InterlockedDecrement(0x860f9a0 => 4) => 4 InterlockedIncrement(0x860f9a0 => 5) => 5 EnterCriticalSection(0x860f9f4) 0x860fac0 FATAL releasing corrupted memory! 0x8610788 0x0 (12) LeaveCriticalSection(0x860f9f4) 0x860fac0 EnterCriticalSection(0x860f9f4) 0x860fac0 IsRectEmpty(0x860f818) => TRUE IsRectEmpty(0x860f828) => TRUE LeaveCriticalSection(0x860f9f4) 0x860fac0 IsRectEmpty(0x860f818) => TRUE IsRectEmpty(0x860f828) => TRUE Decoder supports the following YUV formats: IsRectEmpty(0x860f818) => TRUE IsRectEmpty(0x860f828) => TRUE YUY2 IsRectEmpty(0x860f818) => TRUE IsRectEmpty(0x860f828) => TRUE IYUV IsRectEmpty(0x860f818) => TRUE IsRectEmpty(0x860f828) => TRUE UYVY IsRectEmpty(0x860f818) => TRUE IsRectEmpty(0x860f828) => TRUE YV12 IsRectEmpty(0x860f818) => TRUE IsRectEmpty(0x860f828) => TRUE YVYU IsRectEmpty(0x860f818) => TRUE IsRectEmpty(0x860f828) => TRUE I420 IsRectEmpty(0x860f818) => TRUE IsRectEmpty(0x860f828) => TRUE YVU9 Decoder is capable of YUV output (flags 0x7f) VDec: vo config request - 320 x 240 (preferred csp: Packed YUY2) [PP] Using codec's postprocessing, max q = 4. Trying filter chain: vo vo_debug: query(Planar YV12) returned 0x437 (i=0) VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is undefined - no prescaling applied. VO Config (320x240->320x240,flags=5,'MPlayer',0x32315659) VO: [xv] 320x240 => 320x240 Planar YV12 [fs] [zoom] VO: Description: X11/Xv VO: Author: Gerd Knorr <kraxel@goldbach.in-berlin.de> and others Xvideo image format: 0x32595559 (YUY2) packed Xvideo image format: 0x32315659 (YV12) planar Xvideo image format: 0x30323449 (I420) planar Xvideo image format: 0x59565955 (UYVY) packed using Xvideo port 61 for hw scaling [xv-fs] dx: 0 dy: 0 dw: 1600 dh: 1200 X11 error: BadWindow (invalid Window parameter) Type: 0, display: 860ca70, resourceid: 3400003, serial: 96 Error code: 3, request code: 3d, minor code: 0 [Switching to Thread 1086747552 (LWP 16709)] Breakpoint 1, 0x408f1430 in abort () from /lib/tls/libc.so.6 #0 0x408f1430 in abort () from /lib/tls/libc.so.6 #1 0x080cca7d in x11_errorhandler (display=0x860ca70, event=0xbfffe060) at x11_common.c:156 #2 0x40696354 in _XError (dpy=0x860ca70, rep=0xbfffe130) at XlibInt.c:2898 #3 0x406948b3 in _XReply (dpy=0x860ca70, rep=0xbfffe130, extra=0, discard=1) at XlibInt.c:1787 #4 0x4068fb44 in XSync (dpy=0x860ca70, discard=0) at Sync.c:45 #5 0x4068fc05 in _XSyncFunction (dpy=0x0) at Synchro.c:34 #6 0x4067463d in XClearWindow (dpy=0x860ca70, w=0) at Clear.c:47 #7 0x080d40c0 in config (width=320, height=240, d_width=320, d_height=240, flags=5, title=0x83cc3bb "MPlayer", format=842094169) at vo_xv.c:330 #8 0x0811b1f0 in config () #9 0x0810bf11 in mpcodecs_config_vo () #10 0x0811344c in init () #11 0x0810b295 in init_video () #12 0x0810b45d in init_best_video_codec () #13 0x0809ac34 in main () -- greg
Greg Stark writes:
Beside you said that it's getting worse, but the x11 code wasn't touched for a damn long time, so i either suspect that something with your x server is broken or you use a non-aproved binary version of mplayer.
I'm not sure how my x server could be broken. I am running a prerelease package of X 4.3 packages. But I the issues holding up X 4.3 in debian are things like xdm scripts and non-x86 compiles, not weird bugs in X. As far as I know X 4.3 doesn't have any weird behaviour with windows suddenly becoming invalid windows or xlib calls having buggy parameter checking.
MPlayer makes the X server on my notebook (Debian testing) crash sometimes. I'm running the experimental Debian 4.3 packages. I used 4.2.1 from testing before, MPlayer made that one crash as well, though slightly less often. I suspect a driver bug, chips + technologies is not a very common chipset I suppose and my home machine is rock solid.
I compile mplayer from CVS. It seems unlikely a compiler bug could cause an xlib error. In any case I've compiled it with -O0 (where possible, avcodec and some other files don't compile without optimization), so it's unlikely any compiler bugs would be causing problems.
lol It doesn't compile _without_ optimizations :) Probably nobody ever tried to do such a thing.. Diego
On Wed, 4 Feb 2004 20:55:27 -0300 Diego Biurrun <diego@biurrun.de> wrote:
It doesn't compile _without_ optimizations :) Probably nobody ever tried to do such a thing..
I did a few times. Debuging memory problems w/o 100% correct debug symbols is a pain. And yes, libavcodec never compiled with anything less than -O2, i think michael did a too good work ;) Attila Kinali -- egp ist vergleichbar mit einem ikea bausatz fuer flugzeugtraeger -- reeler in +kaosu
Hi On Thursday 05 February 2004 01:02, Attila Kinali wrote:
On Wed, 4 Feb 2004 20:55:27 -0300
Diego Biurrun <diego@biurrun.de> wrote:
It doesn't compile _without_ optimizations :) Probably nobody ever tried to do such a thing..
I did a few times. Debuging memory problems w/o 100% correct debug symbols is a pain. And yes, libavcodec never compiled with anything less than -O2, i think michael did a too good work ;) which part doesnt compile with -O1? just tried libavcodec/i386 and its fine here, and gcc with -O0 and inline asm is broken
[...] -- Michael level[i]= get_vlc(); i+=get_vlc(); (violates patent EP0266049) median(mv[y-1][x], mv[y][x-1], mv[y+1][x+1]); (violates patent #5,905,535) buf[i]= qp - buf[i-1]; (violates patent #?) for more examples, see http://mplayerhq.hu/~michael/patent.html stop it, see http://petition.eurolinux.org & http://petition.ffii.org/eubsa/en
On Thu, 5 Feb 2004 01:32:14 +0100 Michael Niedermayer <michaelni@gmx.at> wrote:
which part doesnt compile with -O1? just tried libavcodec/i386 and its fine here, and gcc with -O0 and inline asm is broken
Juup, you're right, works fine with -O1. Haven't tried it quite in a while, just used -O2 for libavcodec and -O0 for the rest. Attila Kinali -- egp ist vergleichbar mit einem ikea bausatz fuer flugzeugtraeger -- reeler in +kaosu
On 04 Feb 2004 17:52:33 -0500 Greg Stark <gsstark@mit.edu> wrote:
Does it crash on single screen too ?
I hadn't tried that. I just tried it and it fails similarly. The log is attached.
I'm still not able to reproduce it. I really suspect it's something with your X server. Attila Kinali -- egp ist vergleichbar mit einem ikea bausatz fuer flugzeugtraeger -- reeler in +kaosu
Attila Kinali <attila@kinali.ch> writes:
I really suspect it's something with your X server.
Well sure, it's something with my X server, it is an X error after all. But reporting "mplayer is crashing" to the xfree86 mailing lists won't get me very far... They're not going to be interested until we figure out why mplayer is crashing. It does seem to be fairly consistent that it's a BadWindow error during config. That presumably means something is wrong with either the mRootWin or vo_window parameters. There isn't any error checking in vo_x11_create_smooth_window but presumably vo_window is fine after that function since it works without -fs. So something about -fs is causing code to run that causes it to be invalid. Where is -fs handled? Is it a different codepath from the 'f' key after the movie is playing? How can I check to see if a window is still valid from gdb? Is there a simple X call I can make that won't disturb mplayer? -- greg
On 04 Feb 2004 23:30:46 -0500 Greg Stark <gsstark@mit.edu> wrote:
Well sure, it's something with my X server, it is an X error after all.
But reporting "mplayer is crashing" to the xfree86 mailing lists won't get me very far... They're not going to be interested until we figure out why mplayer is crashing.
Simplest would be to write a simple x app that does exactly the same calls to the xlib as mplayer and see where it crashes.
It does seem to be fairly consistent that it's a BadWindow error during config. That presumably means something is wrong with either the mRootWin or vo_window parameters.
There isn't any error checking in vo_x11_create_smooth_window but presumably vo_window is fine after that function since it works without -fs. So something about -fs is causing code to run that causes it to be invalid.
Where is -fs handled? Is it a different codepath from the 'f' key after the movie is playing?
Not really, altough i remember quite a few bugs in the handling of -fs and "f" which broke one but not the other. All x11 common functions are in x11_common.c, just specific stuff is in vo_x*.c.
How can I check to see if a window is still valid from gdb? Is there a simple X call I can make that won't disturb mplayer?
xwininfo is your friend. HTH Attila Kinali -- egp ist vergleichbar mit einem ikea bausatz fuer flugzeugtraeger -- reeler in +kaosu
Hi,
1) I have multiple screens (without xinerama). Is it possible the value returned by DefaultScreen() or RootWindow() isn't the proper one for the window that's created later by vo_x11_create_smooth_window() ? I haven't spotted any evidence this is the case however.
I once had the same problem, but I think it somehow is a problem with the window manager. I know that WindowMaker crashed while (I think) BlackBox, twm and the one my KDE uses didn't crash - but I don't remember too well. Maybe this can help you a bit further. Greetings, Reimar Döffinger
participants (5)
-
Attila Kinali -
Diego Biurrun -
Greg Stark -
Michael Niedermayer -
Reimar Döffinger