** Description changed: - On a fresh install of Lubuntu 12.04 Beta on a HP Compaq Evo N610c, - mplayer crashes with an illegal instruction. It can be reproduced with - the command line mplayer or GNOME MPlayer (GNOME MPlayer itself does not - crash, but goes to "Stopped" state). The reason for the crash is that a - fisttpll instruction, a PNI (Prescott New Instructions), which requires - SSE3, is executed, but my CPU (Pentium 4 Mobile) does not support SSE3 - (it CPU flags are fpu vme de pse tsc msr pae mce cx8 mtrr pge mca cmov - pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe up pebs bts - cid xtpr). Maybe this bug is related to - https://bugs.launchpad.net/ubuntu/+source/mplayer2/+bug/858226, see - there how to set the compiler flags to avoid issueing SSE2 instructions. - Here are two GDB sessions which show the problem, the video file does - not matter, it happens with all videos I tested. + SRU explanation: + [Impact] + This bug makes mplayer2 (and gnome-mplayer which use it by default) unusable with some CPU (some Penthium3 and 4). As it's the video player by default on Lubuntu, it affects a large number of users (see also all the duplicate bugs : #934774, #928793, #858226, #974774, #987734, #1014279). + The patch only changes the way compiler flags are used, the same way it's used on mplayer source package. - $ gdb --args mplayer -noautosub InFlames_Touch_Of_Red.mpeg + [Test Case] + Open mplayer2 on an affected system. + See the crash. + + [Regression Potential] + * It may affect performance on all architectures, since we are touching the compiler flags and optimization. + * It may also affect the non affected architectures for the same reasons above. + * However, since the same mechanism is used on mplayer source package without any problem reported, it should be quite safe. + + Original bug report: + On a fresh install of Lubuntu 12.04 Beta on a HP Compaq Evo N610c, mplayer crashes with an illegal instruction. It can be reproduced with the command line mplayer or GNOME MPlayer (GNOME MPlayer itself does not crash, but goes to "Stopped" state). The reason for the crash is that a fisttpll instruction, a PNI (Prescott New Instructions), which requires SSE3, is executed, but my CPU (Pentium 4 Mobile) does not support SSE3 (it CPU flags are fpu vme de pse tsc msr pae mce cx8 mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe up pebs bts cid xtpr). Maybe this bug is related to https://bugs.launchpad.net/ubuntu/+source/mplayer2/+bug/858226, see there how to set the compiler flags to avoid issueing SSE2 instructions. Here are two GDB sessions which show the problem, the video file does not matter, it happens with all videos I tested. + + $ gdb --args mplayer -noautosub InFlames_Touch_Of_Red.mpeg GNU gdb (Ubuntu/Linaro 7.4-2012.02-0ubuntu2) 7.4-2012.02 (gdb) r Starting program: /usr/bin/mplayer -noautosub InFlames_Touch_Of_Red.mpeg [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1". Program received signal SIGILL, Illegal instruction. - 0x080dd52e in parse_flag (opt=0x824743c, name=..., param=..., - ambiguous_param=true, dst=0x83ee048) at m_option.c:118 + 0x080dd52e in parse_flag (opt=0x824743c, name=..., param=..., + ambiguous_param=true, dst=0x83ee048) at m_option.c:118 118 m_option.c: No such file or directory. (gdb) bt - #0 0x080dd52e in parse_flag (opt=0x824743c, name=..., param=..., - ambiguous_param=true, dst=0x83ee048) at m_option.c:118 - #1 0x080d95c4 in m_option_parse (dst=<optimized out>, ambiguous_param=true, - param=..., name=..., opt=<optimized out>) at m_option.h:450 - #2 m_config_parse_option (config=0x83d51e0, name=..., param=..., - ambiguous_param=true, set=true) at m_config.c:506 - #3 0x0809c11b in m_config_parse_mp_command_line (config=0x83d51e0, argc=3, - argv=0xbffff424) at parser-mpcmd.c:217 + #0 0x080dd52e in parse_flag (opt=0x824743c, name=..., param=..., + ambiguous_param=true, dst=0x83ee048) at m_option.c:118 + #1 0x080d95c4 in m_option_parse (dst=<optimized out>, ambiguous_param=true, + param=..., name=..., opt=<optimized out>) at m_option.h:450 + #2 m_config_parse_option (config=0x83d51e0, name=..., param=..., + ambiguous_param=true, set=true) at m_config.c:506 + #3 0x0809c11b in m_config_parse_mp_command_line (config=0x83d51e0, argc=3, + argv=0xbffff424) at parser-mpcmd.c:217 #4 0x08086df4 in main (argc=3, argv=0xbffff424) at mplayer.c:4023 (gdb) disas (..) => 0x080dd52e <+510>: fisttpl (%edx) - $ gdb --args mplayer InFlames_Touch_Of_Red.mpeg + $ gdb --args mplayer InFlames_Touch_Of_Red.mpeg (gdb) r Starting program: /usr/bin/mplayer InFlames_Touch_Of_Red.mpeg [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1". MPlayer2 UNKNOWN (C) 2000-2011 MPlayer Team mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing InFlames_Touch_Of_Red.mpeg. Detected file format: MPEG-PS format (libavformat) [mpeg @ 0x1a27d80]max_analyze_duration reached [lavf] stream 0: video (mpeg1video), -vid 0 [lavf] stream 1: audio (mp2), -aid 0 VIDEO: [mpg1] 352x288 0bpp 25.000 fps 1150.0 kbps (140.4 kbyte/s) Load subtitles in . Program received signal SIGILL, Illegal instruction. 0x081586b3 in demux_lavf_fill_buffer (demux=0x841a940, dsds=0x8416328) - at libmpdemux/demux_lavf.c:790 + at libmpdemux/demux_lavf.c:790 790 libmpdemux/demux_lavf.c: No such file or directory. (gdb) bt #0 0x081586b3 in demux_lavf_fill_buffer (demux=0x841a940, dsds=0x8416328) - at libmpdemux/demux_lavf.c:790 + at libmpdemux/demux_lavf.c:790 #1 0x08146932 in demux_fill_buffer (ds=0x8416328, demux=0x841a940) - at libmpdemux/demuxer.c:621 + at libmpdemux/demuxer.c:621 #2 ds_get_next_pts (ds=0x8416328) at libmpdemux/demuxer.c:863 - #3 0x08088711 in print_file_properties (filename=<optimized out>, - mpctx=0x83d41e8) at mplayer.c:538 + #3 0x08088711 in print_file_properties (filename=<optimized out>, + mpctx=0x83d41e8) at mplayer.c:538 #4 main (argc=2, argv=0xbffff434) at mplayer.c:4866 (gdb) disas (..) => 0x081586b3 <+499>: fisttpll 0x8018(%esi) ProblemType: Bug DistroRelease: Ubuntu 12.04 Package: mplayer2 2.0-426-gc32b3ed-2 ProcVersionSignature: Ubuntu 3.2.0-21.34-generic 3.2.13 Uname: Linux 3.2.0-21-generic i686 ApportVersion: 2.0-0ubuntu4 Architecture: i386 Date: Thu Apr 5 12:16:34 2012 InstallationMedia: Lubuntu 12.04 "Precise Pangolin" - Beta i386 (20120328) ProcEnviron: - PATH=(custom, no user) - LANG=en_US.UTF-8 - SHELL=/bin/bash + PATH=(custom, no user) + LANG=en_US.UTF-8 + SHELL=/bin/bash SourcePackage: mplayer2 UpgradeStatus: No upgrade log present (probably fresh install)
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/974125 Title: mplayer crashes with illegal instruction To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/mplayer2/+bug/974125/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
