monotone - Bugs: bug #16337, invariant 'I(utf8_validate(path))'...
You are not allowed to post comments on this tracker with your current authentication level.
bug #16337: invariant 'I(utf8_validate(path))' violated
Submitter: | Alex Popov <aseidlitz> | ||
Submitted: | Thu 13 Apr 2006 12:33:44 AM UTC | ||
Category: | charset handling | Severity: | 3 - Normal |
Item Group: | None | Status: | None |
Privacy: | Public | Assigned to: | None |
Open/Closed: | Open | ||
mtn version --full: | monotone 0.26 (base revision: unknown)
|
Mon 18 Dec 2006 05:45:29 PM UTC, comment #2: |
Sven Sandberg <svensandberg> |
Mon 05 Jun 2006 01:33:58 AM UTC, comment #1: ´, U+00b4? That's an acute accent, you should be using ’, U+2019!
|
Nathaniel Smith <njs> |
Thu 13 Apr 2006 12:33:44 AM UTC, original submission:
I get the following error:
|
Alex Popov <aseidlitz> |
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follows 1 latest change.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2006-12-18 | svensandberg | Attached File | - | Added debug, #11552 |
Powered by Savane 3.13-4b48.
Corresponding source code
I have a similar problem. I made a fresh new empty repository. Then I created a file with the name
this_filename_contains_the_characters_å,_ä,_and_ö.txt
Those are the native Swedish characters "a with a ring", "a with two dots", and "o with two dots". Then I ran:
mtn list unknown
I got the following error:
mtn: fatal: std::logic_error: paths.cc:255: invariant 'I(utf8_validate(path))' violated
mtn: this is almost certainly a bug in monotone.
mtn: please send this error message, the output of 'mtn --full-version',
mtn: and a description of what you were doing to monotone-devel@nongnu.org.
mtn: wrote debugging log to /home/sven/test/_MTN/debug
mtn: if reporting a bug, please include this file
Then I patched paths.cc as follows, to see what the failing string was:
--- paths.cc.original 2006-11-11 20:08:11.000000000 +0100
+++ paths.cc 2006-12-18 18:33:14.996221792 +0100
@@ -252,6 +252,9 @@
file_path::file_path(file_path::source_type type, string const & path)
{
MM(path);
+ if (!utf8_validate(path))
+ for (int i=0; i<path.length(); i++)
+ printf("%x ", path[i]);
I(utf8_validate(path));
switch (type)
{
When I ran "mtn list unknown" again, it printed the following sequence of numbers, in addition to the error message:
74 68 69 73 5f 66 69 6c 65 6e 61 6d 65 5f 63 6f 6e 74 61 69 6e 73 5f 74 68 65 5f 63 68 61 72 61 63 74 65 72 73 5f ffffffe5 2c 5f ffffffe4 2c 5f 61 6e 64 5f fffffff6 2e 74 78 74
So it seems that my Swedish characters became negative.
I attach the _MTN/debug file.
(file #11552)