darcs

Issue 1739 "Char.intToDigit: not a digit" in darcs changes

Title "Char.intToDigit: not a digit" in darcs changes
Priority bug Status resolved
Milestone Resolved in 2.5.0
Superseder Nosy List darcs-devel, dmitry.kurochkin, gh, kowey, tux_rocker
Assigned To tux_rocker
Topics Regression

Created on 2010-02-08.12:42:09 by gh, last changed 2010-06-15.22:14:23 by admin.

Messages
msg9974 (view) Author: gh Date: 2010-02-08.12:42:07
When doing a "darcs changes" with darcs unstable on the wiki repository
(darcs get http://wiki.darcs.net), it stops on that patch with the
(apparently nested) error:

Wed Oct 28 12:30:29 CET 2009  nomeata <mail@joachim-breitner.de>
  * Idarcs: Char.intToDigit: not a digit 513
msg9975 (view) Author: kowey Date: 2010-02-08.14:18:48
On Mon, Feb 08, 2010 at 12:42:09 +0000, gh wrote:
> When doing a "darcs changes" with darcs unstable on the wiki repository
> (darcs get http://wiki.darcs.net), it stops on that patch with the
> (apparently nested) error:
> 
> Wed Oct 28 12:30:29 CET 2009  nomeata <mail@joachim-breitner.de>
>   * Idarcs: Char.intToDigit: not a digit 513

What odd errors you've been submitting lately!

I can't reproduce this.  I've (very slowly) done full fetches both
to my local hard-disk an to NFS

Hmm... I wonder what we could do to track down this problem.

-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
msg9976 (view) Author: gh Date: 2010-02-08.14:35:18
I've tried on another machine, using tcsh, and "darcs changes" outputs
everything, including the problematic patch:

Wed Oct 28 12:30:29 CET 2009  nomeata <mail@joachim-breitner.de>
  * I\e2\80\99m arriving on saturday

The first machine used bash. But doing "darcs changes" in bash in the
second machine does not recreate the bug neither.
msg9979 (view) Author: gh Date: 2010-02-08.15:17:35
The bug happens in gnome-terminal 2.28.1, moreover the part "darcs:
Char.intToDigit: not a digit 513" is suddenly written in red.
In gnome-terminal, I have set the option "execute a command instead of
my shell" to "bash".

It also happens when I want to run darcs-graph in the repository.

In rxvt on the same machine, there is no bug in tcsh but the bug happens
inside of bash.
msg9981 (view) Author: kowey Date: 2010-02-08.15:23:56
On Mon, Feb 08, 2010 at 15:17:37 +0000, gh wrote:
> The bug happens in gnome-terminal 2.28.1, moreover the part "darcs:
> Char.intToDigit: not a digit 513" is suddenly written in red.
> In gnome-terminal, I have set the option "execute a command instead of
> my shell" to "bash".

Could you experiment with the highlighting and character escaping
environment variables mentioned in
http://www.darcs.net/manual/node4.html#SECTION00420000000000000000
?

Try turning things (escaping) off and seeing what happens.

-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
msg9982 (view) Author: gh Date: 2010-02-08.15:30:40
works:
DARCS_DONT_ESCAPE_8BIT=1
DARCS_DONT_ESCAPE_ANYTHING=1
DARCS_DONT_ESCAPE_ISPRINT=1

no effect:

DARCS_DONT_COLOR=1
DARCS_DONT_ESCAPE_TRAILING_CR=1
DARCS_DONT_ESCAPE_TRAILING_SPACES=1
DARCS_DONT_ESCAPE_EXTRA=1

same problem in a different color:
DARCS_ALTERNATIVE_COLOR=1
msg9983 (view) Author: kowey Date: 2010-02-08.15:44:21
I can reproduce this by doing darcs changes --match "author nomeata" in
the darcs-wiki repo.

It looks like the ColorPrinter (search for intToDigit) is at least
partly involved in this.  I wonder if the UTF-8 work is too.

Guillaume, is this with HEAD darcs or a stable release?  Could you try
with the 2.4 beta?
msg9984 (view) Author: gh Date: 2010-02-08.15:55:19
This is happening with HEAD ( 2.3.1 (+ 455 patches) ), but NOT with the
static binary of the wiki ( 2.3.1 (+ 5 patches)). 
Not with the rc1 neither ( 2.3.99.1 (+ 1 patch) ).
msg9985 (view) Author: kowey Date: 2010-02-08.16:02:43
OK, then I think it's some kind of interaction between the utf-8 stuff
and the escaping code.  Assigning to Reinier to investigate when he has
a moment.

The patch in question had "I'm arriving on Saturday", presumably using a
proper apostrophe character rather than the simple tick mark I just used.
msg9992 (view) Author: tux_rocker Date: 2010-02-09.20:53:48
Op maandag 08 februari 2010 16:55 schreef gh:
> 
> gh <guillaumh@gmail.com> added the comment:
> 
> This is happening with HEAD ( 2.3.1 (+ 455 patches) ), but NOT with the
> static binary of the wiki ( 2.3.1 (+ 5 patches)). 
> Not with the rc1 neither ( 2.3.99.1 (+ 1 patch) ).

This makes it look very much like my UTF-8 work is involved :-(.

First guess on the train: the escaping code assumes that a Char has a value 0 
<= value < 256.

Reinier
msg9994 (view) Author: tux_rocker Date: 2010-02-10.07:39:10
Op maandag 08 februari 2010 15:35 schreef gh:
> gh <guillaumh@gmail.com> added the comment:
> I've tried on another machine, using tcsh, and "darcs changes" outputs
> everything, including the problematic patch:
> 
> Wed Oct 28 12:30:29 CET 2009  nomeata <mail@joachim-breitner.de>
>   * I\e2\80\99m arriving on saturday
> 
> The first machine used bash. But doing "darcs changes" in bash in the
> second machine does not recreate the bug neither.

I think whether the bug occurs or not has to do with the locale. The exact 
behavior depends on it:

# locale nl_NL with ISO-8859-15 encoding
reinier@adim:~/Sources/testrepos/unicodecrash$ LC_ALL=nl_NL@euro 
../../darcsdev/dist/build/darcs/darcs log
Wed Feb 10 08:30:19 CET 2010  Reinier Lamers <tux_rocker@reinier.de>
  * \e2\80\9eJe Moeder\e2\80\9d

# locale nl_NL with ISO-8859-1 encoding
reinier@adim:~/Sources/testrepos/unicodecrash$ LC_ALL=nl_NL 
../../darcsdev/dist/build/darcs/darcs log
Wed Feb 10 08:30:19 CET 2010  Reinier Lamers <tux_rocker@reinier.de>
  * ???Je Moeder???

# locale nl_NL with UTF-8 encoding
reinier@adim:~/Sources/testrepos/unicodecrash$ 
../../darcsdev/dist/build/darcs/darcs log
Wed Feb 10 08:30:19 CET 2010  Reinier Lamers <tux_rocker@reinier.de>
  * darcs: Char.intToDigit: not a digit 513

Regards,
Reinier
msg10440 (view) Author: tux_rocker Date: 2010-03-23.02:34:27
The following patch updated the status of issue1739 to be resolved:

* resolve issue1739: make ColorPrinter handle characters > 255 
Ignore-this: ff06ddd7ef801f92cbf66cfd9ba4e467
msg11392 (view) Author: tux_rocker Date: 2010-06-13.17:16:47
The following patch updated the status of issue1739 to be resolved-in-stable:

* resolve issue1739: make ColorPrinter handle characters > 255 
Ignore-this: ff06ddd7ef801f92cbf66cfd9ba4e467
History
Date User Action Args
2010-02-08 12:42:09ghcreate
2010-02-08 14:18:50koweysetnosy: + kowey
messages: + msg9975
2010-02-08 14:35:22ghsetmessages: + msg9976
2010-02-08 15:17:37ghsetmessages: + msg9979
2010-02-08 15:23:58koweysetmessages: + msg9981
2010-02-08 15:30:41ghsetmessages: + msg9982
2010-02-08 15:44:23koweysetpriority: bug
status: unknown -> needs-reproduction
messages: + msg9983
2010-02-08 15:48:22koweysetstatus: needs-reproduction -> waiting-for
2010-02-08 15:55:20ghsetmessages: + msg9984
2010-02-08 16:02:48koweysetstatus: waiting-for -> needs-reproduction
nosy: + tux_rocker
topic: + Regression
messages: + msg9985
assignedto: tux_rocker
2010-02-09 20:53:50tux_rockersetmessages: + msg9992
2010-02-10 07:39:13tux_rockersetmessages: + msg9994
2010-03-23 02:34:31tux_rockersetstatus: needs-reproduction -> resolved
messages: + msg10440
2010-06-13 17:16:48tux_rockersetstatus: resolved -> resolved-in-stable
messages: + msg11392
2010-06-15 22:14:22adminsetstatus: resolved-in-stable -> resolved
2010-06-15 22:14:23adminsetresolvedin: 2.5.0