Task #12372 (closed)
Bug: Travis intermittently fails some table unit tests
Reported by: | sbesson | Owned by: | |
---|---|---|---|
Priority: | critical | Milestone: | 5.0.3 |
Component: | Services | Version: | 5.0.2 |
Keywords: | n.a. | Cc: | python-team@… |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description (last modified by mtbcarroll)
Travis is intermittently failing with Internal Exception when
running the TestTables.testTableSearch or TestTables.testTableAddData unit tests. A typical log is the following:
=================================== FAILURES =================================== __________________________ TestTables.testTableSearch __________________________ self = <test_servants.TestTables object at 0x7fc60c04be90> def testTableSearch(self): table = self.testTableAddData(True, False) rv = list(table.getWhereList('(a==1)', None, None, None, None, None)) assert range(5) == rv > data = table.readCoordinates(rv, self.current) test/unit/tablestest/test_servants.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (object #0 (::omero::grid::Table) { }, [0, 1, 2, 3, 4], <test_servants.mock_current object at 0x7fc60c050310>) kwargs = {}, self = object #0 (::omero::grid::Table) { } e = AttributeError("'NoneType' object has no attribute 'readCoordinates'",) msg = 'Traceback (most recent call last):\n File "/home/travis/build/jburel/openmicroscopy/components/tools/OmeroPy/target/...ordinates(self.stamp, rowNumbers, current)\nAttributeError: \'NoneType\' object has no attribute \'readCoordinates\'\n' def exc_handler(*args, **kwargs): try: self = args[0] log.info(" Meth: %s.%s", self.__class__.__name__, func.func_name) rv = func(*args, **kwargs) log.info(__RESULT, rv) return rv except Exception, e: log.info(__EXCEPT, e) if isinstance(e, omero.ServerError): raise else: log.warn("%s raised a non-ServerError (%s): %s", func, type(e), e) msg = traceback.format_exc() > raise omero.InternalException(msg, None, "Internal exception") E InternalException: exception ::omero::InternalException E { E serverStackTrace = Traceback (most recent call last): E File "/home/travis/build/jburel/openmicroscopy/components/tools/OmeroPy/target/omero/util/decorators.py", line 61, in exc_handler E rv = func(*args, **kwargs) E File "/home/travis/build/jburel/openmicroscopy/components/tools/OmeroPy/target/omero/util/decorators.py", line 39, in handler E rv = func(*args, **kwargs) E File "/home/travis/build/jburel/openmicroscopy/components/tools/OmeroPy/target/omero/tables.py", line 689, in readCoordinates E return self.storage.readCoordinates(self.stamp, rowNumbers, current) E AttributeError: 'NoneType' object has no attribute 'readCoordinates' E E serverExceptionClass = None E message = Internal exception E } target/omero/util/decorators.py:71: InternalException ------------------------------- Captured stderr -------------------------------- INFO:omero.util.Resources:Halted DEBUG:omero.util.TempFileManager:Added folder /home/travis/omero/tmp/omero_travis/14060/omeroPRWKJc.tmp DEBUG:omero.util.TempFileManager:Added folder /home/travis/omero/tmp/omero_travis/14060/omerodPHmhL.tmp DEBUG:omero.tables.TablesI:Created INFO:omero.util.Resources:Starting DEBUG:omero.util.Resources:Adding object <omero.util.ServerContext object at 0x7fc60c050290> INFO:omero.remote: Meth: TablesI.getTable INFO:omero.tables.TablesI:getTable: 1 {} DEBUG:omero.tables.TableI:Created INFO:omero.tables.HdfStorage:Size: 0 - Attaching Table-61E3DBF7-D73E-47E2-8075-158C86CFB6EC to /home/travis/omero/tmp/omero_travis/14060/omerodPHmhL.tmp/mock.h5 DEBUG:omero.util.Resources:Adding object Table-61E3DBF7-D73E-47E2-8075-158C86CFB6EC DEBUG:omero.perf:start[1402577587503] time[9] tag[omero.tables.TablesI.getTable] INFO:omero.remote: Rslt: <test_servants.mock_table object at 0x7fc60c0504d0> INFO:omero.remote: Meth: TableI.initialize DEBUG:omero.util.Resources:Executing DEBUG:omero.util.Resources:Checking Table-61E3DBF7-D73E-47E2-8075-158C86CFB6EC DEBUG:omero.tables.TableI:Checking Table-61E3DBF7-D73E-47E2-8075-158C86CFB6EC DEBUG:omero.tables.TableI:Client session not found: UNKNOWN DEBUG:omero.util.Resources:Checking <omero.util.ServerContext object at 0x7fc60c050290> DEBUG:omero.util.Resources:Removing Table-61E3DBF7-D73E-47E2-8075-158C86CFB6EC DEBUG:omero.util.Resources:Cleaning Table-61E3DBF7-D73E-47E2-8075-158C86CFB6EC DEBUG:omero.tables.HdfStorage:Modified flag set INFO:omero.tables.TableI:Initialized Table-61E3DBF7-D73E-47E2-8075-158C86CFB6EC with 2 col(s) DEBUG:omero.perf:start[1402577587513] time[6] tag[omero.tables.TableI.initialize] INFO:omero.remote: Rslt: None INFO:omero.remote: Meth: TableI.getHeaders INFO:omero.tables.TableI:Table-61E3DBF7-D73E-47E2-8075-158C86CFB6EC.getHeaders() => size=2 DEBUG:omero.perf:start[1402577587520] time[0] tag[omero.tables.TableI.getHeaders] INFO:omero.remote: Rslt: [object #0 (::omero::grid::LongColumn) { name = a description = values = {} }, object #0 (::omero::grid::Do INFO:omero.remote: Meth: TableI.addData DEBUG:omero.tables.HdfStorage:Modified flag set INFO:omero.tables.TableI:Added 5 row(s) of data to Table-61E3DBF7-D73E-47E2-8075-158C86CFB6EC DEBUG:omero.perf:start[1402577587520] time[0] tag[omero.tables.TableI.addData] INFO:omero.remote: Rslt: None INFO:omero.remote: Meth: TableI.getWhereList INFO:omero.tables.TableI:Table-61E3DBF7-D73E-47E2-8075-158C86CFB6EC.getWhereList((a==1), None, None, None, None) => size=5 DEBUG:omero.perf:start[1402577587522] time[1] tag[omero.tables.TableI.getWhereList] INFO:omero.remote: Rslt: [0, 1, 2, 3, 4] INFO:omero.remote: Meth: TableI.readCoordinates INFO:omero.tables.HdfStorage:Size: 1 - Detaching Table-61E3DBF7-D73E-47E2-8075-158C86CFB6EC from /home/travis/omero/tmp/omero_travis/14060/omerodPHmhL.tmp/mock.h5 INFO:omero.tables.HdfStorage:Cleaning storage: /home/travis/omero/tmp/omero_travis/14060/omerodPHmhL.tmp/mock.h5 DEBUG:omero.util.Resources:Sleeping 60 INFO:omero.tables.TableI:Table-61E3DBF7-D73E-47E2-8075-158C86CFB6EC.readCoordinates(size=5) DEBUG:omero.perf:start[1402577587523] time[1] tag[omero.tables.TableI.readCoordinates] INFO:omero.remote: Excp: 'NoneType' object has no attribute 'readCoordinates' WARNING:omero.remote:<function readCoordinates at 0x426d398> raised a non-ServerError (<type 'exceptions.AttributeError'>): 'NoneType' object has no attribute 'readCoordinates' generated xml file: /home/travis/build/jburel/openmicroscopy/components/tools/OmeroPy/target/reports/junit-results.xml ==================== 1 failed, 355 passed in 117.62 seconds ====================
Change History (5)
comment:1 Changed 10 years ago by mtbcarroll
- Description modified (diff)
comment:2 Changed 10 years ago by spli
- Milestone changed from 5.x to 5.0.3
- Priority changed from minor to critical
If this is frequently occuring in our tests it's probably going to occur in real use too (related issues in #10464) and needs fixing.
comment:3 Changed 10 years ago by mtbcarroll
xfails added by https://github.com/openmicroscopy/openmicroscopy/pull/2621
comment:4 Changed 10 years ago by sbesson
- Resolution set to fixed
- Status changed from new to closed
Travis failures fixed by adding xfail. Problem captured in #10464.
comment:5 Changed 10 years ago by spli
xfails removed, see #10464
The first thing testTableSearch does is to call testTableAddData.