Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.8.2 breaks dashboard #950

Closed
matentzn opened this issue Dec 14, 2021 · 4 comments · Fixed by #951
Closed

1.8.2 breaks dashboard #950

matentzn opened this issue Dec 14, 2021 · 4 comments · Fixed by #951
Assignees
Labels

Comments

@matentzn
Copy link
Contributor

matentzn commented Dec 14, 2021

Unfortunately I cannot debug this before end of the month, but this is the symptoms:

ROBOT 1.8.1 works normal
ROBOT 1.8.2 causes this exception in the dashboard:

-----------------
Checking proco
Running ROBOT report on proco...
profile.txt
ERROR: unable to run check 6 for proco
CAUSE:
An error occurred while calling o6.getViolationCount.
: java.lang.Exception: \'duplicate_definition\' is not a rule in this Report
\tat org.obolibrary.robot.checks.Report.getViolationCount(Report.java:587)
\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
\tat java.base/java.lang.reflect.Method.invoke(Method.java:566)
\tat py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
\tat py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
\tat py4j.Gateway.invoke(Gateway.java:282)
\tat py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
\tat py4j.commands.CallCommand.execute(CallCommand.java:79)
\tat py4j.GatewayConnection.run(GatewayConnection.java:238)
\tat java.base/java.lang.Thread.run(Thread.java:829)

ERROR: unable to run check 12 for proco
CAUSE:
An error occurred while calling o6.getViolationCount.
: java.lang.Exception: \'duplicate_label\' is not a rule in this Report
\tat org.obolibrary.robot.checks.Report.getViolationCount(Report.java:587)
\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
\tat java.base/java.lang.reflect.Method.invoke(Method.java:566)
\tat py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
\tat py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
\tat py4j.Gateway.invoke(Gateway.java:282)
\tat py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
\tat py4j.commands.CallCommand.execute(CallCommand.java:79)
\tat py4j.GatewayConnection.run(GatewayConnection.java:238)
\tat java.base/java.lang.Thread.run(Thread.java:829)

Its not major major for me because I can use the old ODK for now, but maybe this needs looking at?

@matentzn matentzn added the bug label Dec 14, 2021
@jamesaoverton
Copy link
Member

Thanks @matentzn. @beckyjackson can you please look into this? It seems suspiciously similar to #943.

@beckyjackson
Copy link
Contributor

@matentzn could you point me to the file for proco? I'm not seeing it as part of OBO Foundry.

@matentzn
Copy link
Contributor Author

The error happens for all ontologies, I noticed it only this morning when refreshing https://github.com/OBOFoundry/obo-nor.github.io

https://github.com/OBOFoundry/obo-nor.github.io/blob/master/dashboard-config.yml#L7

This will be very hard to test unfortunately. I think the easiest would be to create a little notebook that recreates this line:

https://github.com/OBOFoundry/OBO-Dashboard/blob/master/util/dashboard/dashboard.py#L173

@beckyjackson
Copy link
Contributor

This update here is what's causing the problem - #879

We're now using these ReportQuery objects instead of the old maps that contained rule name -> violations. I deprecated the functions and thought backwards compatibility was OK, but since these maps don't get updated, when you call getViolationCount() on a report, it doesn't have anything to return. I'm going to make a PR to fix the backwards compatibility. This function is currently deprecated but it shouldn't be, because it's still useful for ROBOT as a library.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants