Dear Maintainer,

Please see below the output of this command:

> cd obj-x86_64-linux-gnu
> PYTHONPATH=../python python3 -m pytest -x --pdb ../tests/test_rules.py

...

==================================================================== test 
session starts 
====================================================================
platform linux -- Python 3.11.1, pytest-7.2.0, pluggy-1.0.0+repack
rootdir: /build/herbstluftwm-0.9.5, configfile: tox.ini
plugins: xvfb-2.0.0, xdist-3.1.0
collected 193 items                                                             
                                                                            

../tests/test_rules.py 
..............................................................................................................................
 [ 65%]
................................................F
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> captured 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> stdout 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Running: Xvfb -nolisten tcp -screen 0 800x600x24 -noreset +extension RENDER 
-displayfd 19
Xvfb is using the display ":2"
hlwm started
Client command ['move_monitor', '', '500x520'] succeeded (no output)
Client command ['rule', 'floatplacement=smart', 'floating=on'] succeeded (no 
output)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> captured 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> stderr 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
EWMH: 0 desktops:
0 managed clients:
./src/xconnection.cpp: 227: compositing manager = 0
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> traceback
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

hlwm = <conftest.HlwmBridge object at 0x7fbb89e1bd10>, x11 = <conftest.X11 
object at 0x7fbb89ee7290>, invisible_tag = False

    @pytest.mark.exclude_from_coverage(
        reason='This test does not verify functionality but only whether \
        creating lots of windows can be handled by the algorithm')
    @pytest.mark.parametrize('invisible_tag', [False, True])
    def test_floatplacement_smart_create_many(hlwm, x11, invisible_tag):
        hlwm.call('move_monitor "" 500x520')
        if invisible_tag:
            hlwm.call('add invisible_tag')
            hlwm.call('rule tag=invisible_tag')
        hlwm.call('rule floatplacement=smart floating=on')
    
        # create many clients with different sizes
        def index2geometry(i):
            # vary between 2 different widths and 3 different
            # heights to get a lot of combinations
            return (30, 40, (i % 2) * 110, (i % 3) * 120)
    
        for i in range(0, 50):
>           x11.create_client(geometry=index2geometry(i))

../tests/test_rules.py:867:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../tests/conftest.py:822: in create_client
    self.display.sync()
/usr/lib/python3/dist-packages/Xlib/display.py:182: in sync
    self.get_pointer_control()
/usr/lib/python3/dist-packages/Xlib/display.py:833: in get_pointer_control
    return request.GetPointerControl(display = self.display)
/usr/lib/python3/dist-packages/Xlib/protocol/rq.py:1368: in __init__
    self.reply()
/usr/lib/python3/dist-packages/Xlib/protocol/rq.py:1380: in reply
    self._display.send_and_recv(request = self._serial)
/usr/lib/python3/dist-packages/Xlib/protocol/display.py:612: in send_and_recv
    gotreq = self.parse_response(request)
/usr/lib/python3/dist-packages/Xlib/protocol/display.py:719: in parse_response
    gotreq = self.parse_error_response(request) or gotreq
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <Xlib.display._BaseDisplay object at 0x7fbb89e1bd90>, request = 20

    def parse_error_response(self, request):
        # Code is second byte
        code = indexbytes(self.data_recv, 1)
    
        # Fetch error class
        estruct = self.error_classes.get(code, error.XError)
    
        e = estruct(self, self.data_recv[:32])
        self.data_recv = bytesview(self.data_recv, 32)
    
        # print 'recv Error:', e
    
>       req = self.get_waiting_request(e.sequence_number)
E       AttributeError: 'BadRRModeError' object has no attribute 
'sequence_number'

/usr/lib/python3/dist-packages/Xlib/protocol/display.py:745: AttributeError
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  PDB 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PDB post_mortem 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (IO-capturing turned 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> off) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> /usr/lib/python3/dist-packages/Xlib/protocol/display.py(745)parse_error_response()
-> req = self.get_waiting_request(e.sequence_number)
(Pdb)

...

This failure leads to [1][2]. After applying upstream commit, your package 
builds
fine and all tests pass again.
I think this bug should be reassigned to src:python-xlib.

Kind Regards

[1] https://github.com/python-xlib/python-xlib/issues/241
[2] https://github.com/python-xlib/python-xlib/pull/242

Reply via email to