This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: libgcj/6301: gij -jar does not work
- From: tromey at gcc dot gnu dot org
- To: gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, java-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, pinskia at physics dot uc dot edu
- Date: 30 Apr 2002 19:36:20 -0000
- Subject: Re: libgcj/6301: gij -jar does not work
- Reply-to: tromey at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, java-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, pinskia at physics dot uc dot edu, gcc-gnats at gcc dot gnu dot org
Synopsis: gij -jar does not work
State-Changed-From-To: open->analyzed
State-Changed-By: tromey
State-Changed-When: Tue Apr 30 12:36:19 2002
State-Changed-Why:
I looked at this a bit today. It is an obscure bug in BufferedReader.
What happens is that we read a line that ends in \r\n.
However our buffer ends just after the \r.
(There is a lot of code in BufferedReader to handle this case.)
However what follows is that Manifest calls mark(), read(), and finally reset() on the BufferedReader.
This causes the BufferedReader to lose track of the fact that it was between \r and \n.
Then our reading of the manifest gets off-kilter and from
there things progressively get worse.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6301