<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 22 September 2015 at 03:24, Dirk Hohndel <span dir="ltr"><<a href="mailto:dirk@hohndel.org" target="_blank">dirk@hohndel.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">On Tue, Sep 22, 2015 at 01:17:06AM +1000, Rick Walsh wrote:<br>
> > > Cloud storage: checking connection to cloud server<br>
> > > git storage: fetch remote<br>
> > > git storage: check remote status<br>
> > > git storage: try to update<br>
> > > git storage: update remote<br>
> > ><br>
> > > Then Subsurface freezes.<br>
> ><br>
> > So it looks like it might be the git_remote_push() that hangs.<br>
> > Which is odd, given that the fetch above seems to have worked.<br>
> > I guess I need to add timestamps... how long did this take?<br>
> > I mean how long from start to the "update remote" and hang?<br>
> > A second? Five? Thirty?<br>
><br>
> Something like a second. Maybe more but less than 5.<br>
<br>
</span>So it's not timing out. Good.<br>
<span class="">><br>
> > Can you run a traceroute to <a href="http://cloud.subsurface-divelog.org" rel="noreferrer" target="_blank">cloud.subsurface-divelog.org</a> ?<br>
><br>
> Sleep now but I can tomorrow.<br>
<br>
</span>No problem. Since it's only taking a second or two it's not a connectivity<br>
issue.<br></blockquote><div><br></div><div>FWIW, here's the traceroute.<br><br>traceroute to <a href="http://cloud.subsurface-divelog.org">cloud.subsurface-divelog.org</a> (52.25.223.173), 30 hops max, 60 byte packets<br> 1  gateway (192.168.1.1)  1.045 ms  1.680 ms  1.775 ms<br> 2  <a href="http://lo0.bng1.mel4.on.ii.net">lo0.bng1.mel4.on.ii.net</a> (150.101.32.44)  14.045 ms  15.004 ms  16.828 ms<br> 3  <a href="http://ae4.cr1.mel4.on.ii.net">ae4.cr1.mel4.on.ii.net</a> (150.101.33.106)  17.808 ms  19.183 ms  20.463 ms<br> 4  <a href="http://ae2.br1.syd7.on.ii.net">ae2.br1.syd7.on.ii.net</a> (150.101.33.28)  34.200 ms  50.582 ms  50.852 ms<br> 5  <a href="http://po-0-7-2-0.br1.nrt1.on.ii.net">po-0-7-2-0.br1.nrt1.on.ii.net</a> (150.101.33.201)  436.036 ms  436.024 ms  436.015 ms<br> 6  <a href="http://xe-0-0-0-2.r00.tokyjp03.jp.bb.gin.ntt.net">xe-0-0-0-2.r00.tokyjp03.jp.bb.gin.ntt.net</a> (61.120.146.177)  436.005 ms  404.624 ms  375.433 ms<br> 7  <a href="http://ae-0.amazon.tokyjp03.jp.bb.gin.ntt.net">ae-0.amazon.tokyjp03.jp.bb.gin.ntt.net</a> (61.213.145.2)  375.400 ms  375.388 ms  375.379 ms<br> 8  27.0.0.228 (27.0.0.228)  375.371 ms  375.359 ms  375.348 ms<br> 9  * * *<br>10  205.251.232.74 (205.251.232.74)  351.057 ms 54.239.52.134 (54.239.52.134)  217.883 ms *<br>11  205.251.232.203 (205.251.232.203)  214.407 ms  208.944 ms  209.916 ms<br>12  205.251.232.61 (205.251.232.61)  234.650 ms 54.239.48.183 (54.239.48.183)  212.854 ms  214.187 ms<br>13  205.251.232.74 (205.251.232.74)  224.804 ms * *<br>14  * * *<br>15  * * *<br>16  * * *<br>17  * * *<br>18  * * *<br>19  * * *<br>20  * * *<br>21  * * *<br>22  * * *<br>23  * * *<br>24  * * *<br>25  * * *<br>26  * * *<br>27  * * *<br>28  * * *<br>29  * * *<br>30  * * *<br><br></div><div>I've never used traceroute before, so don't know if that's what it's supposed to do, but I don't get the *** entries if for example I traceroute <a href="http://www.subsurface-divelog.org">www.subsurface-divelog.org</a><br><br>traceroute to <a href="http://www.subsurface-divelog.org">www.subsurface-divelog.org</a> (198.145.64.136), 30 hops max, 60 byte packets<br> 1  gateway (192.168.1.1)  1.056 ms  1.370 ms  1.530 ms<br> 2  <a href="http://lo0.bng1.mel4.on.ii.net">lo0.bng1.mel4.on.ii.net</a> (150.101.32.44)  13.901 ms  14.846 ms  16.215 ms<br> 3  <a href="http://ae4.cr1.mel4.on.ii.net">ae4.cr1.mel4.on.ii.net</a> (150.101.33.106)  20.502 ms  20.149 ms  21.290 ms<br> 4  <a href="http://ae2.br1.syd7.on.ii.net">ae2.br1.syd7.on.ii.net</a> (150.101.33.28)  35.644 ms  36.782 ms  37.808 ms<br> 5  <a href="http://te0-2-1-2.br1.sjc2.on.ii.net">te0-2-1-2.br1.sjc2.on.ii.net</a> (150.101.33.147)  197.029 ms  197.100 ms <a href="http://te-0-2-1-3.br1.sjc2.on.ii.net">te-0-2-1-3.br1.sjc2.on.ii.net</a> (150.101.33.251)  184.741 ms<br> 6  <a href="http://snjs.equinix.twtelecom.net">snjs.equinix.twtelecom.net</a> (206.223.116.36)  208.939 ms  199.477 ms  199.446 ms<br> 7  <a href="http://pdx1-ar3-xe-0-0-0-0.us.twtelecom.net">pdx1-ar3-xe-0-0-0-0.us.twtelecom.net</a> (66.192.240.182)  192.158 ms  197.805 ms  194.834 ms<br> 8  <a href="http://66-193-100-90.static.twtelecom.net">66-193-100-90.static.twtelecom.net</a> (66.193.100.90)  196.035 ms  197.627 ms  199.128 ms<br> 9  <a href="http://ge-8-2-20.acs-rtr05.ptldor02.iinet.com">ge-8-2-20.acs-rtr05.ptldor02.iinet.com</a> (198.145.240.166)  310.944 ms  288.200 ms  288.095 ms<br>10  <a href="http://mail.gr8dns.org">mail.gr8dns.org</a> (198.145.64.136)  193.716 ms  186.373 ms  187.093 ms<br><br><br></div><div>On my old computer, I get similar output for traceroute to be <a href="http://cloud.subsurface-divelog.org">cloud.subsurface-divelog.org</a> and <a href="http://www.subsurface-divelog.org">www.subsurface-divelog.org</a>.<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class=""><br>
> > What are your ping times?<br></span></blockquote><div><br>[rick@notyourcomputer ~]$ ping <a href="http://cloud.subsurface-divelog.org">cloud.subsurface-divelog.org</a> -D<br>PING <a href="http://cloud.subsurface-divelog.org">cloud.subsurface-divelog.org</a> (52.25.223.173) 56(84) bytes of data.<br>^C<br>--- <a href="http://cloud.subsurface-divelog.org">cloud.subsurface-divelog.org</a> ping statistics ---<br>138 packets transmitted, 0 received, 100% packet loss, time 136999ms<br><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">
> > If you access the server over https with a browser, is it responsive?<br>
> ><br>
> The webview takes about a second to load/refresh<br>
<br>
</span>My guess at this point is that somehow your local cache is messed up. That<br>
still really doesn't explain why we hang there, though.<br>
<br>
How good are you with a debugger? The best way to deal with this would be<br>
to set a break point on the call to git_remote_push() in git-access.c<br>
and then step through the next few instructions to see where we get stuck.<br>
<br>
If this isn't something you are comfortable with I can add more debug<br>
printouts that will tell us if it really is git_remote_push() or possibly<br>
something else that's causing the problem.<br>
<span class=""><br></span></blockquote><div><br></div><div>Does this help?<br></div><div><br>Breakpoint 1, update_remote (repo=0x21fca40, origin=0x23a18f0, local=0x26fbe20, remote=0x21e7ea0, rt=RT_HTTPS) at /home/rick/src/subsurface/git-access.c:244<br>244             if (git_remote_push(origin, &refspec, &opts)) {<br>(gdb) step<br>[Thread 0x7fff797b0700 (LWP 3640) exited]<br><br></div><div>(hangs)<br></div><div><br>^C<br>Program received signal SIGINT, Interrupt.<br>0x00007fffefaee063 in select () from /lib64/libc.so.6<br>(gdb) bt 20<br>#0  0x00007ffff630938c in wait_for.constprop () from /home/rick/src/install-root/lib/libgit2.so.23<br>#1  0x00007ffff63093f4 in curls_write () from /home/rick/src/install-root/lib/libgit2.so.23<br>#2  0x00007ffff6326a73 in bio_write () from /home/rick/src/install-root/lib/libgit2.so.23<br>#3  0x00007ffff5d109dc in BIO_write () from /lib64/libcrypto.so.10<br>#4  0x00007ffff604c152 in ssl3_write_pending () from /lib64/libssl.so.10<br>#5  0x00007ffff604c814 in ssl3_write_bytes () from /lib64/libssl.so.10<br>#6  0x00007ffff6326c5d in openssl_write () from /home/rick/src/install-root/lib/libgit2.so.23<br>#7  0x00007ffff63411ce in write_chunk () from /home/rick/src/install-root/lib/libgit2.so.23<br>#8  0x00007ffff634248f in http_stream_write_chunked () from /home/rick/src/install-root/lib/libgit2.so.23<br>#9  0x00007ffff6345c5d in stream_thunk () from /home/rick/src/install-root/lib/libgit2.so.23<br>#10 0x00007ffff62c7995 in write_object () from /home/rick/src/install-root/lib/libgit2.so.23<br>#11 0x00007ffff62cb927 in git_packbuilder_foreach () from /home/rick/src/install-root/lib/libgit2.so.23<br>#12 0x00007ffff63473ce in git_smart.push () from /home/rick/src/install-root/lib/libgit2.so.23<br>#13 0x00007ffff62de72a in git_push_finish () from /home/rick/src/install-root/lib/libgit2.so.23<br>#14 0x00007ffff63315d0 in git_remote_upload () from /home/rick/src/install-root/lib/libgit2.so.23<br>#15 0x00007ffff6331656 in git_remote_push () from /home/rick/src/install-root/lib/libgit2.so.23<br>#16 0x00000000006aa892 in update_remote (repo=0x21fca40, origin=0x23a18f0, local=0x26fbe20, remote=0x21e7ea0, rt=RT_HTTPS)<br>    at /home/rick/src/subsurface/git-access.c:244<br>#17 0x00000000006ab229 in try_to_update (repo=0x21fca40, origin=0x23a18f0, local=0x26fbe20, remote=0x21e7ea0, rt=RT_HTTPS)<br>    at /home/rick/src/subsurface/git-access.c:414<br>#18 0x00000000006ab492 in check_remote_status (repo=0x21fca40, origin=0x23a18f0, branch=0x2335170 "<a href="mailto:rickmwalsh@gmail.com">rickmwalsh@gmail.com</a>", rt=RT_HTTPS)<br>    at /home/rick/src/subsurface/git-access.c:471<br>#19 0x00000000006ab735 in sync_with_remote (repo=0x21fca40, remote=0x2334cd0 "<a href="https://cloud.subsurface-divelog.org//git/rickmwalsh@gmail.com">https://cloud.subsurface-divelog.org//git/rickmwalsh@gmail.com</a>", <br>    branch=0x2335170 "<a href="mailto:rickmwalsh@gmail.com">rickmwalsh@gmail.com</a>", rt=RT_HTTPS) at /home/rick/src/subsurface/git-access.c:532<br>(More stack frames follow...)<br><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">
> > > I tried again, this time making a small change:<br>
> > ><br>
> > > [rick@notyourcomputer build]$ ./subsurface -v<br>
> > > Map theme file does not exist: ""<br>
> > > QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No<br>
> > > such file or directory<br>
> > > git storage: update local repo<br>
> > > sync with remote<br>
> > ><br>
> <a href="https://cloud.subsurface-divelog.org//git/rickmwalsh@gmail.com[rickmwalsh@gmail.com]" rel="noreferrer" target="_blank">https://cloud.subsurface-divelog.org//git/rickmwalsh@gmail.com[rickmwalsh@gmail.com]</a><br>
> > > Cloud storage: checking connection to cloud server<br>
> > > Cloud storage: unable to connect to cloud server<br>
> ><br>
> > Now this is interesting. Because above this worked. But it does have a<br>
> > relatively short timeout. I'm wondering... if that's the issue. A really<br>
> > slow connection that times out sometimes and doesn't in others instances.<br>
><br></span></blockquote><div><br></div><div>I've repeated this a few times and it appears that if I open my log and do save to cloud, then it hangs, but if I make a change before saving to cloud then it updates the local, before the "Could not update Subsurface cloud storage, try again later" message.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">
> If the connection were too slow, it shouldn't work on my old laptop. Cloud<br>
> save works every time on the old and never on the new. I even plugged my<br>
> new laptop directly into the router in case it was the wifi.<br>
<br>
</span>Yes, as I said above. I no longer think it's the connection.<br>
I wonder why it failed the second time around but that could just have<br>
been a fluke.<br>
<span class=""><br>
> > > git storage: do git save<br>
> ><br>
> > Now it's only saving to your local cache because it wasn't able to reach<br>
> > the remote.<br>
> ><br>
> > > removed reference to non-existant dive site with uuid ebc33231<br>
> > > removed reference to non-existant dive site with uuid 9d62ab69<br>
> > > removed reference to non-existant dive site with uuid fb3df0ad<br>
> > > removed reference to non-existant dive site with uuid 9d62ab69<br>
> > > removed reference to non-existant dive site with uuid 13f22db5<br>
> > > ---many more lines like the above----<br>
> ><br>
> > I wonder why that happens. Is this the first time you've successfully<br>
> > saved in a while?<br>
> ><br>
><br>
> Yes, the version on the cloud was saved from my old computer.<br>
<br>
</span>OK. That makes more sense.<br>
<br>
Two possible things to try<br>
<br>
a) blow away the local cache (it's in ~/.local/shared/Subsurface/Subsurface/<sha of the remote>)<br>
   and try again. While that should cause things to just freeze, that is a<br>
   slight possibility<br></blockquote><div><br></div><div>I tried that.  Here's the gdb session.<br><br>Using host libthread_db library "/lib64/libthread_db.so.1".<br>Map theme file does not exist: ""<br>QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No such file or directory<br>[New Thread 0x7fff78e1e700 (LWP 5063)]<br>git storage: create_local_repo<br>Cloud storage: checking connection to cloud server<br>Cloud storage: unable to connect to cloud server<br>[Thread 0x7fff78e1e700 (LWP 5063) exited]<br><br></div><div>Error message at base of screen: Unable to open git repository '<a href="https://cloud.subsurface-divelog.org//git/rickmwalsh@gmail.com[rickmwalsh@gmail.com]">https://cloud.subsurface-divelog.org//git/rickmwalsh@gmail.com[rickmwalsh@gmail.com]</a>'</div><div>(Contacting cloud service progress bar shows no progress.  Hit cancel)<br><br>^C[New Thread 0x7fff7961f700 (LWP 5358)]<br>[New Thread 0x7fff7bfff700 (LWP 5348)]<br>[New Thread 0x7fff80f68700 (LWP 5347)]<br>[New Thread 0x7fff81769700 (LWP 5346)]<br>[New Thread 0x7fff81f6a700 (LWP 5345)]<br>[New Thread 0x7fffc2b7c700 (LWP 5344)]<br>[New Thread 0x7fffc9ef9700 (LWP 5343)]<br>[New Thread 0x7fffd7a68700 (LWP 5342)]<br><br>Program received signal SIGINT, Interrupt.<br>0x00007fffefaec2fd in poll () at ../sysdeps/unix/syscall-template.S:81<br>81      T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)<br>Missing separate debuginfos, use: dnf debuginfo-install bzip2-libs-1.0.6-14.fc22.x86_64 cyrus-sasl-lib-2.1.26-22.fc22.x86_64 cyrus-sasl-lib<br>----snip---<br>gdb) bt 20<br>#0  0x00007fffefaec2fd in poll () at ../sysdeps/unix/syscall-template.S:81<br>#1  0x00007fffea6b4dbc in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0<br>#2  0x00007fffea6b4ecc in g_main_context_iteration () from /lib64/libglib-2.0.so.0<br>#3  0x00007ffff0627d8f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5<br>#4  0x00007ffff05cedaa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5<br>#5  0x00007ffff05d6e6c in QCoreApplication::exec() () from /lib64/libQt5Core.so.5<br>#6  0x00000000004e9b50 in run_ui () at /home/rick/src/subsurface/qt-gui.cpp:72<br>#7  0x00000000004e8ada in main (argc=2, argv=0x7fffffffded8) at /home/rick/src/subsurface/main.cpp:78<br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
b) continue with the debugging suggested above<br>
<span class=""></span></blockquote><div><br></div><div>Does any of the above give a clue what's causing the problem?<br><br></div><div>Cheers,<br><br></div><div>Rick<br></div><div> </div></div></div></div>