Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 242788 - media-video/vlc-0.9.4: freezes X if built with USE="X, ncurses, -qt4" and called from GUI app
Summary: media-video/vlc-0.9.4: freezes X if built with USE="X, ncurses, -qt4" and cal...
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-19 15:48 UTC by Douglas Anderson
Modified: 2010-06-25 11:20 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Douglas Anderson 2008-10-19 15:48:37 UTC
I was running vlc-0.8.6 on x86 stable.  I unmasked vlc-0.9.4 and built it with the same USE flags I had previously set. That included this line in package.use:

media-video/vlc wxwindows ncurses alsa cddb matroska mp3 mpeg win32codecs

"X, gnome, gtk, -kde, -qt3, -qt4" were in make.conf (see emerge --info at end of report)

I think these are reasonably normal flags for a gnome user who doesn't plan on running kde or qt apps. A similar set of USE flags is recommended in Code Listing 2.2 in the handbook: http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=2

After the upgrade to vlc-0.9.4, I opened a movie file from inside Firefox. X hard froze and I was forced to ctrl+alt+backspace out. When I did so, I saw vlc's ncurses interface come up on the console. ncurses is enabled by default.

I use startx, so I didn't have gdm running.

Reproducible: Always

Steps to Reproduce:
1. Download an mpg file with Firefox and in the Save As/Open With dialog, choose Open With: vlc
2. Rebuild vlc with: USE="X, mpeg, ncurses, -qt4" emerge vlc
3. Download the mpg file again with firefox. I used http://fredrik.hubbe.net/plugger/test.mpg for testing.

Actual Results:  
X freezes, doesn't respond to mouse or keyboard events (banging on the keyboard for a minute, as users tend to do, really hard locks X and forces you to power down, so Ctrl+Alt+Backspace as soon as you've ascertained that it's frozen)

Twice I saw vlc's ncurses interface come up after exiting X. With my current test settings, I just get dumped to console.

Once at the console, I see some output from X and vlc. Only interesting line was:
main libvlc: Running vlc with the default interface. Use `cvlc` to use vlc without interface
I wasn't able to copy from the console (I don't know how), so if you want that output, please tell me how to get it.

Expected Results:  
* vlc shouldn't load the ncurses interface if called from a GUI app. This is probably an upstream issue, but it might affect when you stable 0.9.*, so I filed here. 

Also media-video herd would probably know better than I if this is a bug should be sent upstream.

http://bugs.gentoo.org/show_bug.cgi?id=242584 is a related bug.

 $ vlc --help
VLC media player 0.9.4 Grishenko
[00000001] main libvlc debug: VLC media player - version 0.9.4 Grishenko - (c) 1996-2008 the VideoLAN team
[00000001] main libvlc debug: libvlc was configured with ./configure  '--prefix=/usr' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--disable-a52' '--disable-aa' '--disable-faad' '--enable-alsa' '--disable-altivec' '--disable-arts' '--disable-asademux' '--disable-atmo' '--enable-bonjour' '--disable-fribidi' '--disable-cdda' '--disable-cddax' '--enable-libcddb' '--disable-libcdio' '--disable-csri' '--enable-dbus' '--enable-dbus-control' '--disable-dirac' '--disable-directfb' '--disable-dc1394' '--disable-debug' '--disable-dca' '--disable-dv' '--disable-dvb' '--enable-dvdread' '--enable-dvdnav' '--disable-esd' '--disable-fb' '--enable-avcodec' '--enable-avformat' '--disable-swscale' '--enable-imgresample' '--enable-postproc' '--enable-flac' '--disable-fluidsynth' '--disable-fontconfig' '--disable-ggi' '--enable-gnomevfs' '--enable-gnutls' '--enable-hal' '--disable-httpd' '--disable-id3tag' '--disable-jack' '--disable-kate' '--disable-libass' '--disable-caca' '--enable-libgcrypt' '--disable-notify' '--disable-libproxy' '--disable-libtar' '--disable-lirc' '--disable-live555' '--disable-lua' '--enable-mkv' '--enable-mmx' '--disable-mod' '--enable-mad' '--enable-libmpeg2' '--disable-mpc' '--enable-ncurses' '--disable-mozilla' '--with-mozilla-pkg=' '--enable-ogg' '--enable-glx' '--enable-opengl' '--enable-galaktos' '--disable-optimize-memory' '--disable-oss' '--enable-png' '--disable-portaudio' '--enable-pulse' '--disable-pvr' '--disable-qt4' '--disable-realrtsp' '--enable-smb' '--disable-schroedinger' '--disable-sdl' '--disable-sdl-image' '--disable-shout' '--enable-speex' '--enable-sse' '--disable-sout' '--enable-svg' '--disable-svgalib' '--disable-taglib' '--enable-theora' '--enable-freetype' '--disable-twolame' '--disable-upnp' '--enable-v4l' '--disable-v4l2' '--disable-vcd' '--disable-vcdx' '--enable-vorbis' '--enable-loader' '--enable-x11' '--enable-screen' '--disable-x264' '--enable-xinerama' '--disable-libxml2' '--disable-xosd' '--disable-xvideo' '--disable-xvmc' '--disable-zvbi' '--disable-snapshot' '--disable-growl' '--disable-optimizations' '--enable-fast-install' '--disable-vlm' '--disable-skins2' '--disable-remoteosd' '--build=i686-pc-linux-gnu' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' 'CFLAGS=-march=pentium-m -O2 -pipe -ggdb' 'LDFLAGS=-Wl,-O1' 'CPPFLAGS=' 'CXXFLAGS=-march=pentium-m -O2 -pipe -ggdb'
[00000001] main libvlc debug: translation test: code is "C"

(NOTE: qt4 is enabled now, but it was disabled)
$ emerge --info
WARNING: repository at /usr/local/portage is missing a repo_name entry
Portage 2.2_rc12 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r8 i686)
=================================================================
System uname: Linux-2.6.25-gentoo-r8-i686-Intel-R-_Pentium-R-_M_processor_1.86GHz-with-glibc2.0
Timestamp of tree: Sun, 19 Oct 2008 09:30:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-lang/python:     2.5.2-r7
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium-m -O2 -pipe -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=pentium-m -O2 -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache collision-protect distlocks parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="en en_US ja"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/wschlich-testing /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="7zip X acl acpi anthy avahi bash-completion beagle berkdb bzip2 cairo cjk cli cracklib crypt cups dbus dri dvd dvdread encode flac gdbm git glitz gnome gnutls gpm gtk hal hardened hdaps iconv immqt-bc ipv6 isdnlog jpeg kdehiddenvisibility laptop libgcrypt mad midi mmx mono mudflap mysql ncurses njb nls nptl nptlonly ogg opengl openmp pam pcre perl png pppd pulseaudio python qt4 readline reflection samba scanner session slang speex spell spl sqlite sse sse2 ssl startup-notification svg sysfs tcpd theora threads truetype type1 unicode v4l vim-syntax vorbis x86 xcb xcomposite xinerama xorg xulrunner zlib" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev mouse keyboard wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US ja" USERLAND="GNU" VIDEO_CARDS="radeon fglrx"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Steve Kutnar 2008-11-02 02:40:46 UTC
It appears that starting with 0.9.0, VLC requires QT4 for a GUI
Comment 2 Tommaso Pasini 2008-11-04 18:44:42 UTC
Maybe my comment should go on a separate (new) bug.

I suggest warning the user about the lack of GUI if the qt4 flag is not set; as a gnome user I had it disabled, and had to google around to found out why I couldn't see anything.
Because of this:
- there should be always a 0.8.* version in the tree for all those users that don't want to compile qt4 (which is not a small package to build);
- if the qt4 use flag is disabled the ebuild shouldn't install any menu entry: portage should avoid that users launch via a menu entry an application that cannot be displayed.
Comment 3 Gef 2010-05-08 14:28:30 UTC
~media-video/vlc-0.9.4 is no longer in tree.
Comment 4 Alexis Ballier gentoo-dev 2010-06-25 11:20:49 UTC
freezing X was probably a bug in xorg itself; please try if you can reproduce it with an up to date system and reopen if it still fails.