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 5 years ago by mtbcarroll
- Description modified (diff)
comment:2 Changed 5 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 5 years ago by mtbcarroll
xfails added by https://github.com/openmicroscopy/openmicroscopy/pull/2621
comment:4 Changed 5 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 5 years ago by spli
xfails removed, see #10464
The first thing testTableSearch does is to call testTableAddData.