Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

STL extension: Add a template argument to Prevent_deref for the value type #7410

Merged
merged 17 commits into from
May 26, 2024

Conversation

afabri
Copy link
Member

@afabri afabri commented Apr 26, 2023

Summary of Changes

Fix issue #7400

Release Management

@afabri afabri requested a review from lrineau April 26, 2023 10:03
@lrineau lrineau changed the title STL extension: Add a template argument to Prevent_deref for the valye type STL extension: Add a template argument to Prevent_deref for the value type Apr 27, 2023
Copy link
Member

@lrineau lrineau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am made slight modifications about indentations, spaces, naming.

I am fine with the changes. That fixes the issue.

@lrineau lrineau self-assigned this Apr 27, 2023
@lrineau lrineau modified the milestones: 5.6-beta, 6.0-beta Apr 27, 2023
@lrineau lrineau added the rm: not for next release Indicate to the release team that a PR should not be merged before the next release branch is forked label Apr 27, 2023
@sloriot sloriot added Under Testing Batch_2 Second Batch of PRs under testing and removed Under Testing labels Jun 7, 2023
@sloriot
Copy link
Member

sloriot commented Jun 13, 2023

This is most likely responsible for runtime errors in Shape_detection in CGAL-5.6-Ic-271.

might be related commits:

@sloriot
Copy link
Member

sloriot commented Jun 13, 2023

Note that I also suspect that it is responsible for the many time out in PMP. From what I remember, I did try a similar change and it has a dramatic impact on the runtime of Polyhedron (see also 2e0bc5e).

@sloriot sloriot removed the Batch_2 Second Batch of PRs under testing label Jun 15, 2023
@lrineau
Copy link
Member

lrineau commented Sep 19, 2023

@sloriot I have removed the Tests failing label, because the corresponding tests were three months ago, and the pull-request has changed since then.

@sloriot sloriot added Under Testing and removed Batch_2 Second Batch of PRs under testing labels Nov 21, 2023
@sloriot
Copy link
Member

sloriot commented Nov 27, 2023

I suspect this PR to be responsible for Shape detection runtime errors in CGAL-6.0-Ic-114.

@sloriot sloriot added Batch_1 First Batch of PRs under testing Tests failing and removed Under Testing Batch_1 First Batch of PRs under testing labels Nov 27, 2023
@lrineau
Copy link
Member

lrineau commented Nov 30, 2023

I suspect this PR to be responsible for Shape detection runtime errors in CGAL-6.0-Ic-114.

The address sanitizer found stack-use-after-scope errors: https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-6.0-Ic-114/Shape_detection/TestReport_lrineau_Fedora-Release.gz

@janetournois
Copy link
Member

This PR has both labels "Tests failing" and "Ready to be tested"....(?)

@lrineau
Copy link
Member

lrineau commented May 16, 2024

This PR has both labels "Tests failing" and "Ready to be tested"....(?)

This PR #7410 is on my personal TODO-list. It is a blocker for #8170.

@lrineau lrineau added rm only: release blocker For the release team only: the next release requires this issue/PR to be solved/merge and removed Ready to be tested labels May 16, 2024
lrineau added 2 commits May 17, 2024 23:03
Now the second parameter is the `reference` type and no longer the `value_type`.
@sloriot sloriot added the Batch_1 First Batch of PRs under testing label May 21, 2024
Copy link
Member

@lrineau lrineau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After latests commits, I tested a lot locally, on Fedora Linux 40, with optimizers and assertions:

> ctest --test-dir build/RelWithDebInfo -j12 -L 'Arr|Triangulation_[23]|SMDS|STL|Mesh_[23]|TDS_[23]|Shape' -j12 
Internal ctest changing into directory: /home/lrineau/Git/cgal-master/build/RelWithDebInfo
Test project /home/lrineau/Git/cgal-master/build/RelWithDebInfo
          Start    2: check build system
[...]
100% tests passed, 0 tests failed out of 1105

Label Time Summary:
Arrangement_on_surface_2_Demo          = 418.14 sec*proc (1 test)
Arrangement_on_surface_2_Examples      = 2098.81 sec*proc (130 tests)
Arrangement_on_surface_2_Tests         = 1725.35 sec*proc (347 tests)
Arrangement_on_surface_2_earth_Demo    =  66.69 sec*proc (1 test)
CGAL_build_system                      =  20.59 sec*proc (2 tests)
Installation                           =  20.59 sec*proc (2 tests)
Mesh_2_Demo                            =  46.22 sec*proc (2 tests)
Mesh_2_Examples                        = 207.70 sec*proc (14 tests)
Mesh_2_Tests                           = 281.50 sec*proc (28 tests)
Mesh_3_Examples                        = 2732.15 sec*proc (70 tests)
Mesh_3_Tests                           = 2595.52 sec*proc (60 tests)
SMDS_3_Examples                        =  51.89 sec*proc (6 tests)
SMDS_3_Tests                           = 274.94 sec*proc (16 tests)
STL_Extension_Examples                 =  32.31 sec*proc (14 tests)
STL_Extension_Tests                    = 221.11 sec*proc (72 tests)
Shape_detection_Examples               = 410.24 sec*proc (28 tests)
Shape_detection_Tests                  = 856.47 sec*proc (46 tests)
Shape_regularization_Examples          =  83.29 sec*proc (12 tests)
Shape_regularization_Tests             = 502.73 sec*proc (46 tests)
TDS_2_Tests                            =  17.89 sec*proc (4 tests)
TDS_3_Examples                         =  15.77 sec*proc (6 tests)
TDS_3_Tests                            =  26.06 sec*proc (6 tests)
Triangulation_2_Demo                   = 131.43 sec*proc (3 tests)
Triangulation_2_Examples               = 621.42 sec*proc (54 tests)
Triangulation_2_Tests                  = 687.99 sec*proc (50 tests)
Triangulation_3_Demo                   = 100.61 sec*proc (1 test)
Triangulation_3_Examples               = 543.42 sec*proc (42 tests)
Triangulation_3_Tests                  = 746.26 sec*proc (44 tests)

Total Test time (real) = 1679.44 sec

Looks good, at least on my Linux machine.

```
100% tests passed, 0 tests failed out of 17

Label Time Summary:
CGAL_build_system                  =   0.78 sec*proc (1 test)
Installation                       =   0.78 sec*proc (1 test)
Triangulation_on_sphere_2_Tests    = 102.51 sec*proc (16 tests)
```
@sloriot sloriot added Under Testing Tested and removed Batch_1 First Batch of PRs under testing Under Testing labels May 24, 2024
@sloriot
Copy link
Member

sloriot commented May 26, 2024

Successfully tested in 6.0-Ic-251

@sloriot sloriot merged commit 1c172bb into CGAL:master May 26, 2024
9 checks passed
@sloriot sloriot deleted the STL_extension-Fix_Prevent_deref-GF branch May 26, 2024 15:47
sloriot added a commit that referenced this pull request May 26, 2024
## Summary of Changes

Important various fixes and improvements, from an experimental branch of
mine about CDT_3.

- <s>remove CMake warnings about `VTK_USE_FILE`</s> (our testsuite tests
with [VTK-8.2](https://docs.vtk.org/en/latest/release_details/8.2.html),
whereas
[VTK-9.0](https://docs.vtk.org/en/latest/release_details/9.0.html) was
released four years ago).
- make `Circulator_from_container` compatible with ranges (instead of
just containers)
- `Hash_map` is move-constructible and -assignable
- add preliminary support for C++20 concepts and `<format>`
- [x] add `Compare_angle_3(Point_3, Point_3, Point_3, Point_3, Point_3,
Point_3)` (with six points) **TODO: needs doc**... will be handled later
in issue #8219
- [x] **breaking changes:** add `Compare_xy_2` to
`TriangulationTraits_2` <s>TODO: needs announcement</s>
- fix `Compact_container` time stamp feature
- [x] commits from #7410 **That is probably a problem, to be fixed.**
**fixed in #7410 and then my the merge
https://github.com/CGAL/cgal/pull/8170/commits/70464ea107dcf9e32a338ed5c307897f1cb1fcf8**
- add `CGAL::Scope_exit`, `CGAL::make_scope_exit`, for CGAL developers
(undocumented)
- add an overload of `make_sorted_pair` with only one pair-like argument
- improve `CGAL::IO::Output_ref` and `oformat`
- perf improvements in
`TDS_3/include/CGAL/Triangulation_data_structure_3.h` (`is_edge` is 7
times faster)
- <s>perf improvement in
`Triangulation_2/include/CGAL/Triangulation_2/internal/Polyline_constraint_hierarchy_2.h`
(with the use of `unordered_flat_map` from Boost>=1.80</s>
- less filter failures in `Triangulation_segment_cell_iterator_3`
- add `Triangulation_3::is_facet(u, v, w)` (without `, c, i, j, k`)

## Release Management

* Affected package(s): Installation, T_2, TDS_2, T_3, TDS_3, SMDS_3,
Kernel, STL_Extension, Stream_support
* Feature/Small Feature (if any):
* License and copyright ownership: maintenance by GeometryFactory
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Merged_in_6.0 Pkg::STL_Extension Pkg::Triangulation_2 Pkg::Triangulation_3 rm only: release blocker For the release team only: the next release requires this issue/PR to be solved/merge Tested
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bug: the value_type of the range returned by Triangulation_3.finite_vertex_handles() is not Vertex_handle
4 participants