Skip to content
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

Constant error messages in some window managers #52

Open
jpkotta opened this issue Oct 4, 2012 · 4 comments
Open

Constant error messages in some window managers #52

jpkotta opened this issue Oct 4, 2012 · 4 comments

Comments

@jpkotta
Copy link

jpkotta commented Oct 4, 2012

When I start compton (with no options), it constantly prints error messages like this:

[ 0.03 ] error 9 (BadDrawable) request 153 minor 4 serial 163
[ 0.03 ] error 9 (BadDrawable) request 153 minor 4 serial 170
[ 0.03 ] error 9 (BadDrawable) request 153 minor 4 serial 179
[ 0.03 ] error 9 (BadDrawable) request 153 minor 4 serial 188
[ 0.05 ] error 177 (BadPicture) request 153 minor 8 serial 225
[ 0.05 ] error 177 (BadPicture) request 153 minor 8 serial 231

The "error 9" messages only occur at the beginning, the rest are all "error 177". Compton seems to be working fine other than these messages, but perhaps they indicate an underlying problem?

I've tried it with fvwm 2.6.5, both with my normal config and a null config. I also tried with e16 1.0.11, which gave the same results. Openbox 3.5.0 did not produce the error messages. This happens on multiple machines, one with NVidia graphics and another with Intel.

I'm using commit c7ca345.

@richardgv
Copy link
Collaborator

I'm myself a fvwm user and I encounter the same issue frequently, too. It usually happens on moving/resizing windows (probably related to fvwm's geometry window, and fvwm is calling XGrabServer() when I'm moving/resizing windows?) and when I drop 'n' drop something.

Compton will not check if a window still exists or is still mapped when operating, and it recognizes a window as destroyed/unmapped only when it gets its DestroyNotify/UnmapNotify event from event queue. For performance reasons, we prefer not to check for window existence on every request to X, and Xlib usually does not tell us too much about why a request fails as it operates in asynchronous mode by default, so chances are we can't determine if the window exists by checking the return value of a request to X. The result is, compton will often send requests to X about a window that is no longer there (for example, if it gets an event of a destroyed window that is emitted before its DestroyNotify), and if compton does something related to a window that has been destroyed/unmapped, you will get those errors. As you may or may not know, compton is getting far more errors from X than what you have seen, they are just hidden by default as we do some predictions in code to suppress those error messages. (Try commenting out the things in set_ignore() and you will face a hell lot of errors.) I know they are (usually) harmless, therefore I'm paying less attention to suppress these warnings. These errors are generally nothing related to your graphic cards or drivers. They come up only because how you and your WM is operating.

BadDrawable is typically an indication of operation on a destroyed window, BadPicture could be either a result of BadWindow/BadDrawable or a hint for a more severe issue. But if you are not seeing anything wrong, I would prefer taking time on more important things than those error messages -- I hope I will have time to eventually make them disappear, though. Currently my top priority is to make sure I pass my exam. :-D And the next thing is to get VSync (which they eagerly requested) working.

@jpkotta
Copy link
Author

jpkotta commented Oct 5, 2012

OK, thanks for the explanation.

richardgv added a commit that referenced this issue Jan 29, 2013
- Try to improve the performance of color inversion by applying clipping
  region during color inversion. (#75)

- Validate pixmap on window unmap/destruction. Probably slightly helpful
  for #52.

- Change the design of unmap_win() and destroy_win(), a bit.

- Add warning message to help messages about features disabled at
  compile time, instead of dropping their description completely. (#85)

- Silence some warnings. Code clean-up.
@richardgv richardgv mentioned this issue Mar 17, 2013
@milahu
Copy link

milahu commented Dec 29, 2018

I hope I will have time to eventually make them disappear

from #154:

These errors are normal (somehow...) and unavoidable (we could hide them but it may cause problems when diagnostics other issues).

to avoid error messages from compton to flood your virtual console.

any progress?

i still get

error    3 BadWindow    request  129 minor    6 serial  $x: "BadWindow (invalid Window parameter)"
error  152 XCB_DAMAGE_BAD_DAMAGE request  143 minor    2 serial  $x: "152"

proposition:
rename from error to warning, and add the option to hide warnings.

saulocastelo pushed a commit to saulocastelo/compton that referenced this issue Jan 9, 2019
Workaround the incompatibility between DRI2 and xcb

Fixes chjj#33 chjj#34 chjj#47
@mikkorantalainen
Copy link

Compton will not check if a window still exists or is still mapped when operating, and it recognizes a window as destroyed/unmapped only when it gets its DestroyNotify/UnmapNotify event from event queue. For performance reasons, we prefer not to check for window existence on every request to X, and Xlib usually does not tell us too much about why a request fails as it operates in asynchronous mode by default, so chances are we can't determine if the window exists by checking the return value of a request to X. The result is, compton will often send requests to X about a window that is no longer there (for example, if it gets an event of a destroyed window that is emitted before its DestroyNotify), and if compton does something related to a window that has been destroyed/unmapped, you will get those errors. [...]

It would have been great to have this information on the manual page! If man compton would have explained this I wouldn't have wasted a couple of hours trying to debug the issue.

I guess it's better to have the explanation in this bug instead of nowhere, though.

I'm copying a fragment of error messages below in case it makes other people easier to find this while googling for the error messages:

[     0.10 ] error    4 BadPixmap    request  152 minor   22 serial   1752: "BadPixmap (invalid Pixmap parameter)"
[     0.10 ] error    9 BadDrawable  request  156 minor    4 serial   1753: "BadDrawable (invalid Pixmap or Window parameter)"
[     0.10 ] error  161 Unknown      request  152 minor   16 serial      0: "GLXBadPixmap"
[     0.13 ] error  161 Unknown      request  152 minor   16 serial      0: "GLXBadPixmap"
[     0.13 ] error  161 Unknown      request  152 minor   23 serial   1783: "GLXBadPixmap"
[     0.13 ] error    4 BadPixmap    request  152 minor   22 serial   2068: "BadPixmap (invalid Pixmap parameter)"
[     0.13 ] error    9 BadDrawable  request  156 minor    4 serial   2069: "BadDrawable (invalid Pixmap or Window parameter)"
[     0.13 ] error  161 Unknown      request  152 minor   16 serial      0: "GLXBadPixmap"
[   399.55 ] error    3 BadWindow    request   15 minor    0 serial 2934094: "BadWindow (invalid Window parameter)"
[   547.95 ] error    3 BadWindow    request  138 minor    7 serial 3792823: "BadWindow (invalid Window parameter)"
[   547.95 ] error  140 BadRegion    request  138 minor   17 serial 3792824: "BadRegion (invalid Region parameter)"

Seeing the explanation above, I think all of these should be ignored. I'm using Xfwm4 version 4.16.1 in case it makes a difference.

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

No branches or pull requests

4 participants