Summary: | dev-python/pycurl-7.19.0-r1000 crashes python interpreter when calling reset too many times on a pycurl object | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Christophe Farges <cfarges> |
Component: | Current packages | Assignee: | Python Gentoo Team <python> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | arfrever.fta, mgorny |
Priority: | Normal | Keywords: | PATCH |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
First patch to apply to correct error
Second patch to apply to correct error Ebuild to apply the two patchs |
Description
Christophe Farges
2012-10-09 16:13:39 UTC
Additional informations: https://rhn.redhat.com/errata/RHBA-2011-0295.html Created attachment 326096 [details, diff]
First patch to apply to correct error
Created attachment 326098 [details, diff]
Second patch to apply to correct error
Created attachment 326100 [details]
Ebuild to apply the two patchs
Comment on attachment 326100 [details] Ebuild to apply the two patchs --- pycurl-7.19.0-r1.ebuild 2012-10-02 01:35:28.000000000 +0200 +++ - 2012-10-09 22:08:32.116027626 +0200 @@ -1,54 +1,45 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright owners: Gentoo Foundation +# Arfrever Frehtes Taifersar Arahesis # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-python/pycurl/pycurl-7.19.0-r1.ebuild,v 1.9 2012/09/29 18:44:44 armin76 Exp $ -EAPI="4" -PYTHON_DEPEND="2" -SUPPORT_PYTHON_ABIS="1" -# The selftests fail with pypy, and urlgrabber segfaults for me. -RESTRICT_PYTHON_ABIS="3.* *-jython *-pypy-*" +EAPI="4-python" +PYTHON_MULTIPLE_ABIS="1" +PYTHON_RESTRICTED_ABIS="3.* *-jython *-pypy-*" inherit distutils eutils -DESCRIPTION="python binding for curl/libcurl" +DESCRIPTION="Python binding for curl/libcurl" HOMEPAGE="http://pycurl.sourceforge.net/ http://pypi.python.org/pypi/pycurl" SRC_URI="http://pycurl.sourceforge.net/download/${P}.tar.gz" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" IUSE="curl_ssl_gnutls curl_ssl_nss +curl_ssl_openssl examples ssl" -# Depend on a curl with curl_ssl_* USE flags. -# libcurl must not be using an ssl backend we do not support. -# If the libcurl ssl backend changes pycurl should be recompiled. -# If curl uses gnutls, depend on at least gnutls 2.11.0 so that pycurl -# does not need to initialize gcrypt threading and we do not need to -# explicitly link to libgcrypt. DEPEND=">=net-misc/curl-7.25.0-r1[ssl=] - ssl? ( - net-misc/curl[curl_ssl_gnutls=,curl_ssl_nss=,curl_ssl_openssl=,-curl_ssl_axtls,-curl_ssl_cyassl,-curl_ssl_polarssl] - curl_ssl_gnutls? ( >=net-libs/gnutls-2.11.0 ) - )" + ssl? ( net-misc/curl[curl_ssl_gnutls=,curl_ssl_nss=,curl_ssl_openssl=,-curl_ssl_axtls,-curl_ssl_cyassl,-curl_ssl_polarssl] )" RDEPEND="${DEPEND}" -PYTHON_MODNAME="curl" +PYTHON_MODULES="curl" src_prepare() { distutils_src_prepare - epatch "${FILESDIR}/${P}-linking-v2.patch" + epatch "${FILESDIR}/${P}-linking.patch" + epatch "${FILESDIR}/${P}-do_curl_reset-reinitialize-handle.patch" + epatch "${FILESDIR}/${P}-do_curl_reset_refcount.patch" + + sed -e "/data_files=/d" -i setup.py || die "sed failed" } src_test() { testing() { - PYTHONPATH="$(ls -d build-${PYTHON_ABI}/lib.*)" "$(PYTHON)" tests/test_internals.py -q + python_execute PYTHONPATH="$(ls -d build-${PYTHON_ABI}/lib*)" "$(PYTHON)" tests/test_internals.py -q } python_execute_function testing } src_install() { - sed -e "/data_files=/d" -i setup.py || die "sed in setup.py failed" - distutils_src_install dohtml -r doc/* Copying Arfrever since you reported this bug on Funtoo. I'm sure it affects the Gentoo ebuilds as well. It appears upstream development has recently moved to github. I believe this is the relevant commit. https://github.com/pycurl-devs/pycurl/commit/698e3c09cf5d05290dca91d7e2546cec9c5b1e8b Looks like all the fixes were integrated upstream. Can't reproduce with 7.43.0. |