commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Bourg (Resolved) (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (SANDBOX-330) CSVParser hangs (goes into infinite loop) on getLine() if it's a "comment" line that doesn't contain a delimiter
Date Thu, 10 Nov 2011 00:55:52 GMT

     [ https://issues.apache.org/jira/browse/SANDBOX-330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Emmanuel Bourg resolved SANDBOX-330.
------------------------------------

       Resolution: Cannot Reproduce
    Fix Version/s: CSV 1.0

Thank you for the detailed report Toli. I ran your example against the current trunk and it
worked fine. Could you give it another try and reopen this issue if it's not working for you?
                
> CSVParser hangs (goes into infinite loop) on getLine() if it's a "comment" line that
doesn't contain a delimiter
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: SANDBOX-330
>                 URL: https://issues.apache.org/jira/browse/SANDBOX-330
>             Project: Commons Sandbox
>          Issue Type: Bug
>          Components: CSV
>    Affects Versions: Nightly Builds
>            Reporter: Toli Kuznets
>             Fix For: CSV 1.0
>
>
> if you call CSVParser.getLine() or nextToken() with a line that is a comment as defined
by the CSVStrategy but it doesn't contain the delimiter character, the call hangs in an infinite
loop
> This code will hang:
> {code}
>         parser = new CSVParser(new StringReader("# abc\n"), new CSVStrategy('\t', '\'',
'#'));
>         tokens = parser.getLine();
> {code}
> However, if you insert a delimiter char into the incoming string, it'll come through
and return an empty string as a result:
> {code}
>         CSVParser parser = new CSVParser(new StringReader("#\tabc"), new CSVStrategy('\t',
'\'', '#'));
>         String[] tokens = parser.getLine();
>         System.out.println("result: "+Arrays.toString(tokens));
> {code}
> It gets stuck in an infinite loop in CSVParser.nextToken() in the loop around line 347

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message