-
-
Notifications
You must be signed in to change notification settings - Fork 363
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
offlineimap confused after (suspend and) resume #56
Comments
Which version of OfflineIMAP you're using? Which OS? |
offlineimap 6.5.4 on an updated Arch Linux, which means basically latest vanilla versions of everything |
What typically happens after resume and upon sending offlineimap the SIGUSR2: Terminating after this sync... |
Just wanted to add that I can see the same whilst using 6.5.5 on an updated Arch Linux. Are there any thoughts as of why is this happening? |
Same here. Offlineimap 6.5.3 on OpenSUSE. I use timeout to fix that and kill offlineimap if timeout returns non zero. Never had issues with broken repo because of that (happily). |
How do you use timeout(1) for that? Are you running offlineimap -o (run-once mode)? |
No, just calling offlineimap by cron. On Tue, Feb 11, 2014 at 03:55:07AM -0800, Daniel wrote:
Best regards, |
I'm seeing this issue too (6.5.5 on Arch Linux). |
Same here, 6.5.5 on Arch Linux. Not using cron, just running |
I am seeing a similar problem on a Macbook Air running Mac OS X 10.9.2 (Mavericks). No cron, just using |
Same here. Offlineimap 6.5.4, Python: 2.7.5, Debian Wheezy (Ubuntu) |
You should try to set socktimeout in general section of your offlineimaprc. It sets timeout on select call, so the process will terminate when no data is recieved within the timeout. Solved the problem for me. |
Thanks @mlen -- setting socktimeout in the [general] section seems to work. |
This workaround helps, but I'm still getting occasional hangs even with the |
without this, offlineimap hangs whenever the network goes away (due to suspend or whatever). without this set, the socket never times out, even if the connection no longer exists, and offlineimap defers signals until all connections are cleaned up, so it just permanently hangs. see OfflineIMAP/offlineimap#56.
@mlen's suggestion worked for me, thanks. |
what value of socktimeout did you use? |
I use |
@murphyslaw480 thanks 👍 |
Requires to be documented in |
Done in cd962d4. |
As I mentioned, setting |
Ok. I know current behaviour sucks. Sadly, it's hard to handle this properly so don't expect this to be fixed soon. |
There are two things I would suggest here:
|
Hi Edward,
|
Still happening on 6.6.1 |
Fix to force OfflineIMAP to stop with consecutives |
Thank you for the update. If someone could tell me what should be done,
maybe I would try to iplement that feature.
|
I'm also interested in someone fixing this. I have the same issue. 😅 (I have offlineimap running as a systemd user service under Arch Linux) |
Bear in mind there might be more than one blocker. |
Assuming this will be difficult to debug, can we at least implement a SIG{INT,TERM} handler which deletes the lockfile? I currently have to delete |
Please, try v6.7.0 or later. |
Ah, since I run offlineimap as a notmuch hook, when I hit CTRL-C offlineimap was getting reparented to init, returning me to the shell but without actually killing the sync threads. If i wait another couple of seconds after CTRL-C, the lockfiles disappear and I can re-run notmuch. By the way, I am running v6.7.0, but I was wrongly blaming offlineimap for something that seems to be an issue with notmuch or my configuration. |
@pwnage101 You might like to try SIGQUIT. Unix signals handling is explained in the manual. |
While the popular reaction to this problem seems to be to restart |
I notice offlineimap sometimes hanging forever, especially on wake from sleep. Often only one of the two configured accounts will stop syncing, so it is hard to notice that something went wrong. Searching led me to: OfflineIMAP/offlineimap#56 Suggests that setting socktimeout will help, although likely won't fix all issues. The sample config file documents it thus: > By default, Offlineimap will not exit due to a network error until the > operating system returns an error code. Operating systems can sometimes take > forever to notice this. Here you can activate a timeout on the socket. This > timeout applies to individual socket reads and writes, not to an overall sync > operation. You could perfectly well have a 30s timeout here and your sync > still take minutes. > > Values in the 30-120 second range are reasonable. > > The default is to have no timeout beyond the OS. Times are given in seconds. The key there being "no timeout beyond the OS".
I said earlier:
I should clarify that sometimes if i resume from suspend, offlineimap will hang forever. Of course I can kill it manually with SIGKILL or SIGQUIT. |
I have at (almost) all times offlineimap running in a tmux. After resuming my compu, offlineimap has problems to reconnect properly.
Often it just hangs for a long time (or indefinetely) while nothing seems to happen.
I came up with a solution to the problem by having a resume-script that sends SIGUSR2 to my running offlineimap, whereafter it is automatically restarted.
The problem though, is that sometimes offlineimap takes a long time to exit upon SIGUSR2. Maybe this is again related to the lost tcp connections, timeouts, and such. And essentially the same problem as above.
Any suggestions on how I should solve? I have been reluctant to just send SIGKILL to the process, because I was afraid that this might cause inconsistencies in the repo, or such. But maybe this is what I need and should to do?
The text was updated successfully, but these errors were encountered: