cython / cython

The most widely used Python to C compiler
https://cython.org
Apache License 2.0
9.48k stars 1.49k forks source link

[BUG] test failure: test_fstring.TestCase.test_many_expressions on ppc64el in Debian CI #5926

Open stefanor opened 10 months ago

stefanor commented 10 months ago

Describe the bug

test_fstring.TestCase.test_many_expressions is failing on ppc64el in Debian's CI.

Logs: https://ci.debian.net/packages/c/cython/

The cause isn't obvious so we'll skip the test, but I'm filing this so that someone can investigate more deeply.

Code to reproduce the behaviour:

No response

Expected behaviour

No response

OS

Linux (Debian)

Python version

3.12.1

Cython version

3.0.6

Additional context

======================================================================
ERROR: test_many_expressions (test_fstring.TestCase.test_many_expressions)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/unixccompiler.py", line 185, in _compile
    self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs)
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/ccompiler.py", line 1041, in spawn
    spawn(cmd, dry_run=self.dry_run, **kwargs)
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/spawn.py", line 70, in spawn
    raise DistutilsExecError(
distutils.errors.DistutilsExecError: command '/usr/bin/powerpc64le-linux-gnu-gcc' failed with exit code 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "tests/run/test_fstring.pyx", line 530, in test_fstring.TestCase.test_many_expressions (test_fstring.c:27468)
    cy_eval('[' + ', '.join(build_fstr(i) for i in range(250, 260)) + ']', x=x, width=width),
  File "tests/run/test_fstring.pyx", line 23, in test_fstring.cy_eval (test_fstring.c:7563)
    return cython_inline('return ' + s, force=True, **kwargs)
  File "/usr/lib/python3/dist-packages/Cython/Build/Inline.py", line 289, in cython_inline
    build_extension.run()
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
    self.build_extensions()
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
    self._build_extensions_serial()
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
    self.build_extension(ext)
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py", line 548, in build_extension
    objects = self.compiler.compile(
              ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/ccompiler.py", line 600, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/unixccompiler.py", line 187, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/powerpc64le-linux-gnu-gcc' failed with exit code 1

======================================================================
ERROR: test_many_expressions (test_fstring.TestCase.test_many_expressions)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/unixccompiler.py", line 185, in _compile
    self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs)
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/ccompiler.py", line 1041, in spawn
    spawn(cmd, dry_run=self.dry_run, **kwargs)
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/spawn.py", line 70, in spawn
    raise DistutilsExecError(
distutils.errors.DistutilsExecError: command '/usr/bin/powerpc64le-linux-gnu-gcc' failed with exit code 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "tests/run/test_fstring.pyx", line 530, in test_fstring.TestCase.test_many_expressions (test_fstring.cpp:27480)
    cy_eval('[' + ', '.join(build_fstr(i) for i in range(250, 260)) + ']', x=x, width=width),
  File "tests/run/test_fstring.pyx", line 23, in test_fstring.cy_eval (test_fstring.cpp:7575)
    return cython_inline('return ' + s, force=True, **kwargs)
  File "/usr/lib/python3/dist-packages/Cython/Build/Inline.py", line 289, in cython_inline
    build_extension.run()
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
    self.build_extensions()
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
    self._build_extensions_serial()
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
    self.build_extension(ext)
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py", line 548, in build_extension
    objects = self.compiler.compile(
              ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/ccompiler.py", line 600, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/unixccompiler.py", line 187, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/powerpc64le-linux-gnu-gcc' failed with exit code 1
scoder commented 10 months ago

Might be a memory issue:

3289s powerpc64le-linux-gnu-gcc: fatal error: Killed signal terminated program cc1
3289s compilation terminated.
3292s ERROR

It's a test that generates a fairly large C file to compile.

stefanor commented 10 months ago

According to https://wiki.debian.org/ContinuousIntegration/WorkerSpecs those workers should all have 8GiB of RAM.