Question

Illegal operator `A test evaluator was given an invalid test index for evaluation.'

  • 31 October 2013
  • 3 replies
  • 1 view

After upgrading from FME 2012 to FME 2013 SP1 my workbench now gets the following error at the very end of translation:

 

 

Illegal operator `A test evaluator was given an invalid test index for evaluation.' supplied for use in TestFactory -- operator must be one of < > <= >= != = ==

 

 

The strange thing is that the translation still completes and writes the output as normal even though I get 'Translation FAILED.'

 

 

I've narrowed the problem down by disabling transformers one at a time to a single 2DPointReplacer transformer. It's very strange because its of of about 50 2DPointReplacer transformers in my workbench and they all do they exact same thing. Any Ideas?

 

 

Thanks!

 

 


3 replies

Userlevel 4
Hi,

 

 

that is indeed strange. My suggestion is to delete the transformer in question and then re-create it from scratch. If that doesn't help, I'd send the workspace to Safe for analysis.

 

 

David
Badge +3
as u have 50 2DPR's, you have an input attribute value that does not solely consist of an double.It must be fed to the 2DPR u singled out.

 

 

A bit of code where a text is encountered instead of a double/integer will interpret the text as being a variable/paramater and in that case it thinks the =

 

like x = "5" rather then x =5, must be a comparison, wich of course in tcl is x == "5". ( or !=, <> etc.)

 

 

 

I get this error in different "omissions" on my part when building tcl codes in FME.

 

 

therefore i think its in the data u feed the transformer.

 

Thanks guys I solved the problem. This was a hard one to figure out because the error does not give any clue as to which transformer is causing the problem. The problem was not with the 2DPR but rather a Tester transformer way further down the line that had the composite test expression of "1 OR 2 OR 3 OR 4" even though I had removed the 3rd and 4th expression from the test clauses leaving them blank.

Reply