Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "python3Packages.greenlet: 0.4.16 -> 0.4.17" #104327

Merged
merged 1 commit into from Nov 20, 2020

Conversation

jonringer
Copy link
Contributor

@jonringer jonringer commented Nov 19, 2020

Motivation for this change

This reverts commit 4bfbcbe.

0.4.17 can cause segfaults, and some packages such as dulwich
will fail during tests

made an upstream issue here: python-greenlet/greenlet#217

closes: #104275

did git bisect to locate this offending commit:

4bfbcbeb383e442bb9b60d82fc401340bc38536a is the first bad commit
commit 4bfbcbeb383e442bb9b60d82fc401340bc38536a
Author: Frederik Rietdijk <fridh@fridh.nl>
Date:   Sun Oct 25 10:06:52 2020 +0100

    python3Packages.greenlet: 0.4.16 -> 0.4.17

 pkgs/development/python-modules/greenlet/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
bisect run success
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

This reverts commit 4bfbcbe.

0.4.17 can cause segfaults, and some packages such as `dulwich`
will fail during tests
@jonringer
Copy link
Contributor Author

everything that's failing, was failing on master

$ nbfkg graalvm8 jvmci8 python27Packages.cassandra-driver python27Packages.gipc python27Packages.locustio python37Packages.cassandra-driver python37Packages.gipc python37Packages.locustio python37Packages.pyalgotrade python37Packages.ws4py python38Packages.cassandra-driver python38Packages.gipc python38Packages.ws4py
builder for '/nix/store/1nn7r3pw2pdy9yfky0zxc8virdmjn2bg-python2.7-gipc-1.1.0.drv' failed with exit code 1; last 10 log lines:
  removing build/bdist.linux-x86_64/wheel
  Finished executing setuptoolsBuildPhase
  installing
  Executing pipInstallPhase
  /build/gipc-1.1.0/dist /build/gipc-1.1.0
  DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
  DEPRECATION: The -b/--build/--build-dir/--build-directory option is deprecated. pip 20.3 will remove support for this functionality. A possible replacement is use the TMPDIR/TEMP/TMP environment variable, possibly combined with --no-clean. You can find discussion regarding this at https://github.com/pypa/pip/issues/8333.
  Processing ./gipc-1.1.0-py2-none-any.whl
  ERROR: Could not find a version that satisfies the requirement gevent<1.5,>=1.2 (from gipc==1.1.0) (from versions: none)
  ERROR: No matching distribution found for gevent<1.5,>=1.2 (from gipc==1.1.0)
builder for '/nix/store/g9b14vws9zsk8xghf3idjdd9lwihbyha-python3.7-gipc-1.1.0.drv' failed with exit code 1; last 10 log lines:
  adding 'gipc-1.1.0.dist-info/RECORD'
  removing build/bdist.linux-x86_64/wheel
  Finished executing setuptoolsBuildPhase
  installing
  Executing pipInstallPhase
  /build/gipc-1.1.0/dist /build/gipc-1.1.0
  DEPRECATION: The -b/--build/--build-dir/--build-directory option is deprecated. pip 20.3 will remove support for this functionality. A possible replacement is use the TMPDIR/TEMP/TMP environment variable, possibly combined with --no-clean. You can find discussion regarding this at https://github.com/pypa/pip/issues/8333.
  Processing ./gipc-1.1.0-py3-none-any.whl
  ERROR: Could not find a version that satisfies the requirement gevent<1.5,>=1.2 (from gipc==1.1.0) (from versions: none)
  ERROR: No matching distribution found for gevent<1.5,>=1.2 (from gipc==1.1.0)
builder for '/nix/store/7kbygc850dkgazxzfk7ypj301kfwg2id-python3.8-gipc-1.1.0.drv' failed with exit code 1; last 10 log lines:
  adding 'gipc-1.1.0.dist-info/RECORD'
  removing build/bdist.linux-x86_64/wheel
  Finished executing setuptoolsBuildPhase
  installing
  Executing pipInstallPhase
  /build/gipc-1.1.0/dist /build/gipc-1.1.0
  DEPRECATION: The -b/--build/--build-dir/--build-directory option is deprecated. pip 20.3 will remove support for this functionality. A possible replacement is use the TMPDIR/TEMP/TMP environment variable, possibly combined with --no-clean. You can find discussion regarding this at https://github.com/pypa/pip/issues/8333.
  Processing ./gipc-1.1.0-py3-none-any.whl
  ERROR: Could not find a version that satisfies the requirement gevent<1.5,>=1.2 (from gipc==1.1.0) (from versions: none)
  ERROR: No matching distribution found for gevent<1.5,>=1.2 (from gipc==1.1.0)
builder for '/nix/store/fg29vm9pxmqhibjswkrrizdwh2617ilx-python2.7-locustio-0.14.4.drv' failed with exit code 1; last 10 log lines:
      self.parseArgs(argv)
    File "/nix/store/xdha1qdqlh9hhymxq3w79zvjmwdyxqyz-python-2.7.18/lib/python2.7/unittest/main.py", line 149, in parseArgs
      self.createTests()
    File "/nix/store/xdha1qdqlh9hhymxq3w79zvjmwdyxqyz-python-2.7.18/lib/python2.7/unittest/main.py", line 158, in createTests
      self.module)
    File "/nix/store/xdha1qdqlh9hhymxq3w79zvjmwdyxqyz-python-2.7.18/lib/python2.7/unittest/loader.py", line 130, in loadTestsFromNames
      suites = [self.loadTestsFromName(name, module) for name in names]
    File "/nix/store/xdha1qdqlh9hhymxq3w79zvjmwdyxqyz-python-2.7.18/lib/python2.7/unittest/loader.py", line 100, in loadTestsFromName
      parent, obj = obj, getattr(obj, part)
  AttributeError: 'module' object has no attribute 'test'
builder for '/nix/store/xhbq612hfwlcaa0g2r77s7q2gyc49lcd-python3.7-pytest-testmon-1.0.3.drv' failed with exit code 1; last 10 log lines:

  -- Docs: https://docs.pytest.org/en/latest/warnings.html
  =========================== short test summary info ============================
  FAILED test_core.py::TestData::test_filenames_fingerprints - AssertionError: ...
  FAILED test_core.py::TestData::test_write_get_changed_file_data - AssertionEr...
  FAILED test_core.py::TestData::test_determine_stable_flow - AssertionError: a...
  FAILED test_core.py::TestData::test_write_data2 - ValueError: not enough valu...
  FAILED test_core.py::TestData::test_one_failed_in_fingerprints - IndexError: ...
  FAILED test_core.py::TestData::test_nodes_classes_modules_durations - Attribu...
  ============== 6 failed, 56 passed, 2 xfailed, 1 warning in 0.61s ==============
cannot build derivation '/nix/store/sw1nzi45y0fmrjnxkma03c7abazif9fb-python3.7-cheroot-8.4.5.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/3wl868lzbp76jjr0ka9dzlf1w7vmwncj-python3.7-cherrypy-18.6.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/18f34q0jzl9q0h0704v4cn5fy11pasgc-python3.7-ws4py-0.5.1.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/krxgk0mpqzm2cnvav2iz12rcn8j7agyn-python3.7-pyalgotrade-0.20.drv': 1 dependencies couldn't be built
builder for '/nix/store/4qqgyy60gqb6x31k68hg7plz83a9xmyp-python3.8-pytest-testmon-1.0.3.drv' failed with exit code 1; last 10 log lines:

  -- Docs: https://docs.pytest.org/en/latest/warnings.html
  =========================== short test summary info ============================
  FAILED test_core.py::TestData::test_filenames_fingerprints - AssertionError: ...
  FAILED test_core.py::TestData::test_write_get_changed_file_data - AssertionEr...
  FAILED test_core.py::TestData::test_determine_stable_flow - AssertionError: a...
  FAILED test_core.py::TestData::test_write_data2 - ValueError: not enough valu...
  FAILED test_core.py::TestData::test_one_failed_in_fingerprints - IndexError: ...
  FAILED test_core.py::TestData::test_nodes_classes_modules_durations - Attribu...
  ============== 6 failed, 56 passed, 2 xfailed, 1 warning in 0.61s ==============
cannot build derivation '/nix/store/fnfbnhrrgrygmvsw7105w4i9vk0as0zb-python3.8-cheroot-8.4.5.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/js50myh03dkr057vxa7drzv9qx95pnmg-python3.8-cherrypy-18.6.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/9bx5q8wvsadywc0yi9xdcfy7yqfw1mid-python3.8-ws4py-0.5.1.drv': 1 dependencies couldn't be built
builder for '/nix/store/y89hp2prhyz6p8jha1hw6d3x68z2f9sg-python3.7-locustio-0.14.4.drv' failed with exit code 139; last 10 log lines:
    return f(*args, **kwds)
  /nix/store/4zasvd49cfb5mqr4pjngh0h8fxvnwzym-python3-3.7.9/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
    return f(*args, **kwds)
  /nix/store/4zasvd49cfb5mqr4pjngh0h8fxvnwzym-python3-3.7.9/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
    return f(*args, **kwds)
  /nix/store/4zasvd49cfb5mqr4pjngh0h8fxvnwzym-python3-3.7.9/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
    return f(*args, **kwds)
  /nix/store/4zasvd49cfb5mqr4pjngh0h8fxvnwzym-python3-3.7.9/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
    return f(*args, **kwds)
  test_connection_error (locust.test.test_client.TestHttpSession) ... /nix/store/hjr13b54jrnmazycfwdn3zg134yrqamq-setuptools-check-hook/nix-support/setup-hook: line 4:   153 Segmentation fault      (core dumped) /nix/store/4zasvd49cfb5mqr4pjngh0h8fxvnwzym-python3-3.7.9/bin/python3.7 nix_run_setup test
builder for '/nix/store/9fi39nr6fihv1wjhvz89wkmakqmi64xf-jvmci-19.3-b05.drv' failed with exit code 1; last 10 log lines:
      _jvmci_bootstrap_jdk = mx.get_jdk(_versionCheck, versionDescription=versionDesc, tag='default')
    File "/nix/store/w2vh5r7vpqm6pprf2vygwia2dn7q07vl-mx-5.247.1/bin/internal_mx.py", line 11781, in get_jdk
      abort_not_found()
    File "/nix/store/w2vh5r7vpqm6pprf2vygwia2dn7q07vl-mx-5.247.1/bin/internal_mx.py", line 11755, in abort_not_found
      abort(msg)
    File "/nix/store/w2vh5r7vpqm6pprf2vygwia2dn7q07vl-mx-5.247.1/bin/internal_mx.py", line 3716, in abort
      traceback.print_stack()
  Could not find a JDK >=1.8.0_141 and <1.9
  Specify one with the --java-home or --extra-java-homes option or with the JAVA_HOME or EXTRA_JAVA_HOMES environment variable.
  Or run `/nix/store/w2vh5r7vpqm6pprf2vygwia2dn7q07vl-mx-5.247.1/bin/select_jdk.py -p /build/source` to set and persist these variables in /build/source/mx.jvmci/env.
cannot build derivation '/nix/store/jxbplwlx5hrhcahxisqfxr6w9a553jiq-graal-19.2.1.drv': 1 dependencies couldn't be built
[3/0/3 built (8 failed), 4 copied (21.4/21.4 MiB), 4.1 MiB DL] building python2.7-cassandra-driver-3.24.0 (buildPhase): gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/nix/store/xdha1qdqlh9hhymxq3w79zvjmwd[3/0/3 bbuilder for '/nix/store/s2bdj55961192inf5nbf1pzrb2fcxj98-python2.7-cassandra-driver-3.24.0.drv' failed with exit code 1; last 10 log lines:
  removing build/bdist.linux-x86_64/wheel
  Finished executing setuptoolsBuildPhase
  installing
  Executing pipInstallPhase
  /build/cassandra-driver-3.24.0/dist /build/cassandra-driver-3.24.0
  DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
  DEPRECATION: The -b/--build/--build-dir/--build-directory option is deprecated. pip 20.3 will remove support for this functionality. A possible replacement is use the TMPDIR/TEMP/TMP environment variable, possibly combined with --no-clean. You can find discussion regarding this at https://github.com/pypa/pip/issues/8333.
  Processing ./cassandra_driver-3.24.0-cp27-cp27mu-linux_x86_64.whl
  ERROR: Could not find a version that satisfies the requirement geomet<0.3,>=0.1 (from cassandra-driver==3.24.0) (from versions: none)
  ERROR: No matching distribution found for geomet<0.3,>=0.1 (from cassandra-driver==3.24.0)
builder for '/nix/store/8l51fmgg8qkjggjqr8dag2fc7amhmyx7-python3.7-cassandra-driver-3.24.0.drv' failed with exit code 1; last 10 log lines:
  removing build/bdist.linux-x86_64/wheel
  Finished executing setuptoolsBuildPhase
  installing
  Executing pipInstallPhase
  /build/cassandra-driver-3.24.0/dist /build/cassandra-driver-3.24.0
  DEPRECATION: The -b/--build/--build-dir/--build-directory option is deprecated. pip 20.3 will remove support for this functionality. A possible replacement is use the TMPDIR/TEMP/TMP environment variable, possibly combined with --no-clean. You can find discussion regarding this at https://github.com/pypa/pip/issues/8333.
  Processing ./cassandra_driver-3.24.0-cp37-cp37m-linux_x86_64.whl
  Requirement already satisfied: six>=1.9 in /nix/store/m61wj5x5yxc0359j145jpbpqlkvwpg14-python3.7-six-1.15.0/lib/python3.7/site-packages (from cassandra-driver==3.24.0) (1.15.0)
  ERROR: Could not find a version that satisfies the requirement geomet<0.3,>=0.1 (from cassandra-driver==3.24.0) (from versions: none)
  ERROR: No matching distribution found for geomet<0.3,>=0.1 (from cassandra-driver==3.24.0)
[1/0/1 built (10 failed), 4 copied (21.4/21.4 MiB), 4.1 MiB DL] building python3.8-cassandra-driver-3.24.0 (buildPhase): |  builder for '/nix/store/zxhbqaxjddkkc49z6cj0895a1i2sn0lv-python3.8-cassandra-driver-3.24.0.drv' failed with exit code 1; last 10 log lines:
  adding 'cassandra_driver-3.24.0.dist-info/RECORD'
  removing build/bdist.linux-x86_64/wheel
  Finished executing setuptoolsBuildPhase
  installing
  Executing pipInstallPhase
  /build/cassandra-driver-3.24.0/dist /build/cassandra-driver-3.24.0
  DEPRECATION: The -b/--build/--build-dir/--build-directory option is deprecated. pip 20.3 will remove support for this functionality. A possible replacement is use the TMPDIR/TEMP/TMP environment variable, possibly combined with --no-clean. You can find discussion regarding this at https://github.com/pypa/pip/issues/8333.
  Processing ./cassandra_driver-3.24.0-cp38-cp38-linux_x86_64.whl
  ERROR: Could not find a version that satisfies the requirement geomet<0.3,>=0.1 (from cassandra-driver==3.24.0) (from versions: none)
  ERROR: No matching distribution found for geomet<0.3,>=0.1 (from cassandra-driver==3.24.0)
[0 built (11 failed), 4 copied (21.4 MiB), 4.1 MiB DL]
error: build of '/nix/store/18f34q0jzl9q0h0704v4cn5fy11pasgc-python3.7-ws4py-0.5.1.drv', '/nix/store/1nn7r3pw2pdy9yfky0zxc8virdmjn2bg-python2.7-gipc-1.1.0.drv', '/nix/store/7kbygc850dkgazxzfk7ypj301kfwg2id-python3.8-gipc-1.1.0.drv', '/nix/store/8l51fmgg8qkjggjqr8dag2fc7amhmyx7-python3.7-cassandra-driver-3.24.0.drv', '/nix/store/9bx5q8wvsadywc0yi9xdcfy7yqfw1mid-python3.8-ws4py-0.5.1.drv', '/nix/store/9fi39nr6fihv1wjhvz89wkmakqmi64xf-jvmci-19.3-b05.drv', '/nix/store/fg29vm9pxmqhibjswkrrizdwh2617ilx-python2.7-locustio-0.14.4.drv', '/nix/store/g9b14vws9zsk8xghf3idjdd9lwihbyha-python3.7-gipc-1.1.0.drv', '/nix/store/jxbplwlx5hrhcahxisqfxr6w9a553jiq-graal-19.2.1.drv', '/nix/store/krxgk0mpqzm2cnvav2iz12rcn8j7agyn-python3.7-pyalgotrade-0.20.drv', '/nix/store/s2bdj55961192inf5nbf1pzrb2fcxj98-python2.7-cassandra-driver-3.24.0.drv', '/nix/store/y89hp2prhyz6p8jha1hw6d3x68z2f9sg-python3.7-locustio-0.14.4.drv', '/nix/store/zxhbqaxjddkkc49z6cj0895a1i2sn0lv-python3.8-cassandra-driver-3.24.0.drv' failed

@jonringer
Copy link
Contributor Author

This seems to be a decent "short term fix", but a long term fix will probably include bumping gevent and bumping greenlet on staging, as detailed here: python-greenlet/greenlet#217 (comment)

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/nixos-unstable-rebuild-segfault/10158/3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

pythonPackages.dulwich: Tests segfault on master
2 participants