Skip to content

0.32 throws AttributeError: 'BadRRModeError' object has no attribute 'sequence_number' #241

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
fransklaver opened this issue Nov 8, 2022 · 2 comments · Fixed by selkies-project/python-xlib#1 · May be fixed by #242
Open
Labels

Comments

@fransklaver
Copy link

fransklaver commented Nov 8, 2022

I'm running into this error traceback

      File "/tmp/python-env/lib/python3.8/site-packages/Xlib/display.py", line 182, in sync
        self.get_pointer_control()
      File "/tmp/python-env/lib/python3.8/site-packages/Xlib/display.py", line 833, in get_pointer_control
        return request.GetPointerControl(display = self.display)
      File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 1369, in __init__
        self.reply()
      File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 1381, in reply
        self._display.send_and_recv(request = self._serial)
      File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 612, in send_and_recv
        gotreq = self.parse_response(request)
      File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 719, in parse_response
        gotreq = self.parse_error_response(request) or gotreq
      File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 745, in parse_error_response
        req = self.get_waiting_request(e.sequence_number)
    AttributeError: 'BadRRModeError' object has no attribute 'sequence_number'

This exception didn't exist yet in 0.31. Since it derives from Exception, I wouldn't expect it to behave like XError, but the display code does expect that.

fransklaver added a commit to fransklaver/python-xlib that referenced this issue Nov 8, 2022
Commit c87624d ('Add Randr error classes and register them during
init') introduces three new error classes to xrandr, but makes them
inherit from Exception.

Let all error classes in randr inherit from Xerror, like all other code
expects.

Fixes the traceback

```
...
  File "/opt/wmt/python-env/lib/python3.8/site-packages/Xlib/display.py", line 182, in sync
    self.get_pointer_control()
  File "/opt/wmt/python-env/lib/python3.8/site-packages/Xlib/display.py", line 833, in get_pointer_control
    return request.GetPointerControl(display = self.display)
  File "/opt/wmt/python-env/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 1369, in __init__
    self.reply()
  File "/opt/wmt/python-env/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 1381, in reply
    self._display.send_and_recv(request = self._serial)
  File "/opt/wmt/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 612, in send_and_recv
    gotreq = self.parse_response(request)
  File "/opt/wmt/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 719, in parse_response
    gotreq = self.parse_error_response(request) or gotreq
  File "/opt/wmt/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 745, in parse_error_response
    req = self.get_waiting_request(e.sequence_number)
AttributeError: 'BadRRModeError' object has no attribute 'sequence_number'
```

fixes python-xlib#241
@fransklaver fransklaver linked a pull request Nov 8, 2022 that will close this issue
fransklaver added a commit to fransklaver/python-xlib that referenced this issue Nov 8, 2022
Commit c87624d ('Add Randr error classes and register them during
init') introduces three new error classes to xrandr, but makes them
inherit from Exception.

Let all error classes in randr inherit from Xerror, like all other code
expects.

Fixes the traceback

```
...
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/display.py", line 182, in sync
    self.get_pointer_control()
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/display.py", line 833, in get_pointer_control
    return request.GetPointerControl(display = self.display)
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 1369, in __init__
    self.reply()
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 1381, in reply
    self._display.send_and_recv(request = self._serial)
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 612, in send_and_recv
    gotreq = self.parse_response(request)
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 719, in parse_response
    gotreq = self.parse_error_response(request) or gotreq
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 745, in parse_error_response
    req = self.get_waiting_request(e.sequence_number)
AttributeError: 'BadRRModeError' object has no attribute 'sequence_number'
```

fixes python-xlib#241
fransklaver added a commit to fransklaver/python-xlib that referenced this issue Dec 25, 2022
Commit c87624d ('Add Randr error classes and register them during
init') introduces three new error classes to xrandr, but makes them
inherit from Exception.

Let all error classes in randr inherit from Xerror, like all other code
expects.

Fixes the traceback

```
...
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/display.py", line 182, in sync
    self.get_pointer_control()
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/display.py", line 833, in get_pointer_control
    return request.GetPointerControl(display = self.display)
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 1369, in __init__
    self.reply()
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 1381, in reply
    self._display.send_and_recv(request = self._serial)
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 612, in send_and_recv
    gotreq = self.parse_response(request)
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 719, in parse_response
    gotreq = self.parse_error_response(request) or gotreq
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 745, in parse_error_response
    req = self.get_waiting_request(e.sequence_number)
AttributeError: 'BadRRModeError' object has no attribute 'sequence_number'
```

fixes python-xlib#241
@ErikBjare
Copy link

Still waiting for #242 to merge. I just downgraded python-xlib in my project to 0.31 in the meantime.

ehfd added a commit to selkies-project/python-xlib that referenced this issue May 1, 2024
Commit c87624d ('Add Randr error classes and register them during
init') introduces three new error classes to xrandr, but makes them
inherit from Exception.

Let all error classes in randr inherit from Xerror, like all other code
expects.

Fixes the traceback

```
...
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/display.py", line 182, in sync
    self.get_pointer_control()
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/display.py", line 833, in get_pointer_control
    return request.GetPointerControl(display = self.display)
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 1369, in __init__
    self.reply()
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 1381, in reply
    self._display.send_and_recv(request = self._serial)
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 612, in send_and_recv
    gotreq = self.parse_response(request)
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 719, in parse_response
    gotreq = self.parse_error_response(request) or gotreq
  File "/tmp/python-env/lib/python3.8/site-packages/Xlib/protocol/display.py", line 745, in parse_error_response
    req = self.get_waiting_request(e.sequence_number)
AttributeError: 'BadRRModeError' object has no attribute 'sequence_number'
```

fixes python-xlib#241

Co-authored-by: Frans Klaver <frans.klaver@vislink.com>
@ehfd
Copy link

ehfd commented May 30, 2024

Someone has to maintain this project... It's irreplaceable and used by so many projects.

@vasily-v-ryabov Are you there?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
4 participants