backu...@kosowsky.org wrote at about 09:52:26 -0500 on Sunday, January 23, 2022: > Kenneth Porter wrote at about 01:51:53 -0800 on Sunday, January 23, 2022: > > On 1/22/2022 11:45 PM, backu...@kosowsky.org wrote: > > > #1 0x000055555543fc43 in perform_io (needed=2, flags=2) at io.c:742 > > > > This smells like a deadlock. This code is waiting for 2 bytes in the > > socket output buffer so it can write the file's next block checksum. > > Perhaps the other side is failing to drain the socket for some reason. > > > Interesting... > 1. If the problem is the other side failing to drain the socket, why > would it work for native rsync (same version 3.1.2)? > I am struggling to understand what is different at this level > between native rsync and rsync-bpc. > Does rsync-bpc force some settings or protocol levels under the > hood that would cause such a difference? > > 2. What can I do to troubleshoot this further? > > BTW thanks for the help so far... it seems like you really understand > the rsync code... :) >
Not sure if this is helpful, but I got an strace binary for android and ran it on the remote host. When rsync hangs, I see the following output from strace on the remote android host: select(2, [], [1], [], {60, 0}) = 1 (out [1], left {59, 997924}) write(1, "\10\273\0\360\27\370O\360\1\v\tH\312\370\0@xD\212\370\4\260\2\231\0h\0h@\32\4\277"..., 28504) = 8192 gettimeofday({1642951132, 100247}, NULL) = 0 select(2, [], [1], [], {60, 0}) = 1 (out [1], left {60, 0}) write(1, "hUY\0\364\310V\0]\265C\0H\311V\0>UY\0\312\310V\0003\265C\0\36\311V\0"..., 20312) = 8192 gettimeofday({1642951132, 100857}, NULL) = 0 select(2, [], [1], [], {60, 0}) = 1 (out [1], left {59, 976010}) write(1, " F\276\367\34\350\24\261 F\30\362e\370(Ff\363\332\374\2244Y\0\366\260V\00084Y\0"..., 12120) = 12120 gettimeofday({1642951132, 128631}, NULL) = 0 select(2, [], [1], [], {60, 0}) = 1 (out [1], left {60, 0}) write(1, "\301\370\0\340\200\275\260\265\2\257\fF\5F\204\261!h(F\377\367\367\377ah(F\377\367\363\377"..., 176) = 176 gettimeofday({1642951132, 129821}, NULL) = 0 select(2, [], [1], [], {60, 0}) = ? ERESTARTNOHAND (To be restarted if no handler) select(2, [], [1], [], {59, 387303}) = ? ERESTARTNOHAND (To be restarted if no handler) select(2, [], [1], [], {58, 763723}) = ? ERESTARTNOHAND (To be restarted if no handler) ... ... select(2, [], [1], [], {8, 824088}) = ? ERESTARTNOHAND (To be restarted if no handler) select(2, [], [1], [], {8, 200877}) = ? ERESTARTNOHAND (To be restarted if no handler) select(2, [], [1], [], {3, 534438}) = 0 (Timeout) gettimeofday({1642951221, 967364}, NULL) = 0 select(2, [], [1], [], {60, 0}) = ? ERESTARTNOHAND (To be restarted if no handler) select(2, [], [1], [], {57, 250300}) = ? ERESTARTNOHAND (To be restarted if no handler) select(2, [], [1], [], {56, 645874}) = ? ERESTARTNOHAND (To be restarted if no handler) select(2, [], [1], [], {55, 424937}) = ? ERESTARTNOHAND (To be restarted if no handler) select(2, [], [1], [], {53, 785046}) = ? ERESTARTNOHAND (To be restarted if no handler) ... ... select(2, [], [1], [], {18, 238407}) = ? ERESTARTNOHAND (To be restarted if no handler) select(2, [], [1], [], {7, 535188}) = ? ERESTARTNOHAND (To be restarted if no handler) select(2, [], [1], [], {6, 897262}) = 0 (Timeout) gettimeofday({1642951309, 313667}, NULL) = 0 select(2, [], [1], [], {60, 0}) = ? ERESTARTNOHAND (To be restarted if no handler) select(2, [], [1], [], {45, 913047}) = ? ERESTARTNOHAND (To be restarted if no handler) etc. _______________________________________________ BackupPC-users mailing list BackupPC-users@lists.sourceforge.net List: https://lists.sourceforge.net/lists/listinfo/backuppc-users Wiki: https://github.com/backuppc/backuppc/wiki Project: https://backuppc.github.io/backuppc/