Fossil

View Ticket
Login

View Ticket

2011-01-04
17:50 Fixed ticket [a4295406]: Problem in checkin (evident on cygwin) plus 1 other change ... (artifact: c38ef79d user: drh)
17:50
Fix the setting of the "x" property for files in a delta-manifest on unix. Ticket [a4295406dde4682facd619]. ... (check-in: 9e6f20bd user: drh tags: trunk)
16:12 Ticket [a4295406] Problem in checkin (evident on cygwin) status still Open with 1 other change ... (artifact: d5c36be9 user: anonymous)
15:51 Ticket [a4295406]: 2 changes ... (artifact: 86cd0421 user: anonymous)
15:51 Add attachment against_massive_append.patch to ticket [a4295406] ... (artifact: 9a61cbd2 user: anonymous)
15:50 New ticket [a4295406] Problem in checkin (evident on cygwin). ... (artifact: 469777b2 user: anonymous)

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]
Description:
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.


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


anonymous claiming to be viric added on 2011-01-04 16:12:52 UTC:
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.


Attachments: