[Python-modules-team] Bug#1000255: mpv: autopkgtest failures

Louis-Philippe Véronneau pollo at debian.org
Sat Nov 27 19:14:08 GMT 2021


On 2021-11-23 15 h 22, Sebastian Ramacher wrote:
> Control: reassign -1 src:python-mpv 0.5.2-1
> Control: forwarded -1 https://github.com/jaseg/python-mpv/issues/187
> 
> On 2021-11-21 23:21:24, Sebastian Ramacher wrote:
>> Control: tags -1 help
>>
>> On 2021-11-20 09:34:37 +0100, Gianfranco Costamagna wrote:
>>> Source: mpv
>>> Version: 0.34.0-1
>>> Severity: serious
>>>
>>>
>>> Hello, the last version 0.34.0 is regressed on arm64 armhf and probably other architectures.
>>>
>>> Look, e.g.
>>> https://ci.debian.net/data/autopkgtest/testing/arm64/p/python-mpv/16812363/log.gz
>>>
>>> (Reading database ... 16518 files and directories currently installed.)
>>> Removing autopkgtest-satdep (0) ...
>>> autopkgtest [18:11:22]: test unittests: [-----------------------
>>> === python3.9 ===
>>> ................................Segmentation fault
>>> autopkgtest [18:11:43]: test unittests: -----------------------]
>>> autopkgtest [18:11:43]: test unittests:  - - - - - - - - - - results - - - - - - - - - -
>>> unittests            FAIL non-zero exit status 139
>>> autopkgtest [18:11:43]: @@@@@@@@@@@@@@@@@@@@ summary
>>> unittests            FAIL non-zero exit status 139
>>>
>>> I don't know which update triggered the regression, if the program itself or something else in the toolchain.
>>>
>>> Can you please have a look?
>>>
>>> https://ci.debian.net/packages/p/python-mpv/testing/arm64/
>>
>> The failing test is test_write. It crashes due to an infinte recursion
>> in libx11-6's XPutImage which calls PutSubImage:
>>
>> #0  0xf4f3e31c in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:878
>> #1  0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>> #2  0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>> #3  0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>> #4  0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>> #5  0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>> #6  0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>> #7  0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>> #8  0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>> #9  0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>> #10 0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>> #11 0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>> #12 0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>> #13 0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>> #14 0xf4f3e7a4 in PutSubImage (dpy=dpy at entry=0x5776b8, d=d at entry=2097154, gc=gc at entry=0x5a01e0, image=image at entry=0x5a2ca8, req_xoffset=0, 
>>     req_yoffset=req_yoffset at entry=0, x=0, y=y at entry=0, req_width=2096928, req_height=req_height at entry=1, dest_bits_per_pixel=dest_bits_per_pixel at entry=32, 
>>     dest_scanline_pad=dest_scanline_pad at entry=32) at ../../src/PutImage.c:920
>>
>> and so on. I have no idea why that's happening, so any help is welcome.
>> CCing the ARM porters and the libx11 maintainer for input.
> 
> After debugging this issue some more, I think that python-mpv'S
> test_write is flaky. As it has list of properties that may cause issues
> and are to be skipped while testing, this list will need to be extended.

Thanks for debugging. In the past, the python-mpv testsuite has indeed
be somewhat flaky and we didn't run the aforementioned `test_write` test
for a while because of that.

I've added some more info upstream, but I don't believe this is really
problematic for the debian package, so I'll patch out `test_write` again
until it's fixed upstream.

Cheers,

-- 
  ⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁  Louis-Philippe Véronneau
  ⢿⡄⠘⠷⠚⠋   pollo at debian.org / veronneau.org
  ⠈⠳⣄
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 228 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/python-modules-team/attachments/20211127/b78ef3be/attachment.sig>


More information about the Python-modules-team mailing list