Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 284219 - dev-lang/python-2.6.2-r1 crashes bringing down www-apps/trac (and perhaps others)
Summary: dev-lang/python-2.6.2-r1 crashes bringing down www-apps/trac (and perhaps oth...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Hardened (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Python Gentoo Team
URL: http://bugs.python.org/issue5023
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-08 22:06 UTC by Ciprian Ciubotariu
Modified: 2009-11-30 19:47 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 Ciprian Ciubotariu 2009-09-08 22:06:39 UTC
Okay, so after an upgrade to python-2.6 my Trac installation started to misbehave (namely the source browsing, ticket viewing and other things)

After digging I found this: http://bugs.python.org/issue5023

I believe python2.6 should be masked for the hardened profile. The bug seems to not be fixed upstream.

Reproducible: Always

Steps to Reproduce:
Running the implied tests segfaults as described in the link above.

pinky ~ # python2.6
Python 2.6.2 (r262:71600, Sep  8 2009, 21:37:05)
[GCC 3.4.6 (Gentoo Hardened 3.4.6-r2 p1.6, ssp-3.4.6-1.0, pie-8.7.10)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from test import test_datetime
>>> test_datetime.test_main()
[...]
test_zones (test.test_datetime.TestTimeTZ) ... Segmentation fault
pinky ~ #

As opposed to this behavior using python2.5 the test runs allright, as does Trac.




pinky ~ # emerge --info
Portage 2.1.6.13 (selinux/2007.0/x86/hardened, gcc-3.4.6, glibc-2.9_p20081201-r2, 2.6.28-hardened-r7 i686)
=================================================================
System uname: Linux-2.6.28-hardened-r7-i686-AMD_Sempron-tm-_Processor_3000+-with-glibc2.3.2
Timestamp of tree: Fri, 04 Sep 2009 04:00:05 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.8-r1
dev-lang/python:     2.5.4-r3, 2.6.2-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer -fforce-addr"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /lib/rcscripts/addons/udev-start.sh /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /usr/share/webapps/cvsweb/3.0.6/hostroot /var/bind /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer -fforce-addr"
DISTDIR="/home/portage.local/distfiles"
FEATURES="distlocks fixpackages loadpolicy parallel-fetch protect-owned sandbox selinux sesandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://gentoo.arcticnetwork.ca/pub/gentoo/ http://gentoo.arcticnetwork.ca/ http://ftp.romnet.org/gentoo/ http://gentoo.osuosl.org/ http://mirrors.xservers.ro/gentoo/ http://mirror.jamit.de/gentoo/ http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://ftp.gentoo.bg/ http://gentoo.mirrors.tds.net/gentoo http://mirror.datapipe.net/gentoo"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
PKGDIR="/home/portage.local/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="/home/portage.local/overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="animgif apache2 apm bash-completion berkdb bzlib cairo cgi chm cli cracklib crypt ctype cups curl dri emacs enscript fastcgi foomaticdb ftp gd gencertdaily gif glibc-omitfp graphviz hal hardened hipe iconv imap isdnlog java jpeg jpeg2k kdeenablefinal kpoll libg++ logrotate maildir mime mmx mpeg mpm-worker mudflap mysql ncurses netqmail nls nptl nptlonly ole openmp pam pcre pdf perl pic png posix postgres ppds pppd prelude python readline reflection rss samba selinux server session shared sockets spamassassin spl sse sse2 ssl svg svnserve sysvipc tcpd threads tidy tiff tk truetype unicode vhosts wmf x86 xml xorg xpm xsl xulrunner zlib" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" USERLAND="GNU"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jory A. Pratt gentoo-dev 2009-09-08 22:37:42 UTC
did you run python-updater? I just ran the exact same test and it passes with flying colors.

Python 2.6.2 (r262:71600, Sep  7 2009, 10:52:55) 
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from test import test_datetime
>>> test_datetime.test_main()
.....
----------------------------------------------------------------------
Ran 239 tests in 0.848s


Comment 2 Ciprian Ciubotariu 2009-09-08 23:15:50 UTC
(In reply to comment #1)
> [GCC 4.4.1] on linux2

In my post one can see I have gcc-3 with PIE and SSP. I don't know how your python is compiled with gcc-4.

Comment 3 Jory A. Pratt gentoo-dev 2009-09-09 12:29:01 UTC
Python 2.6.2 (r262:71600, Sep  9 2009, 04:18:28) 
[GCC 3.4.6 (Gentoo Hardened 3.4.6-r2 p1.6, ssp-3.4.6-1.0, pie-8.7.10)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from test import test_datetime
>>> test_datetime.test_main()
test_bug_1028306 (test.test_datetime.Oddballs)
...

Ran 239 tests in 0.795s

OK


I am still unable to duplicate this issue with sane CFLAGS. Current emerge info for stable chroot includes

Portage 2.1.6.13 (hardened/linux/amd64/10.0/no-multilib, gcc-3.4.6, glibc-2.10.1-r0, 2.6.29-hardened-r1 x86_64)
=================================================================
System uname: Linux-2.6.29-hardened-r1-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T7500_@_2.20GHz-with-gentoo-1.12.11.1
Timestamp of tree: Unknown
app-shells/bash:     3.2_p39
dev-lang/python:     2.6.2-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.63-r1
sys-devel/automake:  1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=nocona -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=nocona -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O2 -Wl,--as-needed -Wl,--enable-new-dtags -Wl,--sort-common -Wl,-zcombreloc -Wl,--hash-style=both"
MAKEOPTS="-j3 -s --no-print-directory"
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="/home/toolchain"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 berkdb bzip2 cli cracklib crypt cups dri gdbm hardened iconv justify mmx mudflap ncurses nptl nptlonly pam pcre perl pic python readline session sse sse2 ssl sysfs tcpd urandom xorg zlib" ALSA_CARDS="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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nv nvidia"
Unset:  CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Only unstable package is glibc-2.10.1 which needs testing before it can be moved to tree.
Comment 4 Ciprian Ciubotariu 2009-09-11 14:44:11 UTC
(In reply to comment #3)

Putting aside the glibc version difference, I can also spot the arch difference - my computer is x86, while yours is amd64. Also, my profile is selinux/2007.0/x86/hardened, while yours is hardened/linux/amd64/10.0/no-multilib.

I have no clue if profiles are different enough to cause a problem, but I'll certainly try to reproduce these configurations in a virtual box. I'll get back with results.

Portage 2.1.6.13 (selinux/2007.0/x86/hardened, gcc-3.4.6, glibc-2.9_p20081201-r2, 2.6.28-hardened-r7 i686)
=================================================================
System uname: Linux-2.6.28-hardened-r7-i686-AMD_Sempron-tm-_Processor_3000+-with-glibc2.3.2
Timestamp of tree: Fri, 11 Sep 2009 04:00:01 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
dev-java/java-config: 2.1.8-r1
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"

> Portage 2.1.6.13 (hardened/linux/amd64/10.0/no-multilib, gcc-3.4.6,
> glibc-2.10.1-r0, 2.6.29-hardened-r1 x86_64)
> =================================================================
> System uname:
> Linux-2.6.29-hardened-r1-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T7500_@_2.20GHz-with-gentoo-1.12.11.1
> Timestamp of tree: Unknown
> app-shells/bash:     3.2_p39
> dev-lang/python:     2.6.2-r1
> sys-apps/baselayout: 1.12.11.1
> sys-apps/sandbox:    1.6-r2
> sys-devel/autoconf:  2.63-r1
> sys-devel/automake:  1.10.2
> sys-devel/binutils:  2.18-r3
> sys-devel/gcc-config: 1.4.1
> sys-devel/libtool:   1.5.26
> virtual/os-headers:  2.6.27-r2
> ACCEPT_KEYWORDS="amd64"
> CBUILD="x86_64-pc-linux-gnu"
> CFLAGS="-O2 -march=nocona -pipe"
> CHOST="x86_64-pc-linux-gnu"
> CXXFLAGS="-O2 -march=nocona -pipe"
> Only unstable package is glibc-2.10.1 which needs testing before it can be
> moved to tree.
> 

Comment 5 Ciprian Ciubotariu 2009-09-11 14:46:29 UTC
Also, forgot to mention I rebuilt the entire system with saner CFLAGS :)
Comment 6 Ciprian Ciubotariu 2009-09-16 16:01:14 UTC
Okay. For these tests I made an x86 virtual machine, doing a bare minimum installation. Cflags are sane (-O2 -march=i686 -pipe)

GCC-Version                                Glibc                Results
i686-pc-linux-gnu-4.3.2                    2.9_p20081201-r2     Success
i686-pc-linux-gnu-3.4.6                    2.9_p20081201-r2     Failed
i686-pc-linux-gnu-3.4.6-hardened-nopie     2.9_p20081201-r2     Failed
i686-pc-linux-gnu-3.4.6-hardened-nopiessp  2.9_p20081201-r2     Success
i686-pc-linux-gnu-3.4.6-hardened-nossp     2.9_p20081201-r2     Success

From the above table it seems the PIE flag sets python on fire. Haven't had the time/energy to do an amd64 or a glibc10 installation.

As a note, the gcc-4.3.2 was the initial compiler from stage3 before following the SElinux conversion guide.
Comment 7 Ciprian Ciubotariu 2009-09-16 16:03:32 UTC
Bah... sorry for the mistake... it's not PIE, but the SSP patch on gcc-3.4.6 breaks the python-2.6 datetime implementation.
Comment 8 Miroslav Šulc gentoo-dev 2009-09-17 11:49:42 UTC
i have the same problem with trac (i am running hardened gentoo too), i cannot browse source, display changesets and display tickets.

i already summarized my findings in email to trac mailing list so i'm reposting it here instead of rewriting it

----------------- here is copy of my mail to trac mailing list ---------
i tried to debug the code through logging statements (while reloading
page /browser) and found out, that the problem is in web/chrome.py in method

   def render_template(self, req, filename, data, content_type=None,
                        fragment=False):

on these lines (logging statements were added by me):

        try:
            buffer = cStringIO()
            self.log.debug('stream.render')
            stream.render(method, doctype=doctype, out=buffer)
            self.log.debug('stream.render.done')
            return buffer.getvalue().translate(_translate_nop,
                                               _invalid_control_chars)
        except Exception, e:
            self.log.debug('here')
            # restore what may be needed by the error template
            req.chrome['links'] = links
            req.chrome['scripts'] = scripts

log output is this (i added some other log statements to trac the path):

Trac[main] DEBUG: genshi
Trac[main] DEBUG: other
Trac[chrome] DEBUG: filename: browser.html method: xhtml
Trac[chrome] DEBUG: <MarkupTemplate "browser.html"> (this is output of
self.log.debug(template))
Trac[chrome] DEBUG: stream.render

string 'stream.render' is logged but 'stream.render.done' is not logged
nor string 'here' so i guess it crashes on stream.render() call. also,
from other logging attempts, it seems to me that even just access to
stream variable causes the seg fault (attempt to perform
self.log.debug(stream) ended log output). stream seems to be instance of
MarkupTemplate which seems to be part of genshi package, so i guess this
call:

stream = template.generate(**data)

creates stream that crashes the app. any ideas what could be the cause
that access to stream causes app crash? just to summarize:
www-apps/trac-0.11.5
dev-python/genshi-0.5.1
dev-lang/python-2.6.2-r1
-----------------------------------------------------------------------

Portage 2.1.6.13 (hardened/linux/x86/10.0, gcc-3.4.6, glibc-2.9_p20081201-r2, 2.6.28-hardened-r9 i686)
=================================================================
System uname: Linux-2.6.28-hardened-r9-i686-Intel-R-_Pentium-R-_4_CPU_3.00GHz-with-gentoo-1.12.11.1
Timestamp of tree: Thu, 17 Sep 2009 11:15:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.8-r1
dev-lang/python:     2.6.2-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.63-r1
sys-devel/automake:  1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fforce-addr"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=prescott -O2 -pipe -fforce-addr"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.supp.name/ ftp://gd.tuwien.ac.at/opsys/linux/gentoo/ http://mirror.pacific.net.au/linux/Gentoo"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j3"
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="/usr/portage/local/layman/java-overlay"
SYNC="rsync://rsync.cz.gentoo.org/gentoo-portage"
USE="apache2 berkdb crypt device-mapper hardened java5 java6 mmx ncurses pam perl pic python readline snmp ssl tcpd vhosts x86 xml" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 	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 auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 imstt intel 	mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage 	siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware 	voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 9 Ciprian Ciubotariu 2009-09-17 12:29:35 UTC
(In reply to comment #8)
> i have the same problem with trac (i am running hardened gentoo too), i cannot
> browse source, display changesets and display tickets.
> 

That is exactly where I started off debugging this issue. The current workaround for me is to use python 2.5:

cipi@pinky ~ $ eselect python list
Available python interpreters:
  [1]   python2.5 *
  [2]   python2.6
cipi@pinky ~ $

Perhaps you can check if it's the same bug by running the tests above. I suspect Trac crashes when it tries to render dates using the malfunctioning python function, but it's just a hunch.
Comment 10 Miroslav Šulc gentoo-dev 2009-09-17 12:52:09 UTC
i tried the test and it fails when python is compiled using i686-pc-linux-gnu-3.4.6 compiler on hardened profile. then i recompiled python with i686-pc-linux-gnu-3.4.6-hardenednossp compiler and both test and trac work so currently i run trac with python-2.6.2-r1 compiled with gcc without ssp.
Comment 11 Anthony Lieuallen 2009-09-21 15:30:54 UTC
I see the same problem.  Some wiki pages, other whole sections like source
browser would not load.  Hardened profile.

================================================================================

$ python2.6
Python 2.6.2 (r262:71600, Sep 13 2009, 10:18:50) 
[GCC 3.4.6 (Gentoo Hardened 3.4.6-r2 p1.6, ssp-3.4.6-1.0, pie-8.7.10)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from test import test_datetime
>>> test_datetime.test_main()
[snip] ... ok
test_zones (test.test_datetime.TestTimeTZ) ... Segmentation fault

================================================================================

$ emerge --info
Portage 2.1.6.13 (hardened/linux/x86/10.0, gcc-3.4.6, glibc-2.9_p20081201-r2, 2.6.28-hardened-r9-paranoid i686)
=================================================================
System uname: Linux-2.6.28-hardened-r9-paranoid-i686-Intel-R-_Celeron-R-_CPU_2.00GHz-with-glibc2.3.2
Timestamp of tree: Mon, 21 Sep 2009 13:00:01 +0000
app-shells/bash:     3.2_p39
dev-lang/python:     2.4.6, 2.5.4-r3, 2.6.2-r1
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="collision-protect distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://gentoo.mirrors.tds.net/gentoo ftp://mirror.datapipe.net/gentoo ftp://gentoo.mirrors.tds.net/gentoo"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
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=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl apache2 bash-completion berkdb bzip2 cli cracklib crypt curl dri gdbm gpm hardened iconv isdnlog logrotate modules mudflap ncurses nptl nptlonly ntpl ntplonly offensive pam pcre perl php pic pppd python readline reflection session shared spl ssl sysfs tcpd unicode urandom x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1    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 auth_digest authn_default authn_file authz_default authz_groupfile authz_host authz_owner authz_user autoindex dav dav_fs dav_lock deflate dir env expires filter include log_config logio mime mime_magic negotiation rewrite setenvif status unique_id userdir" APACHE2_MPMS="prefork" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 imstt intel      mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage      siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware         voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

================================================================================
Comment 12 Anthony Lieuallen 2009-09-23 16:55:43 UTC
Compiling with nossp made the tests pass, but Trac doesn't seem to perform any better.
Comment 13 Ciprian Ciubotariu 2009-09-24 11:19:00 UTC
(In reply to comment #12)
> Compiling with nossp made the tests pass, but Trac doesn't seem to perform any
> better.
> 

Have you checked you are running trac with the nossp version of python? (note that I'm just suggesting this - my personal setup is working with python2.5 at the moment)
Comment 14 mephinet 2009-09-25 19:11:47 UTC
I'm able to reproduce the bug on my hardened box:
it's the strftime method of the datetime.time object that segfaults, when instantiated with the tzinfo instance.

So this code segfaults on my machine:
$ python -c 'import datetime; from test.test_datetime import FixedOffset; print datetime.time(7, 47, tzinfo=FixedOffset(-300, "EST", 1)).strftime("%H:%M:%S %%Z=%Z %%z=%z")'

While this one does not:
$ python -c 'import datetime; from test.test_datetime import FixedOffset; print datetime.time(7, 47, tzinfo=None).strftime("%H:%M:%S %%Z=%Z %%z=%z")'
07:47:00 %Z= %z=

Python 2.6.2, GCC 3.4.6 (Gentoo Hardened 3.4.6-r2 p1.6, ssp-3.4.6-1.0, pie-8.7.10)
Comment 15 Gordon Malm (RETIRED) gentoo-dev 2009-10-14 00:26:07 UTC
GCC 4.3.4 is stable on Hardened.  Hardened GCC 3.x is frozen and will not be receiving further updates.  Re-assigning to python@g.o to track upstream and incorporate any upstream patches, etc. if they want.
Comment 16 brice 2009-11-18 15:24:36 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > i have the same problem with trac (i am running hardened gentoo too), i cannot
> > browse source, display changesets and display tickets.
> > 
> 
> That is exactly where I started off debugging this issue. The current
> workaround for me is to use python 2.5:
> 
> cipi@pinky ~ $ eselect python list
> Available python interpreters:
>   [1]   python2.5 *
>   [2]   python2.6
> cipi@pinky ~ $
> 
> Perhaps you can check if it's the same bug by running the tests above. I
> suspect Trac crashes when it tries to render dates using the malfunctioning
> python function, but it's just a hunch.
> 
accessing a trac project through Apache/2.2.11 (Ubuntu) DAV/2 SVN/1.5.4 mod_python/3.3.1 Python/2.6.2 PHP/5.2.6-3ubuntu4.2 with Suhosin-Patch mod_ssl/2.2.11 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0

Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/trac/web/api.py", line 339, in send_error
    'text/html')
[...]
File "/usr/lib/python2.6/dist-packages/trac/db/api.py", line 97, in _get_connector
    raise TracError('Unsupported database type "%s"' % scheme)
TracError: Unsupported database type "sqlite"
-----
easy_install trac
Searching for trac
Best match: Trac 0.11.5
Processing Trac-0.11.5-py2.6.egg
Trac 0.11.5 is already the active version in easy-install.pth
Installing trac-admin script to /usr/local/bin
Installing tracd script to /usr/local/bin

Using /usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg
Processing dependencies for trac
Finished processing dependencies for trac

trac-admin - The Trac Administration Console 0.11.5

trac-admin /etc/apache2/trac upgrade
Database is up to date, no upgrade necessary.



>>> import trac.db.sqlite_backend as tets
>>> tets._ver
(3, 6, 10)
>>> tets.have_pysqlite
2
>>> tets.sqlite.version
'2.5.0'
>>> import sqlite3
>>> sqlite3.version
'2.4.1'
$:sqlite db/trac.db 
Unable to open database "db/trac.db": file is encrypted or is not a database
$:/etc/apache2/trac# sqlite3 db/trac.db 
SQLite version 3.6.10
sqlite> PRAGMA integrity_check;
ok
sqlite>
-----
sorry but... how to downgrade from python2.6 to 2.5 : which package to install through apt-get to have eselect, emerge tools ?
Comment 17 Ciprian Ciubotariu 2009-11-19 10:14:50 UTC
(In reply to comment #16)

Perhaps you should address this to an Ubuntu forum rather then Gentoo's bug tracker.
Comment 18 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-11-29 19:45:38 UTC
We currently don't support GCC 3.
Comment 19 Ciprian Ciubotariu 2009-11-30 19:47:10 UTC
(In reply to comment #18)
> We currently don't support GCC 3.
> 

Yeah, as of yesterday I got gcc4 on the selinux-hardened profile. Cool. Hope it works.