Uploaded image for project: 'Ruby Driver'
  1. Ruby Driver
  2. RUBY-3288

Serverless tests are failing (again)

    • Type: Icon: Build Failure Build Failure
    • Resolution: Fixed
    • Priority: Icon: Unknown Unknown
    • 2.20.0
    • Affects Version/s: 2.19.0
    • Component/s: Tests
    • Labels:
      None

      Serverless tests are failing for the ruby driver. The problem appears to be a compile error while building one of the python components that the build depends on ("greenlet"):

       [2023/07/10 21:58:10.536]   Stored in directory: /home/ec2-user/.cache/pip/wheels/e7/d4/21/4add5bc95488e03032e15b22e99bed3d4357b91c0f614f3042
       [2023/07/10 21:58:12.977]   Building wheel for greenlet (setup.py): started
       [2023/07/10 21:58:12.977]   Building wheel for greenlet (setup.py): finished with status 'error'
       [2023/07/10 21:58:12.989]   error: subprocess-exited-with-error
       [2023/07/10 21:58:12.989]   × python setup.py bdist_wheel did not run successfully.
       [2023/07/10 21:58:12.989]   │ exit code: 1
       [2023/07/10 21:58:12.989]   ╰─> [143 lines of output]
       [2023/07/10 21:58:12.989]       running bdist_wheel
       [2023/07/10 21:58:12.989]       running build
       [2023/07/10 21:58:12.989]       running build_py
       [2023/07/10 21:58:12.989]       creating build
       [2023/07/10 21:58:12.989]       creating build/lib.linux-x86_64-cpython-312
       [2023/07/10 21:58:12.989]       creating build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/__init__.py -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       creating build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/__init__.py -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       creating build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/leakcheck.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_contextvars.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_cpp.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_extension_interface.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_gc.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_generator.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_generator_nested.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_greenlet.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_greenlet_trash.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_leaks.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_stack_saved.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_throw.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_tracing.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_version.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/test_weakref.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       running egg_info
       [2023/07/10 21:58:12.989]       writing src/greenlet.egg-info/PKG-INFO
       [2023/07/10 21:58:12.989]       writing dependency_links to src/greenlet.egg-info/dependency_links.txt
       [2023/07/10 21:58:12.989]       writing requirements to src/greenlet.egg-info/requires.txt
       [2023/07/10 21:58:12.989]       writing top-level names to src/greenlet.egg-info/top_level.txt
       [2023/07/10 21:58:12.989]       reading manifest file 'src/greenlet.egg-info/SOURCES.txt'
       [2023/07/10 21:58:12.989]       reading manifest template 'MANIFEST.in'
       [2023/07/10 21:58:12.989]       warning: no previously-included files found matching 'benchmarks/*.json'
       [2023/07/10 21:58:12.989]       no previously-included directories found matching 'docs/_build'
       [2023/07/10 21:58:12.989]       warning: no files found matching '*.py' under directory 'appveyor'
       [2023/07/10 21:58:12.989]       warning: no previously-included files matching '*.pyc' found anywhere in distribution
       [2023/07/10 21:58:12.989]       warning: no previously-included files matching '*.pyd' found anywhere in distribution
       [2023/07/10 21:58:12.989]       warning: no previously-included files matching '*.so' found anywhere in distribution
       [2023/07/10 21:58:12.989]       warning: no previously-included files matching '.coverage' found anywhere in distribution
       [2023/07/10 21:58:12.989]       adding license file 'LICENSE'
       [2023/07/10 21:58:12.989]       adding license file 'LICENSE.PSF'
       [2023/07/10 21:58:12.989]       adding license file 'AUTHORS'
       [2023/07/10 21:58:12.989]       writing manifest file 'src/greenlet.egg-info/SOURCES.txt'
       [2023/07/10 21:58:12.989]       copying src/greenlet/greenlet.cpp -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/greenlet.h -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/greenlet_allocator.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/greenlet_compiler_compat.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/greenlet_cpython_compat.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/greenlet_exceptions.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/greenlet_greenlet.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/greenlet_internal.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/greenlet_refs.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/greenlet_slp_switch.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/greenlet_thread_state.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/greenlet_thread_state_dict_cleanup.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/greenlet_thread_support.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/slp_platformselect.h -> build/lib.linux-x86_64-cpython-312/greenlet
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/setup_switch_x64_masm.cmd -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_aarch64_gcc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_alpha_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_amd64_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_arm32_gcc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_arm32_ios.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_arm64_masm.asm -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_arm64_masm.obj -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_arm64_msvc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_csky_gcc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_m68k_gcc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_mips_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_ppc64_aix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_ppc64_linux.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_ppc_aix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_ppc_linux.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_ppc_macosx.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_ppc_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_riscv_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_s390_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_sparc_sun_gcc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_x32_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_x64_masm.asm -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_x64_masm.obj -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_x64_msvc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_x86_msvc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/platform/switch_x86_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/_test_extension.c -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       copying src/greenlet/tests/_test_extension_cpp.cpp -> build/lib.linux-x86_64-cpython-312/greenlet/tests
       [2023/07/10 21:58:12.989]       running build_ext
       [2023/07/10 21:58:12.989]       building 'greenlet._greenlet' extension
       [2023/07/10 21:58:12.990]       creating build/temp.linux-x86_64-cpython-312
       [2023/07/10 21:58:12.990]       creating build/temp.linux-x86_64-cpython-312/src
       [2023/07/10 21:58:12.990]       creating build/temp.linux-x86_64-cpython-312/src/greenlet
       [2023/07/10 21:58:12.990]       gcc -pthread -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/data/mci/79d0e05431178f7f6437225a02d5ce0d/src/.mod/drivers-evergreen-tools/.evergreen/csfle/kmstlsvenv/include -I/opt/python/3.12/include/python3.12 -c src/greenlet/greenlet.cpp -o build/temp.linux-x86_64-cpython-312/src/greenlet/greenlet.o
       [2023/07/10 21:58:12.990]       In file included from src/greenlet/greenlet_internal.hpp:20,
       [2023/07/10 21:58:12.990]                        from src/greenlet/greenlet.cpp:19:
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp: In member function 'void greenlet::PythonState::operator<<(const PyThreadState*)':
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp:831:41: error: '_PyCFrame' {aka 'struct _PyCFrame'} has no member named 'use_tracing'
       [2023/07/10 21:58:12.990]            this->use_tracing = tstate->cframe->use_tracing;
       [2023/07/10 21:58:12.990]                                                ^~~~~~~~~~~
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp:834:37: error: 'const PyThreadState' {aka 'const struct _ts'} has no member named 'recursion_limit'; did you mean 'py_recursion_limit'?
       [2023/07/10 21:58:12.990]            this->recursion_depth = tstate->recursion_limit - tstate->recursion_remaining;
       [2023/07/10 21:58:12.990]                                            ^~~~~~~~~~~~~~~
       [2023/07/10 21:58:12.990]                                            py_recursion_limit
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp:834:63: error: 'const PyThreadState' {aka 'const struct _ts'} has no member named 'recursion_remaining'; did you mean 'c_recursion_remaining'?
       [2023/07/10 21:58:12.990]            this->recursion_depth = tstate->recursion_limit - tstate->recursion_remaining;
       [2023/07/10 21:58:12.990]                                                                      ^~~~~~~~~~~~~~~~~~~
       [2023/07/10 21:58:12.990]                                                                      c_recursion_remaining
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp:848:42: error: 'const PyThreadState' {aka 'const struct _ts'} has no member named 'trash_delete_nesting'
       [2023/07/10 21:58:12.990]            this->trash_delete_nesting = tstate->trash_delete_nesting;
       [2023/07/10 21:58:12.990]                                                 ^~~~~~~~~~~~~~~~~~~~
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp: In member function 'void greenlet::PythonState::operator>>(PyThreadState*)':
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp:867:21: error: '_PyCFrame' {aka 'struct _PyCFrame'} has no member named 'use_tracing'
       [2023/07/10 21:58:12.990]            tstate->cframe->use_tracing = this->use_tracing;
       [2023/07/10 21:58:12.990]                            ^~~~~~~~~~~
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp:870:13: error: 'PyThreadState' {aka 'struct _ts'} has no member named 'recursion_remaining'; did you mean 'c_recursion_remaining'?
       [2023/07/10 21:58:12.990]            tstate->recursion_remaining = tstate->recursion_limit - this->recursion_depth;
       [2023/07/10 21:58:12.990]                    ^~~~~~~~~~~~~~~~~~~
       [2023/07/10 21:58:12.990]                    c_recursion_remaining
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp:870:43: error: 'PyThreadState' {aka 'struct _ts'} has no member named 'recursion_limit'; did you mean 'py_recursion_limit'?
       [2023/07/10 21:58:12.990]            tstate->recursion_remaining = tstate->recursion_limit - this->recursion_depth;
       [2023/07/10 21:58:12.990]                                                  ^~~~~~~~~~~~~~~
       [2023/07/10 21:58:12.990]                                                  py_recursion_limit
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp:881:13: error: 'PyThreadState' {aka 'struct _ts'} has no member named 'trash_delete_nesting'
       [2023/07/10 21:58:12.990]            tstate->trash_delete_nesting = this->trash_delete_nesting;
       [2023/07/10 21:58:12.990]                    ^~~~~~~~~~~~~~~~~~~~
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp: In member function 'void greenlet::PythonState::will_switch_from(PyThreadState*)':
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp:891:48: error: '_PyCFrame' {aka 'struct _PyCFrame'} has no member named 'use_tracing'
       [2023/07/10 21:58:12.990]            this->use_tracing = origin_tstate->cframe->use_tracing;
       [2023/07/10 21:58:12.990]                                                       ^~~~~~~~~~~
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp: In member function 'void greenlet::PythonState::set_initial_state(const PyThreadState*)':
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp:899:37: error: 'const PyThreadState' {aka 'const struct _ts'} has no member named 'recursion_limit'; did you mean 'py_recursion_limit'?
       [2023/07/10 21:58:12.990]            this->recursion_depth = tstate->recursion_limit - tstate->recursion_remaining;
       [2023/07/10 21:58:12.990]                                            ^~~~~~~~~~~~~~~
       [2023/07/10 21:58:12.990]                                            py_recursion_limit
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet_greenlet.hpp:899:63: error: 'const PyThreadState' {aka 'const struct _ts'} has no member named 'recursion_remaining'; did you mean 'c_recursion_remaining'?
       [2023/07/10 21:58:12.990]            this->recursion_depth = tstate->recursion_limit - tstate->recursion_remaining;
       [2023/07/10 21:58:12.990]                                                                      ^~~~~~~~~~~~~~~~~~~
       [2023/07/10 21:58:12.990]                                                                      c_recursion_remaining
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet.cpp: In function 'PyObject* mod_get_tstate_trash_delete_nesting(PyObject*)':
       [2023/07/10 21:58:12.990]       src/greenlet/greenlet.cpp:3095:36: error: 'PyThreadState' {aka 'struct _ts'} has no member named 'trash_delete_nesting'
       [2023/07/10 21:58:12.990]            return PyLong_FromLong(tstate->trash_delete_nesting);
       [2023/07/10 21:58:12.990]                                           ^~~~~~~~~~~~~~~~~~~~
       [2023/07/10 21:58:12.990]       error: command '/usr/bin/gcc' failed with exit code 1
       [2023/07/10 21:58:12.990]       [end of output]

            Assignee:
            jamis.buck@mongodb.com Jamis Buck
            Reporter:
            jamis.buck@mongodb.com Jamis Buck
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: