Search the web
Sign In
New User? Sign Up
simpoint
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want your group to be featured on the Yahoo! Groups website? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Error: FVParser::nextLine() lines are too long for buffer   Message List  
Reply | Forward Message #26 of 119 |
Re: [simpoint] Error: FVParser::nextLine() lines are too long for buffer

The SimPoint parser is really set up to parse one line at a time, there is
no way to spread vectors across multiple lines and have SimPoint read
them.

How long are the vectors you are having difficulty with, in terms of
number of characters on a line? The maximum SimPoint will read is
currently set at 1024 * 1024 - 1 = 1,048,575 characters per line. You can
adjust this in the file analysiscode/FVParser.cpp, in the method
nextLine() -- just increase the constant BUF_SIZE to accomodate what you
need.

Also, I have attached a patch to the SimPoint 3.1 codebase that should fix
this problem, though it might make parsing a little slower.

Are you using a sparse representation, so that you do not put counts of
zero explicitly in the vector? If you're not using one, a sparse
representation would probably fix the problem you are seeing.

Also, if you have a lot of spaces on a line that describes a vector, you
would want to eliminate all unnecessary spaces.


- Greg Hamerly


On Tue, 23 May 2006, olszewski_marek wrote:

> Hi,
>
> I've got two counter acting constraints when generating my own custom
> vectors for Simpoint to work on. 1) My vector generating code runs
> out of memory when I decrease the interval size, and 2) I get the
> above error in Simpoint when I increase it.
>
> Is there a way to specify a vector on more than one line?
>
> Thanks,
>
> Marek
>
>
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>
>

Tue May 23, 2006 9:00 pm

ghamerly
Offline Offline
Send Email Send Email

*** FVParser.cpp 2006-05-23 15:51:54.000000000 -0500
--- ../../SimPoint.3.1/analysiscode/FVParser.cpp 2005-06-30 15:20:51.000000000
-0500
***************
*** 103,123 ****
buffer[0] = '\0';
do {
fgets(buffer, BUF_SIZE, input);
! } while ((! eof()) && (('\0' == buffer[0]) || ('T' != buffer[0])));

if (eof()) { return false; }

- line.append(buffer);
-
- while ((! eof()) && (strlen(buffer) == BUF_SIZE - 1) && ('\n' !=
buffer[BUF_SIZE - 1])) {
- fgets(buffer, BUF_SIZE, input);
- line.append(buffer);
- }
-
#if (__GNUC__ >= 3)
! istringstream parser(line);
#else
! istrstream parser(line);
#endif

char t;
--- 103,118 ----
buffer[0] = '\0';
do {
fgets(buffer, BUF_SIZE, input);
! } while ((! eof()) && ((strlen(buffer) == 0) || ('T' != buffer[0])));
! Utilities::check(strlen(buffer) != BUF_SIZE - 1,
! "FVParser::nextLine() lines are too long for buffer");

if (eof()) { return false; }

#if (__GNUC__ >= 3)
! istringstream parser(buffer);
#else
! istrstream parser(buffer, strlen(buffer));
#endif

char t;


Forward
Message #26 of 119 |
Expand Messages Author Sort by Date

Hi, I've got two counter acting constraints when generating my own custom vectors for Simpoint to work on. 1) My vector generating code runs out of memory...
olszewski_marek
Offline Send Email
May 23, 2006
7:55 pm

The SimPoint parser is really set up to parse one line at a time, there is no way to spread vectors across multiple lines and have SimPoint read them. How...
Greg Hamerly
ghamerly
Offline Send Email
May 23, 2006
8:59 pm

Great, thanks for the quick response. I'm using the sparse representation and I don't have any superfluous spaces. My vectors are simply that big :( I tried...
Marek Olszewski
olszewski_marek
Offline Send Email
May 23, 2006
11:59 pm

Oops, that's the same error as before. Weird I thought it was different for a sec. Marek...
Marek Olszewski
olszewski_marek
Offline Send Email
May 24, 2006
1:24 am
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help