Hello

I have just discovered a situation where Fossil seems to enter an
endless loop when synchronizing a lot of commit data and some
unversioned files. I'm not sure about the exact size limit, but
probably large enough to trigger multiple round-trips.

Steps to reproduce:

Server
======

FreeBSD 9.1-RELEASE amd64
Fossil version 1.36 [c24373934d] 2016-10-24 14:59:33 UTC
Compiled on Oct 25 2016 14:06:50 using clang-3.4.1
(tags/RELEASE_34/dot1-final 208032) (64-bit)

* Create a new empty fossil repository on the server (I named it `test-repo')

Client
======

Windows XP SP3 (32-bit) and Windows 7 SP1 (32-bit)
Fossil version 1.36 [c24373934d] 2016-10-24 14:59:33 UTC
Compiled on Oct 24 2016 13:12:30 using mingw32-3.18-gcc-4.5.0 (32-bit)

* Clone the repository from the server to the client
* Add and commit a lot of files (try the Fossil /src directory)
* Add an unversioned file (I named it `home.wiki')
* Run `fossil sync -u'

Client Output
=============

[Password prompt ...]

Sync with http://some.fossil.server/fossil.cgi/test-repo
Round-trips: 2   Artifacts sent: 3  received: 0
Error: bad command: uvigot home.wiki 1477722315
ecb1c59ef204582770184dfc6ddc3f7451224c94 416

Round-trips: 3   Artifacts sent: 3  received: 0
server says: bad command: uvigot home.wiki 1477722315
ecb1c59ef204582770184dfc6ddc3f7451224c94 416

Round-trips: 4   Artifacts sent: 4  received: 0
server says: bad command: uvigot home.wiki 1477722315
ecb1c59ef204582770184dfc6ddc3f7451224c94 416

Round-trips: 5   Artifacts sent: 5  received: 0
server says: bad command: uvigot home.wiki 1477722315
ecb1c59ef204582770184dfc6ddc3f7451224c94 416

Round-trips: 6   Artifacts sent: 6  received: 0
server says: bad command: uvigot home.wiki 1477722315
ecb1c59ef204582770184dfc6ddc3f7451224c94 416

[...]

The displayed hash is the checksum of the unversioned file (verified
with a separate sha1 utility).

Shutting down Fossil at this point does not seem to cause any harm to
the local or remote repository, and the problem can be worked around
by running `fossil sync' first, and then `fossil sync -u' in a second
step, so I would consider this to be only a minor issue.

--Florian
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to