Task #9435 (closed)
Bug: Web change group for screen
Reported by: | saloynton | Owned by: | jamoore |
---|---|---|---|
Priority: | major | Milestone: | OMERO-4.4.4 |
Component: | Web | Version: | n.a. |
Keywords: | n.a. | Cc: | web-team@…, ux@…, jburel, jamoore |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | 0.0d |
Sprint: | 2012-09-25 (5) |
Description
When moving a screen on the web the following exception occurred.
I was logged in as user-3 and moving a screen from read-annotate to a read-only group.
STEP ERR step: 335, stacktrace: ome.services.graphs.GraphException(message=Reagent:2 improperly linked by 4 objects at ome.services.chgrp.ChgrpStep.action(ChgrpStep.java:135) at ome.services.graphs.GraphState.execute(GraphState.java:332) at omero.cmd.graphs.ChgrpI.step(ChgrpI.java:151) at omero.cmd.basic.DoAllI$X.step(DoAllI.java:100) at omero.cmd.basic.DoAllI.step(DoAllI.java:301) at omero.cmd.HandleI.steps(HandleI.java:439) at omero.cmd.HandleI.doRun(HandleI.java:414) at omero.cmd.HandleI$1.doWork(HandleI.java:361) at omero.cmd.HandleI$1.doWork(HandleI.java:357) at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:508) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.security.basic.EventHandler.invoke(EventHandler.java:154) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:241) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:116) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy65.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:406) at omero.cmd.HandleI.run(HandleI.java:355) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at ome.services.util.Executor$Impl$1.call(Executor.java:437) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) , message: , id: 1
Attachments (1)
Change History (18)
comment:1 Changed 12 years ago by wmoore
- Owner changed from wmoore to jmoore
comment:2 Changed 12 years ago by saloynton
I have attached a screenshot Will to show where the screen was it was the top screen number 2 - I was trying to load 2010-02-23 12:50:30 - 2010-02-23 12:51:29.
Changed 12 years ago by saloynton
comment:3 Changed 12 years ago by jmoore
- Cc jmoore added
- Owner changed from jmoore to wmoore
This looks like two very different issues. I'll need some help teasing them apart. (Perhaps even 2 tickets).
- The first issue is "Reagent:2 improperly linked by 4". Where did this screen come from? I'll need to look at the linkages of the reagents to see if the chgrp method needs to allow this, or if something funky has in fact been done to the data.
- The second issue is "ava.lang.ClassCastException?: org.hibernate.hql.ast.tree.IdentNode? cannot be cast to org.hibernate.hql.ast.tree.DotNode?". This looks much worse. Is it reproducible? Can we make a test for this?
Passing off to Will to help me track some of this down.
comment:4 Changed 12 years ago by wmoore
See branch https://github.com/will-moore/openmicroscopy/commits/chgrp_plate_9435
Added test to try to reproduce the 2nd stack trace above but no luck (test passes) https://github.com/will-moore/openmicroscopy/commit/e47d822b28e3662db28e5172e2f27268b6218cc4
comment:5 Changed 12 years ago by jmoore
so do we focus on the first stack trace in this ticket?
comment:6 Changed 12 years ago by wmoore
2nd stack trace above also reported http://lists.openmicroscopy.org.uk/pipermail/ome-users/2012-September/003232.html
comment:7 Changed 12 years ago by jmoore
- Owner changed from wmoore to jmoore
- Remaining Time set to 1.0
- Sprint set to 2012-09-11 (4)
I'll investigate Monday.
comment:8 Changed 12 years ago by jmoore
comment:9 Changed 12 years ago by jmoore
I don't think it's going to help but there was one comment that the "from" in "update from" and "delete from" may not actually be optional, so I'm adding.
comment:10 Changed 12 years ago by jmoore
In addition to errors with temporary tables, I've now also seen:
omero.cmd.Chgrp /Project 51... failed: 'bad-step' message=could not execute update query stacktrace=org.hibernate.exception.GenericJDBCException: could not execute update query ... at java.lang.Thread.run(Thread.java:680) Caused by: org.postgresql.util.PSQLException: ERROR: out of shared memory Hint: You might need to increase max_locks_per_transaction. Where: SQL statement "SELECT pg_advisory_lock(1, Lid)" PL/pgSQL function "ome_nextval" line 13 at PERFORM PL/pgSQL function "ome_nextval" line 3 at RETURN SQL statement "INSERT INTO eventlog (id, action, permissions, entityid, entitytype, event) SELECT ome_nextval('seq_eventlog'), 'REINDEX', -52, entityid, entitytype, eid FROM _updated_annotations" PL/pgSQL function "annotation_update_event_trigger" line 96 at SQL statement ... at org.hibernate.hql.ast.exec.BasicExecutor.execute(BasicExecutor.java:101) ... 40 more step=6573
comment:11 Changed 12 years ago by jburel
- Sprint changed from 2012-09-11 (4) to 2012-09-25 (5)
Moved from sprint 2012-09-11 (4)
comment:12 Changed 12 years ago by jmoore
- Status changed from new to accepted
comment:13 Changed 12 years ago by jmoore
- Remaining Time changed from 1.0 to 0
- Resolution set to fixed
- Status changed from accepted to closed
I haven't re-produced this issue with respect to screens specifically, but have solved another case of the ident/dotnode issue. That fix is available for QA testing under https://github.com/openmicroscopy/openmicroscopy/pull/354 Any other specific cases should be fixable with the solution there.
comment:14 Changed 12 years ago by jmoore
comment:15 Changed 12 years ago by jmoore <josh@…>
(In [5099dd88e4dca82377428b415f95eec7ef6451a8/ome.git] on branch develop) Use raw SQL from LightSourceGraphSpec? (See #9435)
The use of HQL for the light source inheritance hierarchy, which
spans multiple tables, is the cause of numerous issues. By using
SQL directly with the pre-loaded IDs it's possible to call chgrp.
Note: this does not yet work since ome.tools.hibernate.SessionFactory?
prevents use of raw SQL. By temporarily disabling that check, I was
able to test that this does work generally.
comment:16 Changed 12 years ago by jmoore <josh@…>
(In [a704d8cc409ad9fd943b5bcb12f2f82db1f424b7/ome.git] on branch develop) Fix and review all integration/chgrp tests (See #9435, #9496)
~22 tests were failing for various reasons. Here the changes
that were necessary:
- Better handle a NPE in ChgrpI by raising "no-object"
- Added calls to IAdmin.getEventContext to refresh group to fix tests that were failing with "non-member"
- Set enabled=false to tests that were failling with "non-owner"
- Changed one rw---- permissions to rwrw-- to match javadoc
- Added "#9496" to all tests which seem to be failing on annotations or renderingdefs. These are still failing.
comment:17 Changed 11 years ago by mtbcarroll
HHH-2221 is fixed in 3.2.2.
Scott, can you remember which Screen this was?
I can't find it - so can't reproduce that BUG. I think this will be a ticket for Josh.
Josh - I actually have a different error for Chgrp on screen.
If I manually create a plate (using my Dataset_To_Plate script) using images that are not similar (different sizes, channels etc) then I get a plate that fails to chgrp.
This is kinda edge case, so not very high priority.