[chef] Re: Re: knife diff is failing with a lexical error


Chronological Thread 
  • From: Christopher Armstrong < >
  • To:
  • Subject: [chef] Re: Re: knife diff is failing with a lexical error
  • Date: Sat, 13 Jul 2013 22:44:56 -0700

I had this exact problem the other day. It turned out that I had a backslash in a data bag, which choked the JSON parser. How that data bag ever got created with that character in the first place, I have no idea...

What I did to find the problematic file is to delete my local repository and use knife download . 
This causes knife to download each file, one-by-one. When you get the error, look at the last file that was successfully download. Compare this with what you see on the Chef server - the next item alphabetically is your problem child.

Ex:

Downloading data_bags/animals/camel.json
Downloading data_bags/animals/donkey.json

ERROR: Yajl::ParseError: lexical error: invalid char in json text.

                                       # this is very hard coded for a

          (right here) ------^

So, whatever your next data bag is would be the problem (not saying this is necessarily one of your data-bags - just an example)

Good luck!



On Fri, Jul 12, 2013 at 9:55 AM, Nathan Smith < " target="_blank"> > wrote:
I've seen this error before on a chef client run, but have never been able to reproduce or find the root cause. There was an issue opened: http://tickets.opscode.com/browse/CHEF-4032

Sorry I don't have a fix, but you're not the first one to see that particular exception.



I just started trying to use knife diff, and it will (very) often fail with an error like the following.

 

ERROR: Yajl::ParseError: lexical error: invalid char in json text.

                                       # this is very hard coded for a

          (right here) ------^

 

It appears that something is trying to parse a ruby file as if were json.

 

It doesn’t happen for every ruby file.  I have started doing some specific test cases, and it seems to mostly occur with .rb files that I have created, but not all the ones that I have created.  I have also seen it happen on a few .erb files as well.

 

Has anyone else seen this, and, more importantly, is there a fix or work around?

 

 

--

Stephen Corbesero, PAC

Synchronoss Technologies, Inc., Bethlehem, PA, USA

 





Archive powered by MHonArc 2.6.16.

§