Re: pygame: FTBFS: dh_auto_test: error: pybuild --test -i python{version} -p "3.10 3.9" --system=custom --test-args "/usr/bin/xvfb-run {interpreter} -m pygame.tests.__main__ --exclude opengl" returned

2022-02-26 Thread Marcin Owsiany
Dnia Tue, Feb 22, 2022 at 08:57:25AM +0100, Andreas Tille napisaƂ(a):
> I had a look into this issue since a Debian Med package received a
> testing removal warning.  I can confirm the build fails with
> 
>Segmentation fault
> 
> in the build time test suite.

Just out of curiosity I ran the tests during build under GDB (simply
inserting "gdb --args" right before the "{interpreter}" in the
overrite_dh_auto_test rule in debian/rules).

It seems like the segfault is in the freetype library, when loading a font,
rather than in pygame (though I guess the root cause could be pygame passing
garbage to freetype? - I have zero knowledge about the API).

Cc-ing Hugh in case he can provide some hints about what might be going on here.

This does not change the fact that it would be great to move to pygame2 :-)

loading pygame.tests.freetype_test
loading pygame.tests.ftfont_test

Thread 1 "python3.10" received signal SIGSEGV, Segmentation fault.
0x7fde9aeb34e3 in FT_Done_Face (face=0x7fde96aa04d8) at 
./src/base/ftobjs.c:2836
2836./src/base/ftobjs.c: No such file or directory.
(gdb) bt full
#0  0x7fde9aeb34e3 in FT_Done_Face (face=0x7fde96aa04d8) at 
./src/base/ftobjs.c:2836
error = 35
driver = 
memory = 
node = 
#1  0x7fde9af11479 in ftc_face_node_done (ftcnode=0x1fce450, 
ftcmanager=) at ./src/cache/ftcmanag.c:272
node = 0x1fce450
manager = 
#2  0x7fde9af11872 in FTC_MruList_New (list=0x1ec9928, key=0x7fde970bb200, 
anode=anode@entry=0x7ffce3eb1bc0) at ./src/cache/ftcmru.c:281
error = 1
node = 0x1fce450
memory = 0x1e70c40
#3  0x7fde9af12bbf in FTC_Manager_LookupFace (manager=, 
face_id=face_id@entry=0x7fde970bb200, aface=aface@entry=0x7ffce3eb1be0) at 
./src/cache/ftcmanag.c:324
_pfirst = 
_compare = 0x7fde9af102d0 
_first = 
_node = 
error = 0
mrunode = 0x7fde9ca14638
#4  0x7fde982a5228 in _PGFT_GetFont (ft=ft@entry=0x20bc470, 
fontobj=fontobj@entry=0x7fde970bb1f0) at src_c/freetype/ft_wrap.c:321
error = 
font = 0x0
#5  0x7fde982a550c in init (ft=ft@entry=0x20bc470, 
fontobj=fontobj@entry=0x7fde970bb1f0) at src_c/freetype/ft_wrap.c:386
font = 
#6  0x7fde982a58be in _PGFT_TryLoadFont_Filename (ft=ft@entry=0x20bc470, 
fontobj=fontobj@entry=0x7fde970bb1f0, filename=, 
font_index=) at src_c/freetype/ft_wrap.c:442
filename_alloc = 
file_len = 
#7  0x7fde9829d3d0 in _ftfont_init (self=0x7fde970bb1f0, args=, kwds=) at src_c/_freetype.c:823
kwlist = {0x7fde982a7bb3 "file", 0x7fde982a7cca "size", 0x7fde982a75cc 
"font_index", 0x7fde982a777c "resolution", 0x7fde982a75d7 "ucs4", 0x0}
file = 0x7fde96f44d30
original_file = 0x7fde96f2a240
font_index = 0
face_size = {x = 1280, y = 0}
ucs4 = 0
resolution = 0
size = 0
height = 0
width = 0
x_ppem = 0
y_ppem = 0
rval = -1
source = 
ft = 0x20bc470
#8  0x00599823 in  ()
#9  0x00531efb in _PyObject_MakeTpCall ()
#10 0x0052c946 in _PyEval_EvalFrameDefault ()
#11 0x0053105a in _PyObject_FastCallDictTstate ()
#12 0x005446ab in  ()
#13 0x00532228 in  ()
#14 0x00549149 in PyObject_Call ()
#15 0x00528a93 in _PyEval_EvalFrameDefault ()
#16 0x0053b7ff in _PyFunction_Vectorcall ()
#17 0x00526ca7 in _PyEval_EvalFrameDefault ()
#18 0x0053b7ff in _PyFunction_Vectorcall ()
--Type  for more, q to quit, c to continue without paging--c
#19 0x00526ca7 in _PyEval_EvalFrameDefault ()
#20 0x0054884c in  ()
#21 0x00526aba in _PyEval_EvalFrameDefault ()
#22 0x0053b7ff in _PyFunction_Vectorcall ()
#23 0x00526ca7 in _PyEval_EvalFrameDefault ()
#24 0x0053b7ff in _PyFunction_Vectorcall ()
#25 0x0054893a in  ()
#26 0x00528a93 in _PyEval_EvalFrameDefault ()
#27 0x0053105a in _PyObject_FastCallDictTstate ()
#28 0x005459b9 in _PyObject_Call_Prepend ()
#29 0x005c2c33 in  ()
#30 0x00531efb in _PyObject_MakeTpCall ()
#31 0x0052b9ee in _PyEval_EvalFrameDefault ()
#32 0x0053b7ff in _PyFunction_Vectorcall ()
#33 0x0054893a in  ()
#34 0x00528a93 in _PyEval_EvalFrameDefault ()
#35 0x0053105a in _PyObject_FastCallDictTstate ()
#36 0x005459b9 in _PyObject_Call_Prepend ()
#37 0x005c2c33 in  ()
#38 0x00531efb in _PyObject_MakeTpCall ()
#39 0x0052b9ee in _PyEval_EvalFrameDefault ()
#40 0x0053b7ff in _PyFunction_Vectorcall ()
#41 0x0054893a in  ()
#42 0x00528a93 in _PyEval_EvalFrameDefault ()
#43 0x0053105a in _PyObject_FastCallDictTstate ()
#44 0x005459b9 in _PyObject_Call_Prepend ()
#45 0x005c2c33 in  ()
#46 0x00531efb in _PyObject_MakeTpCall ()
#47 0x0052b9ee in _PyEval_EvalFrameDefault ()
#48 

Re: Bug#1006483: ITP: python3-mergedeep -- A deep merge function for Python

2022-02-26 Thread Carsten Schoenert

Hello Edward,

I've wrote an ITP for the same package shortly before your ITP:

https://bugs.debian.org/1006479

And uploaded to NEW right now.
So you shouldn't need to do any additional work, I'm happy if you want 
to do some co-maintaining and uploading for this package.


Regards
Carsten

Am 26.02.22 um 09:12 schrieb Edward Betts:

Package: wnpp
Severity: wishlist
Owner: Edward Betts 
X-Debbugs-Cc: debian-de...@lists.debian.org, debian-python@lists.debian.org

* Package name: python3-mergedeep
   Version : 1.3.4
   Upstream Author : Travis Clarke
* URL : https://github.com/clarketm/mergedeep
* License : MIT
   Programming Lang: Python
   Description : A deep merge function for Python

Includes four merge strategies:

## Replace

When destination and source keys are the same, replace
the destination value with one from source (default).

## Additive

When destination and source values are both the same additive
collection type, extend destination by adding values from source.

Additive collection types include: list, tuple, set, and Counter

## Typesafe replace
When destination and source values are of different types, raise
TypeError. Otherwise, perform a REPLACE merge.

## Typesafe additive

When destination and source values are of different types, raise
TypeError. Otherwise, perform a ADDITIVE merge.


This is a dependency of the datasette tool by Simon Willison.

I plan to maintain this package as part of the python modules team.





Bug#1006483: ITP: python3-mergedeep -- A deep merge function for Python

2022-02-26 Thread Edward Betts
Package: wnpp
Severity: wishlist
Owner: Edward Betts 
X-Debbugs-Cc: debian-de...@lists.debian.org, debian-python@lists.debian.org

* Package name: python3-mergedeep
  Version : 1.3.4
  Upstream Author : Travis Clarke
* URL : https://github.com/clarketm/mergedeep
* License : MIT
  Programming Lang: Python
  Description : A deep merge function for Python

Includes four merge strategies:

## Replace

When destination and source keys are the same, replace
the destination value with one from source (default).

## Additive

When destination and source values are both the same additive
collection type, extend destination by adding values from source.

Additive collection types include: list, tuple, set, and Counter

## Typesafe replace
When destination and source values are of different types, raise
TypeError. Otherwise, perform a REPLACE merge.

## Typesafe additive

When destination and source values are of different types, raise
TypeError. Otherwise, perform a ADDITIVE merge.


This is a dependency of the datasette tool by Simon Willison.

I plan to maintain this package as part of the python modules team.