Almost Beta 2 Cloud Storage fails

Dirk Hohndel dirk at hohndel.org
Mon Sep 21 10:24:48 PDT 2015


On Tue, Sep 22, 2015 at 01:17:06AM +1000, Rick Walsh wrote:
> > > Cloud storage: checking connection to cloud server
> > > git storage: fetch remote
> > > git storage: check remote status
> > > git storage: try to update
> > > git storage: update remote
> > >
> > > Then Subsurface freezes.
> >
> > So it looks like it might be the git_remote_push() that hangs.
> > Which is odd, given that the fetch above seems to have worked.
> > I guess I need to add timestamps... how long did this take?
> > I mean how long from start to the "update remote" and hang?
> > A second? Five? Thirty?
> 
> Something like a second. Maybe more but less than 5.

So it's not timing out. Good.
> 
> > Can you run a traceroute to cloud.subsurface-divelog.org ?
> 
> Sleep now but I can tomorrow.

No problem. Since it's only taking a second or two it's not a connectivity
issue.

> > What are your ping times?
> > If you access the server over https with a browser, is it responsive?
> >
> The webview takes about a second to load/refresh

My guess at this point is that somehow your local cache is messed up. That
still really doesn't explain why we hang there, though.

How good are you with a debugger? The best way to deal with this would be
to set a break point on the call to git_remote_push() in git-access.c
and then step through the next few instructions to see where we get stuck.

If this isn't something you are comfortable with I can add more debug
printouts that will tell us if it really is git_remote_push() or possibly
something else that's causing the problem.

> > > I tried again, this time making a small change:
> > >
> > > [rick at notyourcomputer build]$ ./subsurface -v
> > > Map theme file does not exist: ""
> > > QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No
> > > such file or directory
> > > git storage: update local repo
> > > sync with remote
> > >
> https://cloud.subsurface-divelog.org//git/rickmwalsh@gmail.com[rickmwalsh@gmail.com]
> > > Cloud storage: checking connection to cloud server
> > > Cloud storage: unable to connect to cloud server
> >
> > Now this is interesting. Because above this worked. But it does have a
> > relatively short timeout. I'm wondering... if that's the issue. A really
> > slow connection that times out sometimes and doesn't in others instances.
> 
> If the connection were too slow, it shouldn't work on my old laptop. Cloud
> save works every time on the old and never on the new. I even plugged my
> new laptop directly into the router in case it was the wifi.

Yes, as I said above. I no longer think it's the connection.
I wonder why it failed the second time around but that could just have
been a fluke.

> > > git storage: do git save
> >
> > Now it's only saving to your local cache because it wasn't able to reach
> > the remote.
> >
> > > removed reference to non-existant dive site with uuid ebc33231
> > > removed reference to non-existant dive site with uuid 9d62ab69
> > > removed reference to non-existant dive site with uuid fb3df0ad
> > > removed reference to non-existant dive site with uuid 9d62ab69
> > > removed reference to non-existant dive site with uuid 13f22db5
> > > ---many more lines like the above----
> >
> > I wonder why that happens. Is this the first time you've successfully
> > saved in a while?
> >
> 
> Yes, the version on the cloud was saved from my old computer.

OK. That makes more sense.

Two possible things to try

a) blow away the local cache (it's in ~/.local/shared/Subsurface/Subsurface/<sha of the remote>)
   and try again. While that should cause things to just freeze, that is a
   slight possibility
b) continue with the debugging suggested above

/D



More information about the subsurface mailing list