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
Bar fails to load: background_manager unable to get root pixmap for background #1585
Comments
The Same Q for you as over in #1582, did it work before you updated polybar? Or are you installing polybar for the first time on that machine? |
First time install on a fresh installation of Arch. For reference, if there might be some wonk thing going on with hardware: Dell XPS15 9570
|
Hmm, can you also try it when using the newest commit ( |
I am trying to reproduce this, what compositing manager + options are you using (if any) and what are you using to set the desktop background? |
I can reproduce this error now, by starting an i3 session and not setting any background image. I'll investigate why this happens. |
@Stewie410 the current error is due to #1593 ( |
Oh my gosh, I feel like such a user -- Anyway, with the "minimal" config posted above:
With my original config (custom/scripts removed for unrelated reasons (they're so badly written)):
I've attached the trace logs from each of the above four scenarios -- there's one additional warning, noting that the systray is already managed -- this is because I've been using i3blocks as a stopgap during the debugging process: Likewise, here's a screencap of the bar being drawn correctly, even without a wallpaper, during one of the test runs -- all subsequent runs had no variations in the appears of the bar, beyond what modules were enabled. While I don't understand what the root pixmap is -- I can deduce not setting a wallpaper at all, nor having another process to define the wallpaper is causing a wrench in that part of polybar. Knowing now that Here's hoping one day I can take the time to look into c++, so I can hopefully provide some more useful information in future reporting. I'll revert back to v3.3.0 (stable?) and provide details of how that goes tomorrow (approx. 24h from time of post), as well. I can also provide the full, functional configuration file; should there be something else in there that would help in debugging efforts for #1593, or otherwise. Edit: Clarified "Still technically a bug?" to actually make sense. |
Thanks for the details! So everything looks to be working correctly, except that you're getting an error message? I think the error in this case is safe to ignore, we should change the severity for that. |
Well, its a little earlier than I intended to post an update; but not by much. Today I reverted back to Polybar v3.3.0, and ran my full config (with the above change we discussed), and here's what I'm getting: And here's the log, should anyone be unable to read it in the image:
As you can see, the bar is being drawn, updating, etc...however the log still shows the original error message. So, things appear to be functional. Its time for me to get back to tinkering with my config--so if I run into any related issues; I'll be sure to post here...or start a new ticket, if necessary. |
@bennofs Is there any other reason why we would get |
@patrick96 I have no idea. Probably best to log it with info or trace level and fill the pixmap with black? |
Yeah, filling with black is probably the way to go. Maybe we should print a warning as it is something that went wrong and if it happens for users that actually have a wallpaper, it could be confusing if their bar suddenly used a black background for transparency. Would you mind implementing this? |
Polybar had issues when there is no background set or set by a tool like imagemagick which doesn't add the root pixmap to the root window properties. There's not much we can do about it, but at least polybar doesn't crash anymore. Fixes #1582 Fixes #1585 * fix(tray_manager): only enable transparency if neccessary Previously, we always enabled transparency * fix(background_manager): avoid needless fetching * fix(renderer): move logging message to correct place * fix(background_manager): handle dummy pixmap (_XSETROOT_ID) right * fix(background_manager): more initialization + don't free on error Freeing on error is incorrect, since we could still be called again later in which case we still need the resources. * fix(background_manager): add more infos to trace logs * fix(background): correct typo (XROOTMAP -> XROOTPMAP) * fix(background_manager): do not report "no background" as error * style(background_manager): use braces for if Co-Authored-By: bennofs <benno.fuenfstueck@gmail.com> * fix(background_manager): better error message for dummy pixmap Co-Authored-By: bennofs <benno.fuenfstueck@gmail.com> * style(background): some more style fixes * fix(connection): initialize pixmap in all cases in root_pixmap() * style(connection): improve readability using early return
Changelog Fixes: * `internal/xworkspaces`: * Crash when WM doesn't set `_NET_DESKTOP_NAMES` (#1576), see #1462 * Workspace removal not always detected (#1579), see #1491, #248 * `internal/i3`: Crash when `<label-state>` was not added to `format` (#1591), see #975 * `internal/fs`: Incorrect sizes on some machines (#1612, #1699), see #743 * `internal/network`: Buffer overflow with ipv6 addresses (#1514) * renderer: Show proper error when imagemagick is used to set the background (#1608), see #1582, #1585 * tray: * Wrong background for transparent trays when using `tray-offset-*` (#1571) * Build failure on clang8 (#1675), #1674 * Allow negative offset values for `tray-offset-*` (#1669), see #1666 * build: Link failure when configuring with `-DBUILD_SHARED_LIBS=ON` (#1647, polybar/xpp#15), see #1628 * controller: Crash when reloading via `SIGUSR1` too fast (#1678), #428
Changelog Fixes: * `internal/xworkspaces`: * Crash when WM doesn't set `_NET_DESKTOP_NAMES` (#1576), see #1462 * Workspace removal not always detected (#1579), see #1491, #248 * `internal/i3`: Crash when `<label-state>` was not added to `format` (#1591), see #975 * `internal/fs`: Incorrect sizes on some machines (#1612, #1699), see #743 * `internal/network`: Buffer overflow with ipv6 addresses (#1514) * renderer: Show proper error when imagemagick is used to set the background (#1608), see #1582, #1585 * tray: * Wrong background for transparent trays when using `tray-offset-*` (#1571) * Build failure on clang8 (#1675), #1674 * Allow negative offset values for `tray-offset-*` (#1669), see #1666 * build: Link failure when configuring with `-DBUILD_SHARED_LIBS=ON` (#1647, polybar/xpp#15), see #1628 * controller: Crash when reloading via `SIGUSR1` too fast (#1678), #428
Changelog Fixes: * `internal/xworkspaces`: * Crash when WM doesn't set `_NET_DESKTOP_NAMES` (polybar#1576), see polybar#1462 * Workspace removal not always detected (polybar#1579), see polybar#1491, polybar#248 * `internal/i3`: Crash when `<label-state>` was not added to `format` (polybar#1591), see polybar#975 * `internal/fs`: Incorrect sizes on some machines (polybar#1612, polybar#1699), see polybar#743 * `internal/network`: Buffer overflow with ipv6 addresses (polybar#1514) * renderer: Show proper error when imagemagick is used to set the background (polybar#1608), see polybar#1582, polybar#1585 * tray: * Wrong background for transparent trays when using `tray-offset-*` (polybar#1571) * Build failure on clang8 (polybar#1675), polybar#1674 * Allow negative offset values for `tray-offset-*` (polybar#1669), see polybar#1666 * build: Link failure when configuring with `-DBUILD_SHARED_LIBS=ON` (polybar#1647, polybar/xpp#15), see polybar#1628 * controller: Crash when reloading via `SIGUSR1` too fast (polybar#1678), polybar#428
Changelog Fixes: * `internal/xworkspaces`: * Crash when WM doesn't set `_NET_DESKTOP_NAMES` (polybar#1576), see polybar#1462 * Workspace removal not always detected (polybar#1579), see polybar#1491, polybar#248 * `internal/i3`: Crash when `<label-state>` was not added to `format` (polybar#1591), see polybar#975 * `internal/fs`: Incorrect sizes on some machines (polybar#1612, polybar#1699), see polybar#743 * `internal/network`: Buffer overflow with ipv6 addresses (polybar#1514) * renderer: Show proper error when imagemagick is used to set the background (polybar#1608), see polybar#1582, polybar#1585 * tray: * Wrong background for transparent trays when using `tray-offset-*` (polybar#1571) * Build failure on clang8 (polybar#1675), polybar#1674 * Allow negative offset values for `tray-offset-*` (polybar#1669), see polybar#1666 * build: Link failure when configuring with `-DBUILD_SHARED_LIBS=ON` (polybar#1647, polybar/xpp#15), see polybar#1628 * controller: Crash when reloading via `SIGUSR1` too fast (polybar#1678), polybar#428
Changelog Fixes: * `internal/xworkspaces`: * Crash when WM doesn't set `_NET_DESKTOP_NAMES` (polybar#1576), see polybar#1462 * Workspace removal not always detected (polybar#1579), see polybar#1491, polybar#248 * `internal/i3`: Crash when `<label-state>` was not added to `format` (polybar#1591), see polybar#975 * `internal/fs`: Incorrect sizes on some machines (polybar#1612, polybar#1699), see polybar#743 * `internal/network`: Buffer overflow with ipv6 addresses (polybar#1514) * renderer: Show proper error when imagemagick is used to set the background (polybar#1608), see polybar#1582, polybar#1585 * tray: * Wrong background for transparent trays when using `tray-offset-*` (polybar#1571) * Build failure on clang8 (polybar#1675), polybar#1674 * Allow negative offset values for `tray-offset-*` (polybar#1669), see polybar#1666 * build: Link failure when configuring with `-DBUILD_SHARED_LIBS=ON` (polybar#1647, polybar/xpp#15), see polybar#1628 * controller: Crash when reloading via `SIGUSR1` too fast (polybar#1678), polybar#428
Changelog Fixes: * `internal/xworkspaces`: * Crash when WM doesn't set `_NET_DESKTOP_NAMES` (polybar#1576), see polybar#1462 * Workspace removal not always detected (polybar#1579), see polybar#1491, polybar#248 * `internal/i3`: Crash when `<label-state>` was not added to `format` (polybar#1591), see polybar#975 * `internal/fs`: Incorrect sizes on some machines (polybar#1612, polybar#1699), see polybar#743 * `internal/network`: Buffer overflow with ipv6 addresses (polybar#1514) * renderer: Show proper error when imagemagick is used to set the background (polybar#1608), see polybar#1582, polybar#1585 * tray: * Wrong background for transparent trays when using `tray-offset-*` (polybar#1571) * Build failure on clang8 (polybar#1675), polybar#1674 * Allow negative offset values for `tray-offset-*` (polybar#1669), see polybar#1666 * build: Link failure when configuring with `-DBUILD_SHARED_LIBS=ON` (polybar#1647, polybar/xpp#15), see polybar#1628 * controller: Crash when reloading via `SIGUSR1` too fast (polybar#1678), polybar#428
Describe the Issue
When trying to start polybar (as user or root), polybar fails to load with the following error:
error: background_manager: Failed to get the root pixmap for background (realloc=<val>)
<val>
Changes on every launch, else I would list it here as well.I've noticed issue #1582 which may be related.
Expected behavior:
Successfully launched bar
Actual behavior:
Configuration is loaded with no errors or warnings until the following is stated in the log:
error: background_manager: Failed to get the root pixmap for background (realloc=<val>)
At this time, polybar fails to be displayed, but the application itself continues running (hanging).
To Reproduce
*A minimal but complete config with which the problem occurs:
List any other steps needed to reproduce the issue besides starting polybar with the config you posted above.
None, unfortunately.
Polybar Log
Post everything polybar outputs to the terminal when you run it and the issue occurs below
Environment:
i3-gaps 4.16-1
polybar -vvv
:Additional context
polybar topbar -l info
:The text was updated successfully, but these errors were encountered: