copying and adjusting scripts/urlgrabber -> build/scripts-2.6 changing mode of build/scripts-2.6/urlgrabber from 644 to 755 /var/tmp/portage/dev-python/urlgrabber-3.9.1/temp/environment: line 765: 4767 Segmentation fault "$(PYTHON)" setup.py "${DISTUTILS_GLOBAL_OPTIONS[@]}" build "$@" Reproducible: Always emerge --info Portage 2.1.8.3 (default/linux/amd64/10.0/desktop, gcc-4.4.3, glibc-2.11-r1, 2.6.32-gentoo-r3 x86_64) ================================================================= System uname: Linux-2.6.32-gentoo-r3-x86_64-Dual-Core_AMD_Opteron-tm-_Processor_1220_SE-with-gentoo-2.0.1 Timestamp of tree: Fri, 09 Apr 2010 16:00:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.1_p5 dev-java/java-config: 2.1.10 dev-lang/python: 2.4.6, 2.6.5-r1 dev-python/pycrypto: 2.1.0 dev-util/ccache: 2.4-r8 dev-util/cmake: 2.8.0-r2 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.0-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.6.3-r1, 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1 sys-devel/gcc: 4.4.3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.33 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -ggdb" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=native -O2 -pipe -ggdb" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests buildsyspkg ccache distlocks fixpackages metadata-transfer news parallel-fetch protect-owned sandbox sfperms sign splitdebug strict test-fail-continue unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.osuosl.org/ ftp://ftp.gtlib.gatech.edu/pub/gentoo http://www.gtlib.gatech.edu/pub/gentoo http://open-systems.ufl.edu/mirrors/gentoo " LANG="C" LDFLAGS="-Wl,--as-needed" LINGUAS="en en_US" 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/local/portage/layman/pro-audio /usr/local/portage/layman/perl-experimental /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa amd64 apache2 aspell automount avahi badval bash-completion berkdb bindist bluetooth branding bzip2 cairo ccache cdaudio cdda cddb cdparanoia cdr cdrom cleartype cli color-console colordiff config-file consolekit cracklib crypt ctype cups curl cxx dbus device-mapper dns dri dts dvd dvdarchive dvdr dvdread emboss encode equalizer examples exif expat extensions extras fam festival ffmpeg filter firefox firefox3 flac fontconfig foomaticdb fortran fortune ftp fts3 gconf gdbm gdu gedit gif gimp git glib glitz gnome gnome-print gnutls gpg gpm gsl gsm gstreamer gtk gtkhtml gtkspell gui guidexml h323 hal htmltidy http-forms http-server iconv ide imlib2 ipv6 jadetex javascript jpeg kdrive lame lcms ldap libnotify lm_sensors logrotate logviewer logwatch mad mailbox mbrola mdnsresponder-compat messages mikmod mjpeg mmx mng modules mp2 mp3 mp3rtp mp4 mp4live mpeg mpeg2 mplayer mudflap multilib mysql nautilus ncurses nls nptl nptlonly nsplugin ogg ogg123 opengl opengl-video opengl-xvmc openmp openssh oss pam pango pcre pdf perl php pidgin pipechan pixmaps png podcast policykit ppds pppd proj pulseaudio python qt3support readline reflection reiserfs replytolist rhythmbox rss sdl secure-delete session sip slang smime sox spamassassin spell spf spl sqlite sqlite3 sse sse2 ssl startup-notification status stream subversion svg svgz swig sysfs tcl tcpd templates theora threads threadsafe thunderbird tiff tk tokenizer truetype twolame type1 unicode unzip usb v4l v4l2 vhook video videos vim vim-pager vim-syntax vim-with-x vorbis wav weather wma wmp x264 xcb xcomposite xfs xinerama xml xmlrpc xorg xulrunner xv xvid zip zlib" ALSA_CARDS="emu10k1x" 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="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nv nvidia" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS emerge -pv dev-python/urlgrabber These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] dev-python/urlgrabber-3.9.1 [3.1.0] 0 kB
Created attachment 227189 [details] dev-python/urlgrabber-3.9.1/temp/build.log
Interestingly the segfault seems to happen at the very end of the compile phase: changing mode of build/scripts-2.6/urlgrabber from 644 to 755 [YOUR SEGFAULT HERE] >>> Source compiled. Though my setup admittedly differs slightly I cannot reproduce this. Could you check for us if it still happens after updating to Python 2.6.5-r2 and after that with Bash updated to 4.1_p7? (I'm not sure from the output it's Bash or python segfaulting for you.) Thank you!
creating build/scripts-2.6 copying and adjusting scripts/urlgrabber -> build/scripts-2.6 changing mode of build/scripts-2.6/urlgrabber from 644 to 755 /var/tmp/portage/dev-python/urlgrabber-3.9.1/temp/environment: line 971: 10306 Segmentation fault "$(PYTHON)" setup.py "${DISTUTILS_GLOBAL_OPTIONS[@]}" build "$@" * ERROR: dev-python/urlgrabber-3.9.1 failed: * Building failed * * Call stack: * ebuild.sh, line 48: Called src_compile * environment, line 3267: Called distutils_src_compile * environment, line 980: Called die * The specific snippet of code: * "$(PYTHON)" setup.py "${DISTUTILS_GLOBAL_OPTIONS[@]}" build "$@" || die "Building failed"; * * If you need support, post the output of 'emerge --info =dev-python/urlgrabber-3.9.1', * the complete build log and the output of 'emerge -pqv =dev-python/urlgrabber-3.9.1'. * The complete build log is located at '/var/tmp/portage/dev-python/urlgrabber-3.9.1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-python/urlgrabber-3.9.1/temp/environment'. * S: '/var/tmp/portage/dev-python/urlgrabber-3.9.1/work/urlgrabber-3.9.1' >>> Failed to emerge dev-python/urlgrabber-3.9.1, Log file: >>> '/var/tmp/portage/dev-python/urlgrabber-3.9.1/temp/build.log' opteron ~ # emerge --info Portage 2.2_rc67 (default/linux/amd64/10.0/desktop/gnome, gcc-4.4.4, glibc-2.11.2-r0, 2.6.33-gentoo-r1 x86_64) ================================================================= System uname: Linux-2.6.33-gentoo-r1-x86_64-Dual-Core_AMD_Opteron-tm-_Processor_1220_SE-with-gentoo-2.0.1 Timestamp of tree: Sat, 26 Jun 2010 00:00:22 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.1_p7 dev-java/java-config: 2.1.11 dev-lang/python: 2.6.5-r2, 3.1.2-r3
3.1.0 installs fine changing mode of build/scripts-2.6/urlgrabber from 644 to 755 >>> Source compiled. >>> Test phase [not enabled]: dev-python/urlgrabber-3.1.0 >>> Install urlgrabber-3.1.0 into /var/tmp/portage/dev-python/urlgrabber-3.1.0/image/ category dev-python python2.6 setup.py install --root=/var/tmp/portage/dev-python/urlgrabber-3.1.0/image/ --no-compile running install
If I manually download and run setup.py on 3.1.0 and 3.9.1 opteron src # cd urlgrabber-3.1.0/ opteron urlgrabber-3.1.0 # python setup.py usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] or: setup.py --help [cmd1 cmd2 ...] or: setup.py --help-commands or: setup.py cmd --help error: no commands supplied opteron urlgrabber-3.1.0 # cd .. opteron src # cd urlgrabber-3.9.1/ opteron urlgrabber-3.9.1 # python setup.py usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] or: setup.py --help [cmd1 cmd2 ...] or: setup.py --help-commands or: setup.py cmd --help error: no commands supplied Segmentation fault reinstalled dev-python/setuptools-0.6.13 and dev-lang/python-2.6.5-r2
Please check exactly which commit causes this problem. http://yum.baseurl.org/gitweb?p=urlgrabber.git;a=summary
Created attachment 236657 [details] grabber.py.diff If I add sslfactory.py and replace grabber.py from 3.1.0 then 3.9.1 does not Segmentation fault
Created attachment 236659 [details] sslfactory.py
(In reply to comment #7) This patch reverts many bug fixes and cannot be applied.
> This patch reverts many bug fixes and cannot be applied. Any ideas how to trace the segfault down further, then?
(In reply to comment #10) > > This patch reverts many bug fixes and cannot be applied. > > Any ideas how to trace the segfault down further, then? Separately check each commit in git repository of urlgrabber.
OK, I uses sping's suggestion and used git bisect and found the commit; http://yum.baseurl.org/gitweb?p=urlgrabber.git;a=commit;h=07074e08a000b0de133cdbb4c4dab6244eae0323
Ok I ran it again and here is the output; git bisect bad 79e1c58d08df12d8e31898e56c24ec38bb9ef71c is the first bad commit commit 79e1c58d08df12d8e31898e56c24ec38bb9ef71c Author: Seth Vidal <skvidal@fedoraproject.org> Date: Tue Jul 28 17:12:07 2009 -0400 implement PyCurlFileObject. This makes the default and forklifts all the code to pycurl. This is not finished but is functional for a significant number of the tests. things known to be broken: - proxies - http POST - non-header-based byte-ranges - certain types of read operations when downloading a file to memory instead of to a filename :040000 040000 ce6e8dfc1c5b1c20d993c228cb9e465a0c6c6e91 3d796018569bbe23cbdf9eca2706668e8b0404d5 M test :040000 040000 5f8111a7965938781d17acf4007338e5fdc3b713 e8544716fc5ccc3241b900690ad69ef7dd58e94d M urlgrabber I tested after each run of git bisect and marked either good or bad.
Does the following command print anything? python2.6 -c 'import pycurl; _curl_cache = pycurl.Curl()'
(In reply to comment #14) > Does the following command print anything? > python2.6 -c 'import pycurl; _curl_cache = pycurl.Curl()' > quit python2.6 -c 'import pycurl; _curl_cache = pycurl.Curl()' Segmentation fault from ipython In [1]: import pycurl; _curl_cache = pycurl.Curl() In [2]:
OK, I reinstalled dev-python/pycurl-7.19.0 and it is fixed so I will close as invalid as it was a problem with my install, thanks :)