ratpoison-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RP] Segfault and faulty focus (related regressions after v1.4.8)


From: Axel Svensson
Subject: [RP] Segfault and faulty focus (related regressions after v1.4.8)
Date: Mon, 15 Jul 2019 18:01:55 +0200

I have found 3 regressions in ratpoison. They seem somewhat related.

General reproduction notes (for all 3 regressions):
- Use a docker container based on the debian:latest image.
- Run ratpoison against Xvfb.
- Important: Some reproductions might not succeed unless performed under
  the conditions above.
- If necessary I can provide more details for reproduction, let me know
  if you want this.

Regression 1: Segfault at startup.
- To reproduce:
  - Xvfb :81 -screen 0 2000x2000x24
  - export DISPLAY=:81
  - ./src/ratpoison
  - (press Ctrl-C to kill ratpoison)
  - ./src/ratpoison
- Expected: Ratpoison starts again
- Actual: Ratpoison segfaults
- Workaround: ./configure --without-xrandr
- Introduced in commit: 59b8671 @ libXext isn't used
- Notes:
  - This is the most serious problem. It is only present in certain
    circumstances, which explains why it hasn't been found sooner. Feel
    free to ask for more details. I could for example provide a
    Dockerfile that reproduces the problem, if you only let me know that
    you'd like to use it.

Regression 2: Faulty :focusup and :focusdown
- To reproduce:
  - ./configure --without-xrandr
  - Compile and run ratpoison
  - With no windows, split screen vertically and horizontally into four
    frames of equal size.
  - Go to the top (or bottom) right frame
  - :focusdown (or :focusup)
- Expected: The bottom (or top) right frame is focused
- Actual: The bottom (or top) left frame is focused
- Workaround: None found except running an earlier version.
- Introduced in: 5318f01 Update screen-aware focus* commands after
  changes to support XRandR
- Notes:
  - It seems that 5318f01 (which introduces this regression), is trying
    to correct some calculation of frame coordinates with respect to
    xrandr. Possibly, this is not working as intended when configured
    with --without-xrandr.

Regression 3: Faulty :focusright
- To reproduce:
  - ./configure --without-xrandr
  - Compile and run ratpoison
  - With no windows, split screen vertically and horizontally into four
    frames of equal size.
  - Go to the bottom left frame
  - :focusright
- Expected: The bottom right frame is focused
- Actual: The top right frame is focused
- Workaround: None found except running an earlier version.
- Introduced in: 4b7b046 Fix: check frame overlap in find_frame_left,
  find_frame_right
- Notes:
  - :focusleft might be faulty too; I haven't been able to test it.
  - It seems that 4b7b046 (which introduces this regression), is trying
    to make :focusleft and :focusright work the same way as :focusup and
    :focusdown. This is indeed the case, only that the introduced
    behaviour is faulty when ratpoison is compiled and run as indicated
    above.

Regards,
Axel Svensson



reply via email to

[Prev in Thread] Current Thread [Next in Thread]