I have a reproducible hang on Win32/MinGW during a sync file:. I've saved copies of the two databases.
The command is: mtn --debug --db /Gnu/monotone/tests/temp_2/gds-local-1.db sync \ file:/Gnu/monotone/tests/temp_2/gds-remote-1.db Here's the last couple of transactions from the debug output: mtn: processing 0 byte input buffer from peer file:/Gnu/monotone/tests/temp_2/gds-remote-1.db mtn: processing refine cmd for cert node at level 1 mtn: queueing refinement query of revision node '08', level 1 mtn: queueing refinement query of revision node '09', level 1 mtn: queueing refinement query of cert node '30', level 2 mtn: queueing refinement query of revision node '0a', level 1 mtn: queueing refinement query of cert node '60', level 2 mtn: queueing refinement query of revision node '0d', level 1 mtn: queueing refinement response of cert node '00', level 1 mtn: queueing refinement query of revision node '0e', level 1 mtn: wrote 72 bytes to fd 1952 (peer file:/Gnu/monotone/tests/temp_2/gds-remote-1.db) mtn: wrote 92 bytes to fd 1952 (peer file:/Gnu/monotone/tests/temp_2/gds-remote-1.db) mtn: queueing refinement response of revision node '', level 0 mtn: i/o probe with 0 armed mtn: wrote 333 bytes to fd 1944 (peer stdio) mtn: i/o probe with 0 armed mtn: wrote 353 bytes to fd 1944 (peer stdio) mtn: wrote 313 bytes to fd 1952 (peer file:/Gnu/monotone/tests/temp_2/gds-remote-1.db) mtn: WaitForSingleObject(,21600000) mtn: read 686 bytes from fd 1952 (peer file:/Gnu/monotone/tests/temp_2/gds-remote-1.db) mtn: ticks: >="bytes in"/1024, <="bytes out"/1024, r="revs in"/1, R="revs out"/1 mtn: > mtn: processing 353 byte input buffer from peer file:/Gnu/monotone/tests/temp_2/gds-remote-1.db mtn: processing refine cmd for cert node at level 1 mtn: queueing refinement query of cert node '31', level 2 mtn: queueing refinement query of cert node '61', level 2 mtn: queueing refinement query of cert node 'c1', level 2 mtn: queueing refinement response of cert node '01', level 1 mtn: wrote 72 bytes to fd 1952 (peer file:/Gnu/monotone/tests/temp_2/gds-remote-1.db) mtn: processing 0 byte input buffer from peer file:/Gnu/monotone/tests/temp_2/gds-remote-1.db mtn: processing refine cmd for cert node at level 1 mtn: queueing refinement query of cert node '02', level 2 mtn: queueing refinement query of cert node '32', level 2 mtn: queueing refinement query of cert node 'a2', level 2 mtn: queueing refinement query of cert node 'b2', level 2 mtn: queueing refinement query of cert node 'c207', level 3 mtn: queueing refinement query of cert node 'f2', level 2 mtn: queueing refinement response of cert node '02', level 1 mtn: wrote 72 bytes to fd 1952 (peer file:/Gnu/monotone/tests/temp_2/gds-remote-1.db) mtn: wrote 72 bytes to fd 1952 (peer file:/Gnu/monotone/tests/temp_2/gds-remote-1.db) mtn: i/o probe with 0 armed mtn: wrote 273 bytes to fd 1944 (peer stdio) mtn: i/o probe with 0 armed mtn: wrote 273 bytes to fd 1944 (peer stdio) mtn: i/o probe with 0 armed mtn: wrote 313 bytes to fd 1944 (peer stdio) mtn: i/o probe with 0 armed (hang - aborted with ^c) The debug from both processes is mixed together here. read/write to 'peer stdio' is the remote process, 'file:...' is the local process. Specifying '--dump' instead of '--debug' didn't work; apparently aborting with ^c doesn't trigger the dump. I can run the "local" process in the debugger; the hang is in netxx_pipe.cc Netxx::PipeStream::write I'm not clear where the "remote" process is at that point. 'attach' in gdb doesn't seem to work in MinGW. I'd guess it's waiting to be woken up, but for some reason doesn't realize there is data to read. Any hints on debugging this? -- -- Stephe _______________________________________________ Monotone-devel mailing list Monotone-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/monotone-devel