Error Couldn't invoke 'assignValueTo' for feature JvmVoid:

Can’t get a rule to work; does anyone know what this log entry means/what it could point to as being the problem?

“Couldn’t invoke ‘assignValueTo’ for feature JvmVoid: (eProxyURI: Ecobee.rules#|::0.2.1.2.0.1.1.0.6.7.6.1.1.0.0.1.0.3.1.0.0::0::/1)”

at org.quartz.core.JobRunShell.run(JobRunShell.java:202)[105:org.eclipse.smarthome.core.scheduler:0.9.0.201703201701]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)[105:org.eclipse.smarthome.core.scheduler:0.9.0.201703201701]
2017-05-19 13:49:13.504 [ERROR] [org.quartz.core.ErrorLogger ] - Job (DEFAULT.2017-05-19T13:49:13.499-04:00: Proxy for org.eclipse.xtext.xbase.lib.Procedures$Procedure0: [ | {
org.eclipse.xtext.xbase.impl.XIfExpressionImpl@28403c6d
org.eclipse.xtext.xbase.impl.XIfExpressionImpl@1c784924
} ] threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: java.lang.IllegalArgumentException: Couldn’t invoke ‘assignValueTo’ for feature JvmVoid: (eProxyURI: Ecobee.rules#|::0.2.1.2.0.1.1.0.6.7.6.1.1.0.0.1.0.3.1.0.0::0::/1)]
at org.quartz.core.JobRunShell.run(JobRunShell.java:213)[105:org.eclipse.smarthome.core.scheduler:0.9.0.201703201701]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)[105:org.eclipse.smarthome.core.scheduler:0.9.0.201703201701]
Caused by: java.lang.IllegalArgumentException: Couldn’t invoke ‘assignValueTo’ for feature JvmVoid: (eProxyURI: Ecobee.rules#|::0.2.1.2.0.1.1.0.6.7.6.1.1.0.0.1.0.3.1.0.0::0::/1)
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.assignValueTo(XbaseInterpreter.java:1224)[146:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]

It might help to see the secret rule. It’s not usually possible to use the error messages to diagnose like “the error is in line 3 character 10”.

Where did you see line 3 character 10 at in that error message?

I’ll post it; it’s rather long and i didn’t want to overwhelm; it was more of a question about maybe what causes that.

I’ll trim it down and share…i think i figured out the issue as well possible; still working on it.
More to come.

Thanks!

I didn’t. That’s the point, you are not going to get much more detail than “there is something wrong” purely from the log dump, so when asking for help you would need to provide more information.

Its a unusual report. I wonder if perhaps you are seeing this at rules file load time, rather than rule execution time? In which case, look for weird characters in the file (includiing invisble ones), create a new file and copy one rule at a time to it for testing, etc.

Waiting a few hours for some tests to run, but here was the issue.

I embedded my code inside a piece that i guess stopped working since an upgrade.

I used to have this:
LastTimeOn = “” + now.getMonthOfYear + “/” + now.getDayOfMonth + " | " + now.getHourOfDay + “:” + now.getMinuteOfHour

postUpdate(EcoBeeLastTimeOn, LastTimeOn)

Apparently in a newer version i needed to declare the LastTimeOn variable or the entire set of code in that rule never ran:

var String LastTimeOn

(LastTimeOn = “” + now.getMonthOfYear + “/” + now.getDayOfMonth + " | " + now.getHourOfDay + “:” + now.getMinuteOfHour)

postUpdate(EcoBeeLastTimeOn, LastTimeOn)

3 Likes