-
-
Notifications
You must be signed in to change notification settings - Fork 261
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
py3status doesn't restart after unlocking the screen #941
Comments
Since it's EDIT: this doesn't work. The |
Is this correct or do you mean py3status? |
Sorry, I meant |
BTW, it's not very clear in my report, but |
This is strange. We ask i3bar to send a
what are you using to lock your screen? |
Yes, |
@guiniol Can we get an update on this? Same behavior for |
@lasers I don't have the computer where it used to happen all the time. I tried on my home computer where I had seen it happen and it seems fixed. I had a loop launching i3lock, waiting, killing it, waiting again so I could check if it had restarted, and after 20+ iterations it always restarted, which certainly wasn't the case previously. AFAICT, this seems to be fixed, but I'll keep you guys posted if it happens again. What was the fix? |
@guiniol You could close this issue if you believe it's fixed. I don't know what the fix was, but it was a series of pull requests from @tobes to address many performance issues including potential memory leak issue #1074. See 3.7 Milestone
|
Alright. Thanks! |
Sadly, I am reopening this issue as it has happened again. |
So I tried to understand the issue here. I'd like more information... What i3modules do you use? I notice that py3status will always react when it received a signal, but it can be very late sometimes.
It'd be nice to find out what stopped
I'll try and see if I can log them. Maybe we can get name, pid, etc from the sender. EDIT: Possibly it skipped. It does not always receive signals, it seems. |
I have attached the list of modules I use at home (I can attach the list of modules used at work later): What happens is that when I unlock the screen, py3status doesn't update anymore. I believe it is i3lock sending the SIGSTP signal. I use the following command to start i3lock: I think py3status is indeed skipping some signals as sending a |
For what it's worth, DPMS support ( |
I wonder what is sending the signal then. I'll remove |
Hello It seems that the issue has been fixed here i3/i3#2539 I'll close this issue, re-open if needed please |
Sure, thanks |
hiya. i see this is an old issue. however, i have this exact problem myself. shall i add more info here (reopen the issue) or do you prefer a new issue? |
Hi, I have since recently the same problem too. I run
|
i'm having this problem on two different systems. both are manjaro i3.
|
So we'll have to investigate again. I'm not affected and it was previously related to i3 itself not sending the right SIG. @cyrinux @klevstul could you please give your exact i3 version? Thanks |
@ultrabug - thanks for looking into this.
|
@klevstul alright so something else is happening... when py3status receives signals, it prints a log, can you check your logs to see when it gets the SIGSTP? it should get a SIGCONT after unlocking, do you see that happen? also, if you're on IRC, raise your hand plz |
additional info found when reading the i3 debugging page:
where do i find the logs? at first glance, i can't see anything relevant at i'm not on irc. if it helps though i can be reached on keybase. |
@klevstul Logs are found on your user logs (depends on your syslog). If you use systemd, you can get them using Cheers |
here is output from the logs. note that this doesn't happen every time though. most times it works fine. however, once in a while it freezes. maybe it's related to the "i3status died and said: exiting due to signal."?
|
@klevstul Can you share your untampered config? Replace passwds/keys/apis etc with |
hmm there's indeed something fishy here.. looks like you trimmed some logs tho, can we have it all to download somewhere? only for an entire day when you encountered the issue but that's too much SIGSTP / SIGCONT I think @klevstul you confirm to be using i3lock right? |
|
@klevstul
You can try
If possible, keep an eye on the logs and study the behaviors between logs + modules. If py3status is stuck on the bar, but the log is still logging results, then we might want to know that. Does it happen with other locks too (i.e.
This is probably from restarting i3. Your (reverse) logs puts newest entries fist. It should look like:
Also, you can use Sorry for the wall of text. As you might notice, we can't reproduce this. I hope you find something new. |
Yep I must admit that I can't reproduce it either... there's nothing special about the logs (btw **I recommend you delete those files now that we've looked at them) So lasers procedure might help |
Hi guys, py3status still get stuck after unlock my screen, but not always... |
a little update from me. i've done some debugging. what seems to be the case is that whenever this do happen py3status doesn't receive for example, just now, upon unlocking, the following signals were sent:
since and, when things do work
seems to be random in which order these signals are sent. which might explain why py3status sometimes start, sometimes not. |
Thanks for following up @klevstul .. so it looks like py3status does what it's being asked to do here right?... I have no clue as to why it gets so many conflicting signals then. i3 related? some other system broadcasting messages? The only thing I could imagine is to add some kind of throttling to py3status signal management so that we consider signals not one by one, but within a time frame. |
@ultrabug if py3status would only take action for the first signal received, during a one second period, it looks like it would work fine. the correct signal seems to be sent and received as the first signal. unfortunately, i don't know why and how the signalling system works. it would be nice to figure out exactly why multiple signals are sent. @cyrinux - are you on i3wm as well? |
@klevstul What's your setup? Both bars (top/bottom) or two monitors? I'm wondering if it is i3bar sending signal to each bar or if we're printing signals twice because there are multiple bars, but the log is often viewed as a log for a single bar. |
@lasers |
Definitely a bug, but likely not a py3status bug. Closing this in favor of i3/i3#3242. |
Sometimes,
py3status
does not restart updating after locking the screen. Sending it aSIGCONT
unblocks it.To debug this, I started py3status with
status_command strace -f -t -qq -yy -e trace=signal -o ~/.i3/py3status.strace py3status -c ~/.i3/i3status.conf -d -l ~/.i3/py3status.log
to trace all signals sent to py3status as well as enable its builtin debugging. I also added logging insidecore.py
ini3bar_stop
andi3bar_start
:self.log('GUINIOL stopping py3status')
andself.log('GUINIOL starting py3status')
. TheGUINIOL
is for easy grepping.Here are the full log files.
py3status
stopped working at16:05:42
.py3status.log.txt
py3status.strace.txt
The relevant excerpts:
I just addedsignal(SIGSTOP, self.i3bar_stop)
incore.py
and will see if that fixes the issue, as theSTOP
signal doesn't to have been handled.EDIT:
SIGSTOP
cannot be caught.The text was updated successfully, but these errors were encountered: