Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #12372 (closed)

Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

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)

The first thing testTableSearch does is to call testTableAddData.

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: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

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.66541 sec.)

We're Hiring!