С какого-то момент перестал работать push:
$ hg push -v --debug
pushing to ssh://repos@stuff/crm
running ssh repos@stuff "hg -R crm serve --stdio"
sending hello command
sending between command
remote: 162
remote: capabilities: lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch stream unbundle
=HG10GZ,HG10BZ,HG10UN httpheader=1024 largefiles=serve
remote: 1
query 1; heads
sending batch command
searching for changes
all remote heads known locally
sending statlfile command
uploading largefiles: 0/1 largefile (0.00%)
Found 4a1ac6038d2a7a88e7a3459c674ac5c987ecfead in store
sending statlfile command
remotestore: sendfile(/home/true_admin/repos/crm/.hg/largefiles/4a1ac6038d2a7a88e7a3459c674ac5c987ecfead, 4a1ac6038d2a7a88
e7a3459c674ac5c987ecfead)
sending putlfile command
sending: 4/516 kb (0.78%)
...
sending: 258/516 kb (50.00%)
abort: remotestore: could not put /home/true_admin/repos/crm/.hg/largefiles/4a1ac6038d2a7a88e7a3459c674ac5c987ecfead to remote store ssh://repos@stuff/crm
На стороне сервера можно как-то логи посмотреть? Хотя и без них, судя по strace, понятно что рвёт соединение клиент. С других клиентов push на этот же сервер проходит нормально.
Если запустить с --traceback то ничего нового не увидим:
File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line 4338, in push
newbranch=opts.get('new_branch'))
File "/usr/lib/python2.7/dist-packages/hgext/largefiles/reposetup.py", line 410, in push
lfcommands.uploadlfiles(ui, self, remote, toupload)
File "/usr/lib/python2.7/dist-packages/hgext/largefiles/lfcommands.py", line 341, in uploadlfiles
store.put(source, hash)
File "/usr/lib/python2.7/dist-packages/hgext/largefiles/remotestore.py", line 28, in put
% (source, self.url))
Abort: remotestore: could not put /home/true_admin/repos/crm/.hg/largefiles/4a1ac6038d2a7a88e7a3459c674ac5c987ecfead to remote store ssh://repos@stuff/crm
abort: remotestore: could not put /home/true_admin/repos/crm/.hg/largefiles/4a1ac6038d2a7a88e7a3459c674ac5c987ecfead to remote store ssh://repos@stuff/crm
Ну вот кто так людей учил программы писать? Из этого сообщения понятно что ничего не понятно. Хоть бы вменяемо падало... Там даже в сырцах есть «# XXX check for errors here»...
Через strace на клиенте пока не выявил каких-либо проблем. Более того, у меня создаётся ощущение что файл отправляется до конца, а не на 50% (потому что последний чанк меньше других). Пробовал через vpn заливать, те же яйца.
Есть идеи?