Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 405379 - net-misc/gwibber-3.1.0 does not start when using PAX (Hardened)
Summary: net-misc/gwibber-3.1.0 does not start when using PAX (Hardened)
Status: RESOLVED DUPLICATE of bug 405549
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: AMD64 Linux
: Normal critical (vote)
Assignee: Jürgen Geuter
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-23 07:16 UTC by jorgeml
Modified: 2012-02-24 10:22 UTC (History)
4 users (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 jorgeml 2012-02-23 07:16:09 UTC
Gwibber 3.1.0 only shows the main window for a fraction of a second and then crashes:

jorgeml@baraddur ~ $ gwibber -d -o
warning: line 6432: incompatible stripping characters and condition
warning: line 6444: incompatible stripping characters and condition
Terminado (killed)

The PAX log shows:

Feb 19 10:23:38 baraddur kernel: [ 2678.900447] PAX: execution attempt in: <anonymous mapping>, 27dfbfff000-27e3bfff000 27dfbfff000
Feb 19 10:23:38 baraddur kernel: [ 2678.900453] PAX: terminating task: /usr/bin/python2.7(gwibber):7276, uid/euid: 1000/1000, PC: 0000027dfbfff300, SP: 000003a71dd16be8
Feb 19 10:23:38 baraddur kernel: [ 2678.900456] PAX: bytes at PC: 90 59 49 89 4d f0 49 bb 0a 00 00 00 00 00 00 00 4d 89 5d 00
Feb 19 10:23:38 baraddur kernel: [ 2678.900467] PAX: bytes at SP-8: 0000000000000000 0000027e4f29f119 0000000000000000 0000000000000000 0000000000000000 7fffffff00000001 8fb5602c00000000 757befeaa1d58275 0000027e49fee300 0000027e49fee578 0000027e48053f20

Disabling MPROTECT in Python ( sudo paxctl -m /usr/bin/python2.7 ) solves the issue but that defeates the purpose of a hardened system.

Reproducible: Always

Steps to Reproduce:
1. Use a hardened profile and kernel with Pax
2. Run gwibber
3. Watch it crash
Actual Results:  
PAX kills the process

Expected Results:  
Gwibber should run

Portage 2.1.10.44 (hardened/linux/amd64, gcc-4.5.3, glibc-2.13-r4, 3.2.2-hardened-r1 x86_64)
=================================================================
System uname: Linux-3.2.2-hardened-r1-x86_64-AMD_Phenom-tm-_II_X6_1055T_Processor-with-gentoo-2.0.3
Timestamp of tree: Wed, 22 Feb 2012 19:45:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.1_p9
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/cmake:           2.8.6-r4
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
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.10.3, 1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.4.1-r1
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.13-r4
Repositories: gentoo lcd-filtering
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -floop-interchange -floop-strip-mine -floop-block"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/games/angband/edit/ /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe -floop-interchange -floop-strip-mine -floop-block"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y --jobs"
FEATURES="assume-digests binpkg-logs buildsyspkg collision-protect distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://gentoo.tiscali.nl/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LANG="es_ES.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="es_ES es en en_GB"
MAKEOPTS="-j 12 -l 10"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
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="/var/lib/layman/lcd-filtering"
SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext 64bit X a52 aac aacplus acl addressbook alsa amd64 amr apng artworkextra aspell assistant audio autoipd avahi avcodec avformat banshee bash-completion berkdb bittorrent bluetooth boo bookmarks bootchart bpm branding bzip2 cairo calendar call caps cdda cdparanoia cdr celt cheese chromium cli clucene clutter colord connection-sharing consolekit coverart cracklib crypt css cups cxx daap dbus declarative detex dirac dmraid dri drm dtmf dts dvd ebook eds embedded evo exif extensions extra extras fam fat festival ffmpeg firefox firefox-bookmarks firefox3 flac flickr fluidsynth fontconfig fts fuse gallium games gdbm gdm gdu gedit gensplash geoip geolocation gif git glchess glitz gnome gnome-keyring gnome-online-accounts gnome-shell gnutls gphoto2 gpm graphics graphite grub gsm gstreamer gtk gtk3 gudev hardened history holidays howl-compat hpcups hpijs hwdb hyperestraier icons iconv icu id3tag idn ieee1394 image innodb inotify ios iphone iplayer ipod iptc ipv6 ithreads jabber java javascript jingle jpeg justify karma kdrive keymap kpathsea kqemu kvm lame lastfm lastfmfingerprint latex latex3 lcdfilter lcms lensfun libcanberra libkms libnotify libvirtd lightning lm_sensors lvm lyrics lzma lzo mad map matroska mbrola mdnsresponder-compat mikmod mjpeg mmx mmxext mng modules mp3 mp3tunes mpeg mpi mplayer msn mtp mudflap multilib music musicbrainz mysql nautilus ncurses networkmanager nls nodrm nowlistening nptl nptlonly nsplugin ntfs offensive ofx ogg ogm opengl openmp otr pam pango pax_kernel pcre pdf pdfimport playlist plugins pm-utils png policykit pppd privacy private-headers projectm pulseaudio qalculate qemu qt3support rdesktop rdp readline redeyes resolvconf romio rss rubber samba sasl scanner schroedinger science sdl search secure-delete seed sendto sensord session shutdown sip sipim skype smp socialweb sound speex spell spice sql sqlite sse sse2 ssl startup-notification stats stream stun subtitles subversion svg switcher symlink synctex sysfs syslog system-sqlite system-v8 taglib tcpd telepathy templates terminal test-programs tex4ht texteffect theora threads thumbnail thumbnails tidy tiff totem tracker truetype udev unicode unlock-notify upnp urandom usb usbredir uswsusp utils v4l v4l2 vaapi vala vcd vcdx vde vhosts video videos vim-pager vim-syntax virt-network vlc vnc vorbis vpx wav wavpack web webcam webgl webinterface webkit webm webp webpresence webstart x264 xattr xcb xcomposite xine xml xmp xorg xscreensaver xulrunner xv xvid youtube zeitgeist zeroconf zip zlib" ALSA_CARDS="snd-hda-intel" 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 stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog contextswitch cpu cpufreq entropy filecount hddtemp java mysql network notify_desktop processes protocols sensors thermal uptime users vmem" DRACUT_MODULES="lvm mdraid syslog plymouth" 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" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="es_ES es en en_GB" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon" 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"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 jorgeml 2012-02-23 07:16:59 UTC
I have reported it upstream: 

https://bugs.launchpad.net/gwibber/+bug/936032

But I am not sure if this was the right approach.

Thanks in advance for your help.
Comment 2 Dirkjan Ochtman (RETIRED) gentoo-dev 2012-02-23 08:28:07 UTC
Could this be a duplicate of bug 329499?
Comment 3 jorgeml 2012-02-23 08:35:03 UTC
(In reply to comment #2)
> Could this be a duplicate of bug 329499?

I am not sure, I cannot reproduce it.

jorgeml@baraddur ~ $ python3.2 -c "import ctypes"
jorgeml@baraddur ~ $  
jorgeml@baraddur ~ $ python2.7 -c "import ctypes"
jorgeml@baraddur ~ $

I ran a strace of gwibber, the last line is:


mmap(NULL, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x33370023000
+++ killed by SIGKILL +++
Comment 4 Jürgen Geuter 2012-02-23 23:55:55 UTC
jorgeml to find out where the problem lies, can you please start "gwibber-service -o -d" and see if that one crashes as well (make sure that all previous gwibber related processes are killed)?
Comment 5 jorgeml 2012-02-24 07:10:49 UTC
Here you are:

jorgeml@baraddur ~ $ gwibber-service -o -d
Loading plugin Foursquare version 1.0
Loading plugin FriendFeed version 0.1
Loading plugin Twitter version 1.0
Loading plugin Qaiku version 1.0
Loading plugin Facebook version 1.1
Loading plugin Ping.fm version 0.1
Loading plugin Digg version 1.0
Loading plugin Flickr version 1.0
Loading plugin StatusNet version 1.1
Loading plugin Identi.ca version 1.1
Loading plugin Buzz version 1.0
Identi.ca   : DEBUG    Setting up monitors
Identi.ca   : DEBUG    NM Version is 0.9.2.0
Identi.ca   : DEBUG    NM Version is greater than 0.8.997
Identi.ca   : DEBUG    Refresh interval is set to 15
Identi.ca   : DEBUG    ** Starting Refresh - 2012-02-24 08:06:48,63 **
Identi.ca   : DEBUG    <twitter:private> Performing operation
Identi.ca   : DEBUG    <twitter:lists> Performing operation
Identi.ca   : DEBUG    <twitter:receive> Performing operation
Identi.ca   : DEBUG    <twitter:responses> Performing operation
Identi.ca   : DEBUG    <identica:receive> Performing operation
Identi.ca   : DEBUG    <identica:responses> Performing operation
Identi.ca   : DEBUG    <identica:responses> Adding record
Identi.ca   : DEBUG    <identica:responses> Finished operation
Identi.ca   : DEBUG    <identica:private> Performing operation
Identi.ca   : DEBUG    <identica:receive> Adding record
Identi.ca   : DEBUG    <identica:receive> Adding record
Identi.ca   : DEBUG    <identica:receive> Adding record
Identi.ca   : DEBUG    <identica:receive> Finished operation
Identi.ca   : DEBUG    <twitter:responses> Finished operation
Identi.ca   : DEBUG    <twitter:private> Finished operation
Identi.ca   : DEBUG    <twitter:lists> Finished operation
Identi.ca   : DEBUG    <identica:private> Finished operation
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Adding record
[...]
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Adding record
Identi.ca   : DEBUG    <twitter:receive> Finished operation
Identi.ca   : INFO     Loading complete: 1 - []

In another terminal I launch gwibber:

jorgeml@baraddur ~ $ gwibber -o -d
warning: line 6432: incompatible stripping characters and condition
warning: line 6444: incompatible stripping characters and condition
Gwibber GNOME Client: DEBUG    Downloading avatar https://secure.gravatar.com/avatar.php?gravatar_id=5e6dc5e21906e4093b92c5c2e7cddb29&default=https%3A%2F%2Ftheme1.status.net%2Fneo%2Fdefault-avatar-stream.png&size=48
Gwibber GNOME Client: DEBUG    Downloading avatar https://secure.gravatar.com/avatar.php?gravatar_id=6c4f4a2d420648911282bedd734dc0fd&default=https%3A%2F%2Ftheme1.status.net%2Fneo%2Fdefault-avatar-stream.png&size=48
Gwibber GNOME Client: DEBUG    Downloading avatar https://secure.gravatar.com/avatar.php?gravatar_id=2e14b79c640b8c128b773d369969f9b7&default=https%3A%2F%2Ftheme1.status.net%2Fneo%2Fdefault-avatar-stream.png&size=48
Terminado (killed)
jorgeml@baraddur ~ $ 

/var/log/pax.log shows:
Feb 24 08:08:45 baraddur kernel: [  366.166103] PAX: execution attempt in: <anonymous mapping>, 35eaffff000-35eeffff000 35eaffff000
Feb 24 08:08:45 baraddur kernel: [  366.166108] PAX: terminating task: /usr/bin/python2.7(gwibber):5901, uid/euid: 1000/1000, PC: 0000035eaffff300, SP: 0000039e5cff84e8
Feb 24 08:08:45 baraddur kernel: [  366.166111] PAX: bytes at PC: 90 59 49 89 4d f0 49 bb 0a 00 00 00 00 00 00 00 4d 89 5d 00 
Feb 24 08:08:45 baraddur kernel: [  366.166122] PAX: bytes at SP-8: 0000000000000000 0000035efa8ba119 0000000000000000 0000000000000000 0000000000000000 7fffffff00000001 7b2a95d600000000 b0f421eada0d3f29 0000035ef5609300 0000035ef5609578 0000035ea7d8bf20 

Back to the gwibber-service terminal there are a few new lines:

Identi.ca   : INFO     Cleaning up database...
Identi.ca   : INFO     Found 2299 records in the messages stream for account e3a979a625a911e1af7b6cf049ecb249
Identi.ca   : INFO     Purging old data for e3a979a625a911e1af7b6cf049ecb249
Identi.ca   : INFO     Found 663 records in the messages stream for account f771585a25a911e1af7b6cf049ecb249

And gwibber-service is still running.

I hope this helps.
Comment 6 Jürgen Geuter 2012-02-24 09:06:21 UTC
To be honest this looks like it's pywebkit-gtk which Gwibber uses for rendering (since you don't seem to have similar problems with other GTK apps?). 

pywebkitgtk comes with a demo browser (demos/browser.py in the pywebkitgtk install location), does that have similar problems?
Comment 7 jorgeml 2012-02-24 09:34:28 UTC
I could not find the browser you mention in the install location (/usr/share/pywebkitgtk)


jorgeml@baraddur /usr/share/pywebkitgtk $ locate browser.py
/usr/lib64/pygtk/2.0/demos/stock_browser.py
/usr/lib64/python2.7/webbrowser.py
/usr/lib64/python2.7/webbrowser.pyc
/usr/lib64/python2.7/webbrowser.pyo
/usr/lib64/python2.7/site-packages/GTG/taskbrowser/browser.py
/usr/lib64/python2.7/site-packages/gourmet/plugins/browse_recipes/browser.py
/usr/lib64/python2.7/site-packages/gourmet/plugins/browse_recipes/browser.pyc
/usr/lib64/python2.7/site-packages/gourmet/plugins/browse_recipes/browser.pyo
/usr/lib64/python2.7/site-packages/picard/browser/browser.py
/usr/lib64/python2.7/site-packages/picard/browser/browser.pyc
/usr/lib64/python2.7/site-packages/picard/browser/browser.pyo
/usr/lib64/python2.7/site-packages/picard/ui/filebrowser.py
/usr/lib64/python2.7/site-packages/picard/ui/filebrowser.pyc
/usr/lib64/python2.7/site-packages/picard/ui/filebrowser.pyo
/usr/lib64/python3.2/webbrowser.py

jorgeml@baraddur /usr/share/pywebkitgtk $ equery belongs /usr/lib64/python2.7/webbrowser.py
 * Searching for /usr/lib64/python2.7/webbrowser.py ... 
dev-lang/python-2.7.2-r3 (/usr/lib64/python2.7/webbrowser.py)

Thanks!
Comment 8 Jürgen Geuter 2012-02-24 09:38:54 UTC
I don't have access to a Gentoo box since my Laptop is getting fixed atm so I can't check, maybe the docs on the pywebkitgtk page are wrong.
Can you hit me on Jabber (tante@jabber.org) or irc (tante on freenode) so we can dive into that without spaming all the other subscribers of this bug?
Comment 9 Jürgen Geuter 2012-02-24 10:22:27 UTC
It's a bug in pywebkitgtk.

*** This bug has been marked as a duplicate of bug 405549 ***