On 06/17/10 08:14 AM, seadog wrote:
Quick update. I didn't have much time to spend on this today but here are my
observations. It hung on the same file. It is a C# file. It uses the CAnalyzer. The Java
process had 1 ctags process under it. Even though it can run up to 4 ctags at one time,
only 1 ctags was "running" (the hung one). The Java process actually had 2
handles open to the 2 differentctags sub processes. One handle was to a valid ctags
process and the other was a handle to a non-existent ctags process. Sort of weird.
There are some weird non-printable characters in the C# file that I think may
be causing the problem. Opening the C# file in a Hex editor it looks like it
there are 3 '1A' characters in a row in random places in the file. I guess the
C# compiler can handle the weird character.
I did some a searching on hex 1A (see
http://www.google.com/#hl=en&q=hex+character+1a). It looks like it can mean end
of file in Unix. I came across reported issues with this in various languages (VB,
Perl, Python, etc). Seems like programs generally can work around this issue by
running in binmode.
It's actually both MS-DOS thing (end of input) and UNIX thing (Ctrl-Z
aka suspend the process).
http://en.wikipedia.org/wiki/ISO/IEC_8859-1 says:
SUB (1A) is also commonly used as a replacement character to mark errors
detected in input transmission streams, and it may be rendered graphically.
And http://en.wikipedia.org/wiki/Substitute_%28character%29 has more info.
v.
_______________________________________________
opengrok-discuss mailing list
opengrok-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opengrok-discuss