On hardened desktop clementine and subtitleeditor play nothing until: paxctl -m /usr/libexec/gstreamer-0.10/gst-plugin-scanner /usr/bin/clementine /usr/bin/subtitleeditor If you mark only gst-plugin-scanner, both clementine and subtitleeditor will crash. Portage 2.1.10.49 (hardened/linux/amd64, gcc-4.5.3, glibc-2.14.1-r3, 3.4.2-hardened x86_64) ================================================================= Timestamp of tree: Sun, 17 Jun 2012 10:45:01 +0000 app-shells/bash: 4.2_p20 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.3-r2 dev-util/cmake: 2.8.7-r5 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1-r1 sys-apps/openrc: 0.9.8.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.9.6-r3, 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.5.3-r2 sys-devel/gcc-config: 1.6 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 3.1 (virtual/os-headers) sys-libs/glibc: 2.14.1-r3 Repositories: gentoo nikoli ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -mtune=generic -mavx -maes -mpclmul -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /usr/share/themes/oxygen-gtk/gtk-2.0" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=core2 -mtune=generic -mavx -maes -mpclmul -O2 -pipe" DISTDIR="/var/package-manager/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="ru en" MAKEOPTS="-j9" PKGDIR="/var/package-manager/packages/corei7-avx_hardened" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTDIR="/var/package-manager/portage" PORTDIR_OVERLAY="/var/lib/layman/nikoli" USE="X a52 aac acl acpi aes-ni akonadi alsa amd64 amr atm audiofile avx bash-completion bluetooth bzip2 cairo caps cdda cddb cdio cdparanoia cdr celt cli consolekit cracklib crypt css cups cxx dbus djvu dri dts dv dvd dvdr encode exif fat ffmpeg flac fluidsynth fontconfig fortran gd geoip gif gimp gmp gnutls gphoto2 gpm graphviz gsm gstreamer gtk handbook hardened iconv icu id3tag idn ilbc imagemagick imap imlib ios ipod ipv6 jbig jpeg jpeg2k justify kde kipi kontact lame laptop lcms libnotify libproxy libsamplerate lm_sensors lzma lzo mac mad matroska mikmod mmx mmxext mng modplug modules mp3 mp4 mpeg mtp mudflap multilib musepack musicbrainz ncurses networkmanager nls nptl nptlonly ntfs ogg openal openexr opengl openmp pam pango pax_kernel pcre pdf pg-intdatetime phonon plasma pm-utils png policykit postscript pppd qt3support qt4 quicktime rar raw readline reiserfs replaygain rtmp sasl scanner schroedinger semantic-desktop session sid smp sndfile socks5 speex spell sqlite sse sse2 sse3 sse4_1 ssl ssse3 startup-notification svg symlink sysfs taglib theora threads thumbnail tiff truetype tta udev unicode upnp usb v4l v4l2 vaapi vcd vdpau vorbis vpx wavpack webkit webp wifi wma wmf wps x264 xattr xcb xcomposite xface xinerama xml xmp xorg xpm xscreensaver xv xvid xz zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="*" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="ru en" NGINX_MODULES_HTTP="access auth_basic autoindex fastcgi gzip rewrite" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="radeon r600 vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Created attachment 315587 [details] clementine log when nothing is marked by hand GUI message: GStreamer could not create the element: audioconvert. Please make sure that you have installed all necessary GStreamer plugins (e.g. OGG and MP3)
Created attachment 315589 [details] subtitleeditor log when nothing is marked by hand rm ~/.gstreamer-0.10/ -r ; LANG="en_US.UTF-8" subtitleeditor &> subtitleeditor_hardened_without_paxctl-m.log GUI does not show any error message, but silently refuse to open any video.
Created attachment 315591 [details] clementine log after 'paxctl -m /usr/libexec/gstreamer-0.10/gst-plugin-scanner' After 'paxctl -m /usr/libexec/gstreamer-0.10/gst-plugin-scanner' clementine crashes after pressing play button: (gst-plugin-scanner:31763): GLib-GObject-CRITICAL **: g_param_spec_boolean: assertion `default_value == TRUE || default_value == FALSE' failed (gst-plugin-scanner:31763): GLib-GObject-CRITICAL **: g_object_class_install_property: assertion `G_IS_PARAM_SPEC (pspec)' failed (gst-plugin-scanner:31763): GStreamer-WARNING **: Failed to load plugin '/usr/lib64/gstreamer-0.10/libgstmplex.so': /usr/lib64/gstreamer-0.10/libgstmplex.so: undefined symbol: _ZTI12MultiplexJob 18:33:52.071 DEBUG unknown clementine(31746)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from "/var/tmp/kdecache-nikoli/ksycoca4" ** Message: pygobject_register_sinkfunc is deprecated (GstObject) ORC: ERROR: orccodemem.c(270): orc_code_region_allocate_codemem(): Failed to create write and exec mmap regions. This is probably because SELinux execmem check is enabled (good) and $TMPDIR and $HOME are mounted noexec (bad). ORC: ERROR: orccodemem.c(144): orc_code_region_get_free_chunk(): assertion failed: 0 dmesg: [64768.710750] grsec: denied RWX mmap of <anonymous mapping> by /usr/bin/clementine[clementine:31746] uid/euid:1000/1000 gid/egid:1000/1000, parent /bin/bash[bash:22126] uid/euid:1000/1000 gid/egid:1000/1000 [64768.753250] grsec: denied resource overstep by requesting 4096 for RLIMIT_CORE against limit 0 for /usr/bin/clementine[clementine:31746] uid/euid:1000/1000 gid/egid:1000/1000, parent /bin/bash[bash:22126] uid/euid:1000/1000 gid/egid:1000/1000 Attached log was created with command 'rm ~/.gstreamer-0.10/ -r ; LANG="en_US.UTF-8" clementine &> clementine_hardened_paxctl-m-gst-plugin-scanner.log' After 'paxctl -m /usr/bin/clementine' it works fine, same with subtitleeditor. I do not have any problem with mplayer2.
Disabling USE orc in make.conf and updating solved my problem, clementine works fine after rebuilding media-libs/gst-plugins-base and media-libs/gst-plugins-good. subtitleeditor also works fine now. Please rename USE 'orc' to 'jit', because orc is jit, from homepage: "Orc is a just-in-time compiler implemented as a library...". Masking or pax marking dev-lang/orc is required for hardened profile. orc is not optional for: media-libs/schroedinger net-wireless/gnuradio
Fixed in gstreamer-0.10.36, which is masked for the moment.
Why 'paxctl -m' is used when orc is disabled?
(In reply to comment #6) > Why 'paxctl -m' is used when orc is disabled? There is no way for media-libs/gstreamer to know whether or not you will in the future install some gst-* package that has orc enabled. Since for many users the answer would be "yes", and since disabling memory protection on gst-plugin-scanner is unlikely to have security implications, always using 'paxctl -m' seems to be a reasonable approach.
Have masked the orc use flag in the hardened profile. Undo the paxctl -m thing on Remerge the needed things.
(In reply to comment #8) > Have masked the orc use flag in the hardened profile. I do not understand why you are treating orc differently from jit. Hardened already has "-jit -orc" in USE in make.defaults, but jit is not in the hardened use.mask - so why did you decide to add orc to use.mask? > Undo the paxctl -m thing I've added an orc USE flag to media-libs/gstreamer-0.10.36; paxctl -m is now run only when USE=orc. This allows those hardened users who need orc for non-laggy video playback, or who use gst-plugins-schroedinger, to enable it by unmasking the flag. I hope that this solution is satisfactory to the hardened team.
(In reply to comment #9) > I've added an orc USE flag to media-libs/gstreamer-0.10.36; paxctl -m is now > run only when USE=orc. This allows those hardened users who need orc for > non-laggy video playback, or who use gst-plugins-schroedinger, to enable it > by unmasking the flag. I hope that this solution is satisfactory to the > hardened team. This should be okay. We always have to worry in situations like this what happens if you switch hardened <-> vanilla kernals. Thinking through all the scenerios a user may switch between here, they should be okay. So yeah, looks good to me.
I was about to close this bug since gstreamer 0.10.36 and 1.0.3 have conditional pax marking on gst-plugin-scanner but the use flag is masked while jit is not, is that normal ?
Not sure.
Have unmask orc and added it do the Hardened FAQ. so close the bug if it is nothing else.
(In reply to comment #13) > Have unmask orc and added it do the Hardened FAQ. > so close the bug if it is nothing else. That's all. Thanks for the update.