On 04/28/2012 09:26 PM, Andrzej Giniewicz wrote: > Hello, > > one of users of my setup encountered infinite hang in sync in > TortoiseHg 2.3.1 on Windows. I don't know if this is bug or not, > because it happens in very specific case. Let me explain the setup > first, then I will go to issue. > > I maintain a set of repositories using mercurial-server 1.2 mercurial > 2.1.2 on the server side. The server is for repos and is a build > server at the same time - each repo holds both sources and automatic > builds. I wrote simple script very specific to my uses which runs > build script if last commit message include special tag [build] > followed by names separated by spaces - like "message [build] fileA > fileB ..." - this in turns runs compilation (it's LaTeX documents > which is largely auto-generated - build takes approximately 30 second) > into build directory, commits the change with message "automatic build > `date`". I tested this setup on Linux and it works perfectly. I commit > message with "[build]" tag, then I push, then I pull to get updated > build directory and done - I save about 10GB of space and issues on > each machines that uses it (full TeX, Sage, R, some custom fonts, etc > - and I especially did this for future Windows users in mind, because > they cannot install some of those components without huge virtual > machine). > > It all worked like a charm until I got first Windows user, who uses as > I mentioned TortoiseHg 2.3.1. Pushes with normal commits works, but > after pushing commit with "[build]" from TortoiseHg it hanged (left it > to check for about 5 minutes). The issue is that on server side, the > script completed and resulted in working state of repo - I was able to > do pull on different machine and obtain both committed changes and > automatic build created by this commit - but in Tortoise it still said > that it is working. Also, there was no way to close the window (it > said that sync is in process) or even abort current push (the red > "stop" button with cross on it had no effect). Had to kill tortoise > from process manager and then pull - and from this on it worked again, > until another "build" command, when it hanged.
Probably "push" operation is waiting some data at socket.recv(). It cannot be terminated by "stop" button. Is there any suspicious message in "Output Log" window? And could you test if "hg push" from Windows command works on that situation? fwiw, it will be better to use CI server and just kick build process from hook. If the server doesn't respond until build finishes, the client may time out. > What comes to mind is time difference (server runs in different time > zone), but I don't believe it should be an issue. Other thing is that > something could me messed up with the script itself, so I'm not > labelling this bug yet, although as I said it works on Linux when I do > "hg push" from command line and the script completes. I also checked > if commit message is correct (though that there were extra spaces, or > line ending difference or something like that - logged into server and > executed script by hand on top of copy of repo - and again it worked > without issues and finished). Can this be because of use of stdio > inside the script to print logs? I left it verbose because then I see > the logs of compilation when I run "hg push" on Linux and again it > works there. Is there any difference in how push works from Tortoise > Gui when compared to plain Hg push? Any options or some stdio parsing > after the command? > > Anyone used similar setup or encountered similar hangs? I don't have > idea how to debug it yet, any hints as to what can cause such > behaviour would be appreciated - it can put me on right track in this > as it looks currently hopeless situation. > > I wouldn't have access to the machine in question for approximately > one week, but I will make some tests on Windows machine as soon as I > get to work on Monday (I hope so at least). I will try to replicate > the issue then, with some minimal example and probably tests from > command line and/or Tortoise 2.3.2. Any hints for extra information > that I can provide you to help track this one? And sorry if the > information is sparse or if command names are slightly inaccurate, I > tried to solve this problem only for one hour when I had access to > machine and time to do this - I'm not experienced TortoiseHg user just > like I'm not experienced Windows user (last time I had it in home was > in 2001) so I write most of those names from memory right now. > > Thanks in advance for any help, and thanks for reading this long > message even if you don't know how to help, > Andrzej. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Tortoisehg-discuss mailing list Tortoisehg-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tortoisehg-discuss