Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 314435 - dev-python/urlgrabber-3.9.1 failed
Summary: dev-python/urlgrabber-3.9.1 failed
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Ioannis Aslanidis (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-10 00:06 UTC by David Abbott
Modified: 2010-06-27 21:17 UTC (History)
2 users (show)

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


Attachments
dev-python/urlgrabber-3.9.1/temp/build.log (build.log,2.20 KB, text/plain)
2010-04-10 00:07 UTC, David Abbott (RETIRED)
Details
grabber.py.diff (grabber.py.diff,46.33 KB, text/plain)
2010-06-26 18:15 UTC, David Abbott (RETIRED)
Details
sslfactory.py (sslfactory.py,3.03 KB, text/plain)
2010-06-26 18:15 UTC, David Abbott (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Abbott (RETIRED) gentoo-dev 2010-04-10 00:06:53 UTC
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
Comment 1 David Abbott (RETIRED) gentoo-dev 2010-04-10 00:07:36 UTC
Created attachment 227189 [details]
dev-python/urlgrabber-3.9.1/temp/build.log
Comment 2 Sebastian Pipping gentoo-dev 2010-06-26 00:08:52 UTC
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!
Comment 3 David Abbott (RETIRED) gentoo-dev 2010-06-26 00:51:45 UTC
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
Comment 4 David Abbott (RETIRED) gentoo-dev 2010-06-26 00:53:39 UTC
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
Comment 5 David Abbott (RETIRED) gentoo-dev 2010-06-26 13:59:31 UTC
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
Comment 6 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-06-26 15:13:57 UTC
Please check exactly which commit causes this problem.
http://yum.baseurl.org/gitweb?p=urlgrabber.git;a=summary
Comment 7 David Abbott (RETIRED) gentoo-dev 2010-06-26 18:15:30 UTC
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
Comment 8 David Abbott (RETIRED) gentoo-dev 2010-06-26 18:15:46 UTC
Created attachment 236659 [details]
sslfactory.py
Comment 9 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-06-26 18:26:05 UTC
(In reply to comment #7)

This patch reverts many bug fixes and cannot be applied.
Comment 10 Sebastian Pipping gentoo-dev 2010-06-26 18:47:25 UTC
> This patch reverts many bug fixes and cannot be applied.

Any ideas how to trace the segfault down further, then?
Comment 11 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-06-26 18:58:20 UTC
(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.
Comment 12 David Abbott (RETIRED) gentoo-dev 2010-06-27 14:03:34 UTC
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
Comment 13 David Abbott (RETIRED) gentoo-dev 2010-06-27 14:51:00 UTC
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.
Comment 14 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-06-27 16:25:57 UTC
Does the following command print anything?
python2.6 -c 'import pycurl; _curl_cache = pycurl.Curl()'
Comment 15 David Abbott (RETIRED) gentoo-dev 2010-06-27 17:29:03 UTC
(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]: 
Comment 16 David Abbott (RETIRED) gentoo-dev 2010-06-27 21:17:45 UTC
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 :)