Printer FriendlyEmail Article Link

Avalanche: Information on troubleshooting Avalanche event log parse errors ... UserInputError: BadUrlList thrown by UrlFileParser::ParseFile ...

  • Below is a list of the most common parser triggers to assist in debugging why this error is occurring at test start:
  • Please note that there are changes to the parser between releases which may cause previously working tests to now throw an error after an upgrade and import.
  • Reserved word(s) in use (There is a list of these words in the online help under 'reserved words' updated for each release).  If you are using a common name such as 'cookie' adding a number after helps quickly isolate if this is the issue (i.e. use cookie1)
  • Spaces in the wrong place, for example in some releases a POST action line does not allow a space between the end of the URI and the POST_FILE call.

                     1 POST <POST_FILE="httpcontent_filename" CONTENT_TYPE="txt/html">
                     1 POST<POST_FILE="httpcontent_filename" CONTENT_TYPE="txt/html">

  • Incorrect font for quotes (usually from a cut and paste from email)
     “ (triggers parse error)
     " (does not trigger parse error)

    Tip: always cut and paste from email into notepad prior to pasting into the action list.
  • Special characters in the action list such as an unencoded ? with APPLY commands following.  To resolve this issue concatenate the URI into a single APPLY or multi APPLY statements with no ? between them.

    HTTP example:

    URI triggering parser error:
    1 GET <ADDITIONAL_HEADER="Accept: image/webp,*/*;q=0.8"> <ADDITIONAL_HEADER="Accept-Encoding: gzip,deflate,sdch"> 
    1. Move URI tail into a variable:
    ASSIGN VARIABLE <myvar1 "collect?v=1&_v=j23&a=1747575115&t=pageview&_s=1&">
    2. Update the action list to use the variable:
    1 GET<APPLY myvar1> <ADDITIONAL_HEADER="Accept: image/webp,*/*;q=0.8"> <ADDITIONAL_HEADER="Accept-Encoding: gzip,deflate,sdch">  

    3. Re-run and test should pass the parser and start without issue.
  • as:// URIs only allow a single APPLY as of the 4.10 release and should also concatenate variables to avoid the following error:

    UserInputError: BadUrlList thrown by UrlFileParser::ParseFile: User Profile [name]. Parsing error at line X: 'parse error, expecting `PROFILE''

    Adaptive Streaming variable concatenation example:

    ASSIGN VARIABLE <myip "">
    ASSIGN VARIABLE <asset UNIFORM 0 4000>
    ASSIGN VARIABLE <URItail "/index.m3u8">
    ASSIGN VARIABLE <myvar1 myip asset>
    ASSIGN VARIABLE <myvar2 myvar1 URItail> 

    as://<APPLY myvar2> profile="Apple_VoD"
  • Some protocals have limited support of the APPLY option others do not place FormsDB calls between < > For support syntax examples reference the online help accessed from the GUI 'Help' menu for each protocal.
  • Comments.  some releases do not allow in-line comments after a # character and must be moved to a separate line to avoid a parser trigger.

                     1 GET #Some comment here
                     1 GET 
                     #Some comment here

  • The Client/Actions list requires a prefix (1 or 2) prior to the HTTP command (GET, POST, PUT).

                      Incorrect, will throw a parse error:

                      Good Example:
                      1 POST

  • Invalid configurations that call to a formsDB or http content file et al that do not exsist:
    Event log error: UserInputError: BadUrlList thrown by HttpContentField::HttpContentField : Error '/swat/tests/unit0/client-subtest_0/httpcontent/note.xml' can not parse xml.
  • While testing IPv6 you might get the error "Unknown Host thrown by HttpProtocolAction::ParseUrlString: Unable to resolve hostname". Make sure you insert square brackets while mentioning the IP addresses as below
1 get http://[2002::1:2]/index.html

Product : Avalanche