Page MenuHome

ctest: bmesh_boolean test fails on x86
Open, Confirmed, LowPublic

Description

System Information
Operating system: Windows X86 + Linux X86
Graphics card: N/A

Broken: Latest Master 32 bit
Worked: Latest Master 64 bit

Short description of error

the bmesh_boolean test fails on both windows and linux on 32 bit builds.

Additional information

The reported memleak doesn't seem to trigger on the x64 builds.

Blender 2.80 (sub 72) (hash f18373a9ab1a built Sun 05/26/2019 12:09 AM)
found bundled python: D:\a\1\build_windows_Full_x86_vc15_Release\bin\Release\2.80\python
Read blend: D:/a/1/s/../lib/tests/modeling/bool_regression.blend
Info: Deleted 1 object(s)
Info: Deleted 1 object(s)
Info: Deleted 1 object(s)
Info: Deleted 1 object(s)
Info: Deleted 1 object(s)
Info: Deleted 1 object(s)
Info: Deleted 1 object(s)
Info: Deleted 1 object(s)
Info: Deleted 1 object(s)
Error: Not freed memory blocks: 3, total unfreed memory 0.002487 MB
D:/a/1/s/../lib/tests/modeling/bool_regression.blend\run_tests:4: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
Traceback (most recent call last):
  File "D:/a/1/s/../lib/tests/modeling/bool_regression.blend\run_tests", line 38, in <module>
SystemExit: 1
Run test: intersect_boolean(operation="UNION") on Cubecube selecting F 0 1 2 3 4 5
Success
Info: Deleted 1 object(s)
Run test: intersect_boolean(operation="INTERSECT") on Cubecube selecting F 0 1 2 3 4 5
Fail Loop Vert Mismatch In Poly Test
Info: Deleted 1 object(s)
Run test: intersect_boolean(operation="DIFFERENCE") on Cubecube selecting F 0 1 2 3 4 5
Fail Loop Vert Mismatch In Poly Test
Info: Deleted 1 object(s)
Run test: intersect(separate_mode="CUT") on Cubecube selecting F 0 1 2 3 4 5
Fail Loop Vert Mismatch In Poly Test
Info: Deleted 1 object(s)
Run test: intersect(separate_mode="ALL") on Cubecube selecting F 0 1 2 3 4 5
Fail Edge Mismatch
Info: Deleted 1 object(s)
Run test: intersect(separate_mode="NONE") on Cubecube selecting F 0 1 2 3 4 5
Fail Loop Vert Mismatch In Poly Test
Info: Deleted 1 object(s)
Run test: intersect(mode="SELECT" separate_mode="NONE") on Cubecube selecting F 0 1 2 3 4 5 6 7 8 9 10 11
Fail Loop Vert Mismatch In Poly Test
Info: Deleted 1 object(s)
Run test: intersect_boolean(operation="UNION") on Cubecone selecting F 6 7 8 9 10
Fail Loop Vert Mismatch In Poly Test
Info: Deleted 1 object(s)
Run test: intersect_boolean(operation="UNION") on Cubecones selecting F 0 1 2 3 4 5
Fail Loop Vert Mismatch In Poly Test
Info: Deleted 1 object(s)
Ran 9 tests, 8 failed
Tests Failed

Exact steps for others to reproduce the error
run the bmesh_boolean test or load bool_regression.blend manually and click run script.

Details

Type
Bug

Related Objects

Event Timeline

LazyDodo (LazyDodo) lowered the priority of this task from Needs Triage by Developer to Confirmed, High.

@Campbell Barton (campbellbarton) mind taking a peek here?

Brecht Van Lommel (brecht) lowered the priority of this task from Confirmed, High to Confirmed, Medium.May 27 2019, 7:38 PM

I don't think a memory leak on x86 is high priority as in must be fixed for the 2.80 release. Still good to fix to make the tests run well.

The actual tests are failing, the memleak is probably just a symptom.

I looked a little further into this, the tests are failing because the geometry generated is actually different between x86 and x64 (errors out during CD_MPOLY compare in customdata_compare) the result doesn't look wrong, up to you if you want to keep it at medium.

Given you thought it was just a 3kb mem leak, the medium prio seems rather generous.

Brecht Van Lommel (brecht) lowered the priority of this task from Confirmed, Medium to Confirmed, Low.May 29 2019, 1:06 PM

It's medium priority in the sense that it would be good to have all our tests passing, though the actual bug is not that important probably.

It might be an issue with extended precision for floats on 32 bits or something like that, which wouldn't really make it a bug.

I want to drop 32 bit support right after the 2.80 release though, so fixing this a harmless issue for a test is not that important.