Illegal instruction crashes (SVN revs 26753 and 25993)
Hi there, I just wanted to ask if the illegal instruction crash problems that were present in mplayer SVN revision 25993 and 26753 are still there? Bugreport in gentoo bugzilla: http://bugs.gentoo.org/show_bug.cgi?id=212318 I did an upgrade of mplayer today (to SVN 26753) on my old AMD tbird based audioserver system and after that mplayer always crashes when trying to playback something. Digging deeper I found that the problem already appeared in 25993. There is currently a hotfix (see bugreport) but I was curious if somebody already reported this upstream? Greetings, Tobias Jakobi
On Sat, May 17, 2008 at 11:41:17PM +0200, Tobias Jakobi wrote:
I just wanted to ask if the illegal instruction crash problems that were present in mplayer SVN revision 25993 and 26753 are still there?
Bugreport in gentoo bugzilla: http://bugs.gentoo.org/show_bug.cgi?id=212318
I did an upgrade of mplayer today (to SVN 26753) on my old AMD tbird based audioserver system and after that mplayer always crashes when trying to playback something. Digging deeper I found that the problem already appeared in 25993.
There is currently a hotfix (see bugreport) but I was curious if somebody already reported this upstream?
So far nothing in that bug report indicates this would be a problem with our code? I sounds like there is a problem with distcc and possibly with mtune=generic and also --disable-ssse3 is not supported by the gentoo ebuild but I do not see anything that we could/should fix so far... Greetings, Reimar Döffinger
Hi Reimar, the thing is that at least for me the problem doesn't originate from using distcc. I haven't even installed distcc on the machine where this happens. Also it tells me (mplayer -v): Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2 I was not compiling this with SSE and SSE2! I know the tbird doesn't support these instruction sets. I only have enabled both mmx and 3dnow instr sets in my USE flags. If I don't enabled custom-cflags on this box the makefile seems to pass these optimization options to gcc: -O4 -march=i486 -mtune=i686 -pipe -ffast-math -fomit-frame-pointer Resulting in the use of SSE instr. With custom-cflags: -O2 -march=athlon-tbird -pipe -fomit-frame-pointer Producing a working build. Is this the mplayer Makefile or the gentoo ebuild? Greets, Tobias Jakobi
On Sunday 18 May 2008 13:00, Tobias Jakobi wrote:
-O4 -march=i486 -mtune=i686 -pipe -ffast-math -fomit-frame-pointer
Resulting in the use of SSE instr.
With custom-cflags: -O2 -march=athlon-tbird -pipe -fomit-frame-pointer Producing a working build.
Is this the mplayer Makefile or the gentoo ebuild?
MPlayer's configure's default behaviour is to optimize for the system it is being built on, switching sse, mmx, etc on or off depending on the system's capabilities. With MPlayer's configure, if you want to build without SSE on a machine with SSE, you need to give --disable-sse option to configure. The use of sse wouldn't show up in CFLAGS or on the compiler commandline, it's set in config.mak and config.h by configure. Get MPlayer source from svn: $ svn co svn://svn.mplayerhq.hu/mplayer/trunk mplayer configure: $ cd mplayer $ ./configure --disable-sse --disable-sse2 --disable-ssse3 <...> Check if sse was enabled: $ grep SSE config.mak $ grep SSE config.h #define ENABLE_SSE 0 #define ENABLE_SSE2 0 #define ENABLE_SSSE3 0 Looks like it's disabled. build: $ make <...> And then let's check what the mplayer binary says: $ ./mplayer MPlayer dev-SVN-r26794-4.1.2 (C) 2000-2008 MPlayer Team CPU: AMD Sempron(tm) Processor 3100+ (Family: 15, Model: 44, Stepping: 2) SSE supported but disabled SSE2 supported but disabled CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0 Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx <...> So I'd go look in the direction of gentoo for figuring out how to disable SSE in MPlayer ebuild, if such a thing can be done.
Hi Jan, the source was build on the system I intended to run the binary on. So according to what you said the buildsystem should have detected that the CPU doesn't support any kind of SSE instructions. snip from /proc/cpuinfo: flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow So either the gentoo ebuild does not set some options correctly or the mplayer buildsystem doesn't do CPU caps detection right. I'm going to try a SVN build anyway, but if I understand you correctly I don't need to pass the --disable-sse options to the configure script IF I'm building the binary on the system where the binary should be used, right? Greetings, Tobias Jakobi
On Sunday 18 May 2008 15:10, Tobias Jakobi wrote:
I'm going to try a SVN build anyway, but if I understand you correctly I don't need to pass the --disable-sse options to the configure script IF I'm building the binary on the system where the binary should be used, right?
Right. Note that gentoo can force SSE on anyway, overriding MPlayer's configure, if gentoo thinks that it should. It's very easy to shoot yourself in your foot with gentoo once you start changing use flags ;-) There should be a gentoo command to display the current settings, I've seen it once, but as I don't use gentoo myself I can't check.
does anyone kknow how to get streaming from this camera with mplayer? #mplayer tv:// -tv driver=v4l:width=352:height=288:outfmt=rgb24:device=/dev/video0:noaudio does not work. _________________________________________________________________ http://clk.atdmt.com/UKM/go/msnnkmgl0010000002ukm/direct/01/
Yep, you were right. I tried both a pass with my usual CFLAGS exported and with no CFLAGS exported. In both cases the the configure script doesn't enable any SSE defines nor does make produce any binaries with SSE instructions. So this is really a gentoo bug, going to report this to the tracker! Thanks guys! Greetings, Tobias Jakobi
participants (4)
-
Jan Knutar -
Jethro Tull -
Reimar Döffinger -
Tobias Jakobi