Source: cheetah
Version: 3.3.3-1
Severity: normal
User: [email protected]
Usertags: python3.13

This package failed build from source when test-built against a version of
python3-defaults that incudes 3.13 as a supported version.

To reproduce this issue, build against python3-defaults (python3-all-dev etc.)
from Debian experimental.

I wasn't able to reproduce the issue in upstream's tox, so this probably
needs some digging to be done.

What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html

It could be related to the removal of the cgi module.

Log snippet:

TypeError: string indices must be integers, not 'str'
...Exception ignored in PyMapping_HasKeyString(); consider using 
PyMapping_HasKeyStringWithError(), PyMapping_GetOptionalItemString() or 
PyMapping_GetItemString():
Traceback (most recent call last):
  File "cheetah_DynamicallyCompiledCheetahTemplate_1726064532_998942_78670.py", 
line 86, in respond
TypeError: string indices must be integers, not 'str'
.Exception ignored in PyMapping_HasKeyString(); consider using 
PyMapping_HasKeyStringWithError(), PyMapping_GetOptionalItemString() or 
PyMapping_GetItemString():
Traceback (most recent call last):
  File 
"cheetah_DynamicallyCompiledCheetahTemplate_1726064533_0003817_54280.py", line 
86, in respond
TypeError: string indices must be integers, not 'str'
Exception ignored in PyMapping_HasKeyString(); consider using 
PyMapping_HasKeyStringWithError(), PyMapping_GetOptionalItemString() or 
PyMapping_GetItemString():
Traceback (most recent call last):
  File 
"cheetah_DynamicallyCompiledCheetahTemplate_1726064533_0003817_54280.py", line 
86, in respond
TypeError: string indices must be integers, not 'str'
.Exception ignored in PyMapping_HasKeyString(); consider using 
PyMapping_HasKeyStringWithError(), PyMapping_GetOptionalItemString() or 
PyMapping_GetItemString():
Traceback (most recent call last):
  File "cheetah_DynamicallyCompiledCheetahTemplate_1726064533_001861_99075.py", 
line 86, in respond
TypeError: string indices must be integers, not 'str'
.Exception ignored in PyMapping_HasKeyString(); consider using 
PyMapping_HasKeyStringWithError(), PyMapping_GetOptionalItemString() or 
PyMapping_GetItemString():
Traceback (most recent call last):
  File 
"cheetah_DynamicallyCompiledCheetahTemplate_1726064533_0031934_49542.py", line 
87, in respond
TypeError: string indices must be integers, not 'str'
.Exception ignored in PyMapping_HasKeyString(); consider using 
PyMapping_HasKeyStringWithError(), PyMapping_GetOptionalItemString() or 
PyMapping_GetItemString():
Traceback (most recent call last):
  File 
"cheetah_DynamicallyCompiledCheetahTemplate_1726064533_0225093_60016.py", line 
87, in respond
TypeError: string indices must be integers, not 'str'
.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
======================================================================
ERROR: test4 (Cheetah.Tests.SyntaxAndOutput.CGI.test4)
A CGI script with a GET variable.
----------------------------------------------------------------------
Traceback (most recent call last):
  File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_cheetah/build/Cheetah/Tests/SyntaxAndOutput.py",
 line 3141, in test4
    self.verify(source,
    ~~~~~~~~~~~^^^^^^^^
                "Content-type: text/html\n\nHello, world!")
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_cheetah/build/Cheetah/Tests/SyntaxAndOutput.py",
 line 179, in verify
    output = templateObj.respond()
  File 
"cheetah_DynamicallyCompiledCheetahTemplate_1726064531_8423657_40046.py", line 
89, in respond
  File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_cheetah/build/Cheetah/Template.py", 
line 1937, in webInput
    source, func = 'field', self.request().field
                            ~~~~~~~~~~~~^^
TypeError: 'NoneType' object is not callable

======================================================================
ERROR: test4 (Cheetah.Tests.SyntaxAndOutput.CGI_DiffBaseClass.test4)
A CGI script with a GET variable.
----------------------------------------------------------------------
Traceback (most recent call last):
  File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_cheetah/build/Cheetah/Tests/SyntaxAndOutput.py",
 line 3141, in test4
    self.verify(source,
    ~~~~~~~~~~~^^^^^^^^
                "Content-type: text/html\n\nHello, world!")
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_cheetah/build/Cheetah/Tests/SyntaxAndOutput.py",
 line 179, in verify
    output = templateObj.respond()
  File "cheetah_DynamicallyCompiledCheetahTemplate_1726064531_848897_64162.py", 
line 89, in respond
  File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_cheetah/build/Cheetah/Template.py", 
line 1937, in webInput
    source, func = 'field', self.request().field
                            ~~~~~~~~~~~~^^
TypeError: 'NoneType' object is not callable

----------------------------------------------------------------------
Ran 2181 tests in 9.349s

FAILED (errors=2)
E: pybuild pybuild:389: test: plugin custom failed with: exit code=1:   cp -va 
Cheetah/Tests/ImportHooksTemplates 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_cheetah/build/Cheetah/Tests/;         
PATH=/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
 python3.13 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_cheetah/build/Cheetah/Tests/Test.py
I: pybuild base:311:    cp -va Cheetah/Tests/ImportHooksTemplates 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cheetah/build/Cheetah/Tests/;         
PATH=/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
 python3.12 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cheetah/build/Cheetah/Tests/Test.py
'Cheetah/Tests/ImportHooksTemplates' -> 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cheetah/build/Cheetah/Tests/ImportHooksTemplates'
'Cheetah/Tests/ImportHooksTemplates/index.tmpl' -> 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cheetah/build/Cheetah/Tests/ImportHooksTemplates/index.tmpl'
'Cheetah/Tests/ImportHooksTemplates/layout.tmpl' -> 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_cheetah/build/Cheetah/Tests/ImportHooksTemplates/layout.tmpl'
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 2181 tests in 10.229s

OK
dh_auto_test: error: pybuild --test -i python{version} -p "3.13 3.12" returned 
exit code 13
make[1]: *** [debian/rules:27: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:9: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-09-11T14:22:31Z


If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/700037/

This bug has been filed at "normal" severity, as we haven't started the
transition to add 3.13 as a supported version, yet. This will be raised to RC
as soon as that happens, hopefully well before trixie.

Thanks,

Stefano

Reply via email to