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
internal/github module causes crash after some period of time #754
Comments
The first step in debugging this would probably be running polybar with the |
Cool, thanks – I will grab both of those pieces of info for you right away. It just might take a few hours for the crash to happen :) |
Okay, both have crashed now. In both cases, there was nothing remarkable in the output, even with |
Hmm, the return code seems to suggest that polybar terminated due to SIGPIPE. While you're at it, you can start debugging with
and the bar will stop updating. |
No problem - yes, I know how to do all those things :) I will give it a
shot tonight, but given the unpredictable nature of the crash, it might be
tomorrow by the time I get you those logs.
Thanks again for the help!
…On Fri, Sep 15, 2017 at 6:52 PM, Patrick Ziegler ***@***.***> wrote:
Hmm, the return code seems to suggest that polybar terminated due to
SIGPIPE.
Can you confirm for me that the github module is actually the culprit by
removing all other modules from the modules-* lists.
While you're at it, you can start debugging with gdb. You'll have to
recompile polybar with debug symbols (add -DCMAKE_BUILD_TYPE=Debug to
cmake), then run the bar and attach to the process using sudo gdb -p PID
-ex cont | tee /path/to/logfile. Once the crash occurs, gdb should show a
message along the lines of
Thread 1 "polybar" received signal SIGPIPE, Broken pipe
and the bar will stop updating.
Once that happens, run info stack in gdb and then post the contents of
the log file here.
If you don't know how to do some of those things, please tell me and I'll
write up a quick guide
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#754 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAA6GJTG-3zuBQQ996QHacoOEzuqWSmbks5siv-4gaJpZM4PZDaT>
.
|
Okay, interesting development - I had been running the newest released version in Arch AUR (3.0.5-4), but I switched to git master for building with debug symbols. And now on master, instead of the whole bar crashing after a few hours, just the GitHub module disappears (until I restart the bar, and then it reappears). So something relevant changed between |
This is very strange, I have looked at the changes made since v3.0.5 and none of them should impact the github module. Can you still debug version 3.0.5, it might still help to track down the issue |
While reviewing #811 I have been able to reproduce the crash. I don't think anything has changed between version 3.0.5 and master but rather both variants sometimes occur (crash and module dissappearance). If curl returns a non 200 return code, the module throws an exception and polybar disables it. This is fixed by #811. The crash occurs only if a
The signal(SIGPIPE, SIG_IGN); The thing with this is that it will now ignore all the |
curl is supposed to ignore sigpipes in For If we want to use |
I've been running |
We probably should leave this one open. |
Breaking Changes: * Date module no longer supports non-padded specifiers (i.e. `%-d`) and potentially other specifiers, see #792 - Check http://en.cppreference.com/w/cpp/io/manip/put_time to see supported specifiers * Setting background color to `background-0` with gradients (refer to https://github.com/jaagr/polybar/wiki/Known-Issues) Changelog: Features: * Feat(mpd): State-specific formats (`format-playing`, `format-paused`, `format-stopped`) (#567), see #524 * Feat(ipc): Visibility commands (show, hide, toggle, restart, quit) (b6c5563) * Feat(shell): Bash completion (#588) * Feat(menu): `expand-right` option (#658), see #655 * Feat(temperature): hwmon sysfs support (#688), see #404 * Feat(cursor): Change cursors over clickable/scrollable areas (#727), see #721 * Feat(temperature): Fahrenheit and Celsius tokens (#804) * Feat(mpd): Use mpd name tag or URI as fallback for title-less tracks (#823), see #815 Fixes: * Fix(i3): Clicking workspaces without index (#521), see #520 * Fix(parser): Prefix options overriding format options (#729), see #544 * Fix(parser): Overline tags (eebf105) * Fix(process_util): Prefix shell environment variable (`$POLYBAR_SHELL`) (86ff947), see #566 * Fix(parser): `%{R}` tag (reverse colors) (0bd8f1f), see #585 * Fix(renderer): Center block position with tray (389bae2 & #673), see #551 & #672 * Fix(xworkpaces): Active workspace with XMonad (#587), see #411 & #535 * Fix(config): Expand tilde, environment variable (d3b0670 & #724), see #603 & #719 * Fix(build): Remove curlbuild.h (#648), see #647 * Fix(renderer): Off by one error for actions (#663), see #661 * Fix(gcc): GCC 7.1 ([jaagr/xpp/#6](polybar/xpp#6)) * Fix(fs): Use `bytes_available` for `percentage_used` (138f5fa), see #710 * Fix(fs): Use `f_frsize` for calculations (a682d2a) * Fix(date): Remove date string length limitation (#745), see #754 * Fix(renderer): Nested actions (#772), see #760 and #758 * Fix(i3): Check and warn if current workspace not found (#826), see #824 * Fix(github): Prevent module disappearing with no connection (#811), see #810 * Fix(renderer): Module gradients (#831), see #759 * Fix(build): Update deprecated jsoncpp Reader
This issue was referenced in 3.1.0 but isn't fixed, as SIGPIPE still isn't caught or ignored. There seems to already be code for this in @NBonaparte The curl SIGPIPE functions could work, but only if there's no risk of one module receiving a SIGPIPE (that it acts on) while another module is between |
The reference to this issue seems to be an error, it was supposed to point to 744 not 754. I have fixed that in release notes. I'll have to test out, if an enabled mpd module will prevent this |
I have the following module configured in my polybar config:
(Yes, my polybar is compiled with
+curl
)If I add this module to a bar, everything appears to work fine, I can see the entry, it refreshes every so often, etc. However, randomly and at uneven intervals, but always within ~24 hours, polybar will crash without any sort of output spilled to stderr or stdout.
Even stranger, it doesn't even happen at the same time if I have multiple bars (one for each monitor). Maybe after 3 hours one monitor will lose polybar, and then 10 hours later, the other monitor will lose it.
Removing
github
from the bar makes everything return to normal.Any hints on how I can start diagnosing this issue? Again, I don't see anything on stdout/stderr. Should I try to get a core dump or something? Has anyone encountered this before?
The text was updated successfully, but these errors were encountered: