Skip to content

Commit 3e19b45

Browse files
committed
Merged PR 339890: fix seg fault
fix seg fault Related work items: #696262
2 parents 494cab2 + 3a8c737 commit 3e19b45

File tree

4 files changed

+7
-11
lines changed

4 files changed

+7
-11
lines changed

ansys/dpf/core/field.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,9 @@ def _set_scoping(self, scoping):
264264
self._api.csfield_set_cscoping(self, scoping)
265265

266266
def _get_scoping(self):
267-
return scoping.Scoping(scoping=self._api.csfield_get_cscoping(self), server=self._server)
267+
obj = self._api.csfield_get_cscoping(self)
268+
if obj is not None:
269+
return scoping.Scoping(scoping=obj, server=self._server)
268270

269271
@property
270272
def shell_layers(self):

ansys/dpf/core/meshed_region.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ def _get_scoping(self, loc=locations.nodal):
112112
out = self._api.meshed_region_get_shared_elements_scoping(self)
113113
else:
114114
raise TypeError(f"Location {loc} is not recognized.")
115+
if out is None:
116+
return
115117
scop_to_return = scoping.Scoping(scoping=out, server=self._server)
116118
try:
117119
check = scop_to_return._api.scoping_fast_access_ptr(scop_to_return)

tests/test_field.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -973,7 +973,6 @@ def test_deep_copy_field_grpclegacy_to_grpclegacy():
973973
@pytest.mark.skipif(not conftest.SERVERS_VERSION_GREATER_THAN_OR_EQUAL_TO_4_0,
974974
reason='this server type does not exist before client'
975975
'dedicated to 4.0 server version')
976-
@pytest.mark.skipif(os.name == 'posix', reason="linux issue: SEGFAULT to investigate")
977976
def test_deep_copy_field_inprocess_to_inprocess():
978977
config = dpf.core.ServerConfig(
979978
protocol=dpf.core.server_factory.CommunicationProtocols.InProcess,
@@ -989,7 +988,6 @@ def test_deep_copy_field_2(plate_msup):
989988
field.deep_copy()
990989

991990

992-
@pytest.mark.skipif(os.name == 'posix', reason="linux issue: SEGFAULT to investigate")
993991
def test_deep_copy_field():
994992
field = dpf.core.fields_factory.create_3d_vector_field(100)
995993
arr = np.arange(300).reshape(100, 3)
@@ -1042,7 +1040,6 @@ def test_deep_copy_elemental_nodal_field(allkindofcomplexity):
10421040
)
10431041

10441042

1045-
@pytest.mark.skipif(os.name == 'posix', reason="linux issue: SEGFAULT to investigate")
10461043
def test_deep_copy_over_time_field(velocity_acceleration):
10471044
model = dpf.core.Model(velocity_acceleration)
10481045
stress = model.results.stress(time_scoping=[1, 2, 3])
@@ -1058,7 +1055,6 @@ def test_deep_copy_over_time_field(velocity_acceleration):
10581055
assert tf.time_frequencies.scoping.ids == copy.time_frequencies.scoping.ids
10591056

10601057

1061-
@pytest.mark.skipif(os.name == 'posix', reason="linux issue: SEGFAULT to investigate")
10621058
def test_deep_copy_spec_ncomp_field():
10631059
field = dpf.core.fields_factory.create_vector_field(100, 6, dpf.core.locations.elemental)
10641060
arr = np.arange(600).reshape(100, 6)

tests/test_meshregion.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -633,9 +633,5 @@ def test_semi_parabolic_meshed_region(server_type, allkindofcomplexity):
633633
)
634634
def test_empty_mesh_get_scoping(server_type):
635635
mesh = dpf.core.MeshedRegion()
636-
if conftest.SERVERS_VERSION_GREATER_THAN_OR_EQUAL_TO_5_0:
637-
assert len(mesh.nodes.scoping.ids) == 0
638-
assert len(mesh.elements.scoping.ids) == 0
639-
else:
640-
assert mesh.nodes.scoping is None
641-
assert mesh.elements.scoping is None
636+
assert mesh.nodes.scoping is None
637+
assert mesh.elements.scoping is None

0 commit comments

Comments
 (0)