Ticket #8304 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

UnitTests on Ubuntu 13.10

Reported by: Andrei Savici Owned by: Martyn Gigg
Priority: major Milestone: Release 3.2
Component: Python Keywords: Maintenance
Cc: Blocked By: #8996
Blocking: Tester: Andrei Savici

Description

Running Ubuntu 13.10, boost 1.54, gcc 4.8.1

The following tests FAILED:
	139 - GeometryTest_ObjComponentTest (Failed)
	316 - PythonInterfaceAPI_RunPythonScriptTest (SEGFAULT)
	328 - PythonAlgorithms_FindReflectometryLinesTest (SEGFAULT)
	330 - PythonAlgorithms_LoadLiveDataTest (SEGFAULT)
	334 - PythonAlgorithms_MeanTest (SEGFAULT)
	336 - PythonAlgorithms_RetrieveRunInfoTest (SEGFAULT)
	337 - PythonAlgorithms_SANSWideAngleCorrectionTest (SEGFAULT)
	339 - PythonAlgorithms_Stitch1DTest (SEGFAULT)
	340 - PythonAlgorithms_Stitch1DManyTest (SEGFAULT)
	343 - PythonAlgorithms_UpdatePeakParameterTableValueTest (SEGFAULT)
	344 - PythonAlgorithms_SANSSubtractTest (SEGFAULT)
Errors while running CTest

Most of them are python tests, I think related to the implementation of += and so on.

Change History

comment:1 Changed 7 years ago by Martyn Gigg

  • Keywords Maintenance added
  • Milestone changed from Backlog to Release 3.1

comment:2 Changed 7 years ago by Andrei Savici

The same tests fail on Fedora19

comment:3 Changed 7 years ago by Andrei Savici

GeometryTest_ObjComponentTest was fixed by Stuart in #8663

comment:4 Changed 7 years ago by Nick Draper

  • Milestone changed from Release 3.1 to Backlog

Moved to backlog at the end of Release 3.1

comment:5 Changed 7 years ago by Martyn Gigg

  • Milestone changed from Backlog to Release 3.2

We'll need to fix this for Ubuntu 14.04.

comment:6 Changed 7 years ago by Martyn Gigg

  • Blocked By 8996 added

comment:7 Changed 7 years ago by Martyn Gigg

  • Status changed from new to assigned

comment:8 Changed 7 years ago by Martyn Gigg

  • Status changed from assigned to inprogress

Ensure the GIL is held while all python is executed.

This is required for Python on Ubuntu 13.10 where the dict destruction requires an valid threadstate pointer. Refs #8304

Changeset: 593e9deb27464e6cb2eac8334efe97a2f65f4bdd

comment:9 Changed 7 years ago by Martyn Gigg

Extract the "real" shared_ptr instance from Python objects

The standard boost::python::extract<shared_ptr> actually creates a new shared_ptr from the original and embeds a custom deleter to decref the Python object it was embedded into. As the C++ side is the one that created the shared_ptr originally we just want the same one back. Refs #8304

Changeset: 51b312f5484623113ea0f9ce9c49dd5612a1e5cb

comment:10 Changed 7 years ago by Martyn Gigg

Introduce DataServiceExporter to reduce copy-and-paste code.

It is now used by the AnalysisDataService & PropertyManagerDataService exports. The new class ensures that the embedded shared_ptr is extracted during the add* operations rather than boost.python creating a new one with a custom deleter. Refs #8304

Changeset: 0047bf074684d3d56b4efdc9206eeaf8b4416716

comment:11 Changed 7 years ago by Martyn Gigg

Let boost.python work its magic by default for the DataService

Refs #8304

Changeset: 8bea3905e9c129e2761fdc1492e6ce8b0ad0fa7a

comment:12 Changed 7 years ago by Martyn Gigg

Use unmanaged algorithms in Python simple API

The proxies are unnecessary as we don't return the algorithm instances so they'll get cleaned up automatically when the simple api call goes out of scope. Refs #8304

Changeset: e97f8ac0d2a2902cc0dd1da57fe151fef6a0a32b

comment:13 Changed 7 years ago by Martyn Gigg

Reducer now expects just a plain Algorithm object from the framework.

Refs #8304

Changeset: 0e96ff68c3753f600caecb935bd2a2f42205c81f

comment:14 Changed 7 years ago by Martyn Gigg

  • Status changed from inprogress to verify
  • Resolution set to fixed

Branch: bugfix/8304_python_unittests_ubuntu

Tester: This will require an Ubuntu 13.10 installation. All of the unit tests should now be fixed and of course all of the systemtests should be passing.

comment:15 Changed 7 years ago by Andrei Savici

  • Status changed from verify to verifying
  • Tester set to Andrei Savici

comment:16 Changed 7 years ago by Andrei Savici

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/bugfix/8304_python_unittests_ubuntu'

Full changeset: 08ec745dd02f26c138798b9c46ad3f93c1b49cc4

comment:17 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 9149

Note: See TracTickets for help on using tickets.