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

Reply via email to