View Ticket
Ticket Hash: a4295406dde4682facd619ec50d08debdc71d992
Title: Problem in checkin (evident on cygwin)
Status: Fixed Type: Code_Defect
Severity: Priority:
Subsystem: Resolution: Fixed
Last Modified: 2011-01-04 17:50:56
Version Found In: [ff2a87103bf1]
After hitting a situation when, after setting the text message of the commit 'fossil' looked hanged at 100% of cpu, procmon showed that it was trying to open files with a name that looked like all files in the manifest in a row. gdb luckily helped us distinguish the point of trouble.

I'll attach a patch that solves the situation but I don't know if the patch has undesired side effects, because I have not tried to understand deeply the code around.

It is about a blob that should be always 'trimmed' before appending. And the 'trimming' is inside an if() branch that our commit looks like not traversing. But I don't know why not, if it should, or whatever. The case is that it does not go through the branch. So, I put the append out.

<hr /><i>anonymous added on 2011-01-04 15:51:52 UTC:</i><br />
I meant "I put the resize (trim) out of the if clause" in the last part of the ticket text.

<hr /><i>anonymous claiming to be viric added on 2011-01-04 16:12:52 UTC:</i><br />
Just to mention... I think this only happens with delta commits; we just switched them today, and this is why we did not see this before.

So, delta commits + exe permissions should be broken unless this patch is applied, in any unix-like system.