Skip to main content
Question

Decelerator failed to evaluate expression


bubblebeb
Contributor
Forum|alt.badge.img+6

I have a decelorator in my routine but it is failing with the message below. It looks like it is failing within the transformer. 

@Tcl2 -- failed to evaluate expression `if { {Limit Features Per Second} == {Per Feature Delay} } { rename Decelerator_delay Decelerator_Waiter; } else { rename Decelerator_maxpersecond Decelerator_Waiter; };' -- can't rename to "Decelerator_Waiter": command already exists

Any ideas how I can get it going?

Thanks


16 replies

david_r
Celebrity
  • May 17, 2018
How have you defined the Decelerator parameters? Can we get a screenshot?

redgeographics
Celebrity
Forum|alt.badge.img+50

I can't seem to reproduce that error message, but I agree with @david_r, if you can post your Decelerator settings here that would allow us to get a better idea of what going on.

The Decelerator requires a number for the delay and number of features per second parameters, maybe that's happening here? It can be derived from an attribute but it has to be a number.


bubblebeb
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 17, 2018
redgeographics wrote:

I can't seem to reproduce that error message, but I agree with @david_r, if you can post your Decelerator settings here that would allow us to get a better idea of what going on.

The Decelerator requires a number for the delay and number of features per second parameters, maybe that's happening here? It can be derived from an attribute but it has to be a number.

Sorry, I thought I had posted the screen shot.

 

There are very few settings that can be altered.

 

 


david_r
Celebrity
  • May 17, 2018

Thanks for posting the screenshot, the settings look perfectly normal to me.

Can you try deleting the transformer from your workspace and then inserting it again?


erik_jan
Contributor
Forum|alt.badge.img+18
  • Contributor
  • May 17, 2018

Have you used an attribute for the Maximum Features per Second setting?

If so, Is that attribute in all cases a valid integer.

If not, that could cause this issue.

I would recommend an AttributeVallidator transformer to check if the value is of type Integer before handing the attribute to the Decelerator.


bubblebeb
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 17, 2018
david_r wrote:

Thanks for posting the screenshot, the settings look perfectly normal to me.

Can you try deleting the transformer from your workspace and then inserting it again?

I ahve delted and reentered it a few times. I have also tried updating FME to the latest version as well but no joy.

 

 


bubblebeb
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 17, 2018
erik_jan wrote:

Have you used an attribute for the Maximum Features per Second setting?

If so, Is that attribute in all cases a valid integer.

If not, that could cause this issue.

I would recommend an AttributeVallidator transformer to check if the value is of type Integer before handing the attribute to the Decelerator.

It is just typed in as the number 2.

 

 


erik_jan
Contributor
Forum|alt.badge.img+18
  • Contributor
  • May 17, 2018
erik_jan wrote:

Have you used an attribute for the Maximum Features per Second setting?

If so, Is that attribute in all cases a valid integer.

If not, that could cause this issue.

I would recommend an AttributeVallidator transformer to check if the value is of type Integer before handing the attribute to the Decelerator.

Sorry, but can not reproduce the issue.

 

What version of FME are you using?

 

 


bubblebeb
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 17, 2018
erik_jan wrote:
Sorry, but can not reproduce the issue.

 

What version of FME are you using?

 

 

FME(R) 2018.0.0.3 (20180430 - Build 18305 - WIN64)

 

 


fmelizard
Safer
Forum|alt.badge.img+18
  • Safer
  • May 18, 2018

Hi @sebkingsley -- sorry to see that you have somehow stumbled into a situation that would seem to be impossible. So we have a bug on our hands. The "good" news is that it has stayed that way for you. Could you send your workspace in to support@safe.com and reference this posting in your note?

The error is due to somehow there already being a "Decelerator_Waiter" function in place in FME's internal Tcl subsystem. I check how this is written and do not see how it is possible for this to happen. So that is why your original workspace is so important for us to be able to look it.

So please send it.

And after you do...a most probable workaround would be to rename the Decelerator transformer to have a different name. Then it will be trying to rename the function to YourName_Waiter instead. And I suspect it would work then. But please send us the broken workspace first! Thanks and sorry.


bubblebeb
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 18, 2018
fmelizard wrote:

Hi @sebkingsley -- sorry to see that you have somehow stumbled into a situation that would seem to be impossible. So we have a bug on our hands. The "good" news is that it has stayed that way for you. Could you send your workspace in to support@safe.com and reference this posting in your note?

The error is due to somehow there already being a "Decelerator_Waiter" function in place in FME's internal Tcl subsystem. I check how this is written and do not see how it is possible for this to happen. So that is why your original workspace is so important for us to be able to look it.

So please send it.

And after you do...a most probable workaround would be to rename the Decelerator transformer to have a different name. Then it will be trying to rename the function to YourName_Waiter instead. And I suspect it would work then. But please send us the broken workspace first! Thanks and sorry.

Thanks Dale.

 

I have a support ticket opened under C136804.

 

It was raised through the online chat yesterday.

 

I submitted the workspace through that.

 

 

If you still need it via the email address as well please let me know.

 

 

I will try the work around as well.

 

Thanks

 

Seb

 

 


bubblebeb
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 18, 2018
fmelizard wrote:

Hi @sebkingsley -- sorry to see that you have somehow stumbled into a situation that would seem to be impossible. So we have a bug on our hands. The "good" news is that it has stayed that way for you. Could you send your workspace in to support@safe.com and reference this posting in your note?

The error is due to somehow there already being a "Decelerator_Waiter" function in place in FME's internal Tcl subsystem. I check how this is written and do not see how it is possible for this to happen. So that is why your original workspace is so important for us to be able to look it.

So please send it.

And after you do...a most probable workaround would be to rename the Decelerator transformer to have a different name. Then it will be trying to rename the function to YourName_Waiter instead. And I suspect it would work then. But please send us the broken workspace first! Thanks and sorry.

 

Further update.

 

I tried the workaround and get the same type of message.

 

2018-05-18 08:53:59| 1.4| 0.0|ERROR |@Tcl2 -- failed to evaluate expression `if { {Per Feature Delay} == {Per Feature Delay} } { rename Staller_delay Staller_Waiter; } else { rename Staller_maxpersecond Staller_Waiter; };' -- can't rename to "Staller_Waiter": command already exists

bubblebeb
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 18, 2018
fmelizard wrote:

Hi @sebkingsley -- sorry to see that you have somehow stumbled into a situation that would seem to be impossible. So we have a bug on our hands. The "good" news is that it has stayed that way for you. Could you send your workspace in to support@safe.com and reference this posting in your note?

The error is due to somehow there already being a "Decelerator_Waiter" function in place in FME's internal Tcl subsystem. I check how this is written and do not see how it is possible for this to happen. So that is why your original workspace is so important for us to be able to look it.

So please send it.

And after you do...a most probable workaround would be to rename the Decelerator transformer to have a different name. Then it will be trying to rename the function to YourName_Waiter instead. And I suspect it would work then. But please send us the broken workspace first! Thanks and sorry.

I have tested this by transformer through the workspace.

 

I have found that everything works, including the decellorator up to the point I drop the excel writer on the canvas. Then the decelorator fails.

 

 

I hope that helps with the diagnosis.

 

 

 

 


fabiofagundes
Contributor
Forum|alt.badge.img+1

Hi, I'm having the same issue with FME(R) 2018.0.0.2 (20180414 - Build 18301 - WIN64). As a workaround I used a SystemCaller with the command: timeout /t 10 (for a 10 second decelerator). For FME Server running on *nix, use the command: sleep 10 (for 10 seconds as default).


bubblebeb
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • June 4, 2018
fabiofagundes wrote:

Hi, I'm having the same issue with FME(R) 2018.0.0.2 (20180414 - Build 18301 - WIN64). As a workaround I used a SystemCaller with the command: timeout /t 10 (for a 10 second decelerator). For FME Server running on *nix, use the command: sleep 10 (for 10 seconds as default).

I referred this to Safe who have found the problem and the fix is in the next build.

 

It was a conflict with the Excel writer on my workspace. Once I deleted the excel writer it worked fine.

 

Safe have apparently fixed it now though.

 

 


fmelizard
Safer
Forum|alt.badge.img+18
  • Safer
  • June 4, 2018
bubblebeb wrote:
I referred this to Safe who have found the problem and the fix is in the next build.

 

It was a conflict with the Excel writer on my workspace. Once I deleted the excel writer it worked fine.

 

Safe have apparently fixed it now though.

 

 

Hi @fabiofagundes Yes, the problem has been fixed in FME 2018.1 betas - https://www.safe.com/support/support-resources/fme-downloads/beta/

 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings