You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Toli Kuznets (JIRA)" <ji...@apache.org> on 2011/01/11 00:05:45 UTC

[jira] Created: (SANDBOX-331) CSVParser hangs (goes into infinite loop) on getLine() if it's a "comment" line that doesn't contain a delimiter

CSVParser hangs (goes into infinite loop) on getLine() if it's a "comment" line that doesn't contain a delimiter
----------------------------------------------------------------------------------------------------------------

                 Key: SANDBOX-331
                 URL: https://issues.apache.org/jira/browse/SANDBOX-331
             Project: Commons Sandbox
          Issue Type: Bug
          Components: CSV
            Reporter: Toli Kuznets


When 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.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (SANDBOX-331) CSVParser hangs (goes into infinite loop) on getLine() if it's a "comment" line that doesn't contain a delimiter

Posted by "Toli Kuznets (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SANDBOX-331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Toli Kuznets closed SANDBOX-331.
--------------------------------

    Resolution: Duplicate

hmm, dupe of SANDBOX-330 , somehow got submitted twice. sorry about that. 

> CSVParser hangs (goes into infinite loop) on getLine() if it's a "comment" line that doesn't contain a delimiter
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: SANDBOX-331
>                 URL: https://issues.apache.org/jira/browse/SANDBOX-331
>             Project: Commons Sandbox
>          Issue Type: Bug
>          Components: CSV
>            Reporter: Toli Kuznets
>
> When 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.
-
You can reply to this email to add a comment to the issue online.