diff --git a/Applications/Utils/Tests.cmake b/Applications/Utils/Tests.cmake
index c5f7d5b14b2304fe4aaea2fae69a633668a072c8..a0857fcfec0f12b464c9cf5ba478e002d66ebfdf 100644
--- a/Applications/Utils/Tests.cmake
+++ b/Applications/Utils/Tests.cmake
@@ -15,6 +15,7 @@ AddTest(
     WORKING_DIRECTORY ${Data_SOURCE_DIR}/MeshGeoToolsLib/Bode
     EXECUTABLE MapGeometryToMeshSurface
     EXECUTABLE_ARGS -m BodeComplex.msh -i BodeEZG_Fliessgewaesser.gml -a -o ${Data_BINARY_DIR}/MeshGeoToolsLib/Bode/BodeEZG_Fliessgewaesser-Mapped.gml
+    RUNTIME 7
     TESTER gmldiff
     DIFF_DATA BodeEZG_Fliessgewaesser-Mapped.gml 1e-10 1e-10
 )
@@ -25,6 +26,7 @@ AddTest(
     WORKING_DIRECTORY ${Data_SOURCE_DIR}/MeshGeoToolsLib/Naegelstedt
     EXECUTABLE MapGeometryToMeshSurface
     EXECUTABLE_ARGS -m SmallTest.vtu -i RiverNetwork.gml -a -o ${Data_BINARY_DIR}/MeshGeoToolsLib/Naegelstedt/RiverNetwork-Mapped.gml
+    RUNTIME 7
     TESTER diff
     DIFF_DATA RiverNetwork-Mapped.gml
 )
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 67b49f2ed4d91d9198b0c0425cb293be04e287f0..573524796c9f6e2f8efa9cdd1d2818b848139b7a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -151,7 +151,6 @@ option(OGS_FATAL_ABORT "Abort in OGS_FATAL" OFF)
 
 # Compiler flags
 set(OGS_CXX_FLAGS "" CACHE STRING "Additional C++ compiler flags.")
-option(STL_NO_DEBUG "Disable STL debug in debug build" OFF)
 
 # Print CMake variable values
 if(OGS_CMAKE_DEBUG)
diff --git a/CMakePresets.json b/CMakePresets.json
index 9c01a59c4a5dca157d204935d8d83cfad7aa8afa..c51ca2d3b754a96b551b640ef4b38a7c6a3a34d6 100644
--- a/CMakePresets.json
+++ b/CMakePresets.json
@@ -303,6 +303,13 @@
         }
       }
     },
+    {
+      "name": "debug",
+      "configurePreset": "debug",
+      "inherits": [
+        "release"
+      ]
+    },
     {
       "name": "release-all-large",
       "configurePreset": "release-all",
diff --git a/MathLib/Point3d.h b/MathLib/Point3d.h
index eb0484cf591caaac905468760d4d76253b62f4b7..f694f5868548c6ce1991b3a865efabd88ff9e349 100644
--- a/MathLib/Point3d.h
+++ b/MathLib/Point3d.h
@@ -47,9 +47,9 @@ inline MathLib::Point3d operator*(MATRIX const& mat, MathLib::Point3d const& p)
 inline
 double sqrDist(MathLib::Point3d const& p0, MathLib::Point3d const& p1)
 {
-    return (Eigen::Map<Eigen::Vector3d>(const_cast<double*>(p0.getCoords())) -
-            Eigen::Map<Eigen::Vector3d>(const_cast<double*>(p1.getCoords())))
-        .squaredNorm();
+    return (p0[0] - p1[0]) * (p0[0] - p1[0]) +
+           (p0[1] - p1[1]) * (p0[1] - p1[1]) +
+           (p0[2] - p1[2]) * (p0[2] - p1[2]);
 }
 
 /// Computes the squared distance between the orthogonal projection of the two
diff --git a/ProcessLib/ComponentTransport/Tests.cmake b/ProcessLib/ComponentTransport/Tests.cmake
index d288a0e8706182c71bb9dc9a8acad2453da33120..e52dc498d61948e6847c072dc0537a891405477e 100644
--- a/ProcessLib/ComponentTransport/Tests.cmake
+++ b/ProcessLib/ComponentTransport/Tests.cmake
@@ -67,6 +67,7 @@ AddTest(
     NAME 2D_ComponentTransport_StaggeredScheme_ConcentrationDiffusionAndStorage
     PATH Parabolic/ComponentTransport/StaggeredScheme
     EXECUTABLE ogs
+    RUNTIME 8
     EXECUTABLE_ARGS ConcentrationDiffusionAndStorage.prj
     WRAPPER time
     TESTER vtkdiff
@@ -163,7 +164,7 @@ AddTest(
     WRAPPER time
     TESTER vtkdiff
     REQUIREMENTS NOT OGS_USE_MPI
-    RUNTIME 4
+    RUNTIME 7
     DIFF_DATA
     box_ogsOutput_ts_0_t_0.000000_expected.vtu box_ogsOutput_ts_0_t_0.000000.vtu concentration concentration 5e-7 5e-10
     box_ogsOutput_ts_20_t_100000.000000_expected.vtu box_ogsOutput_ts_20_t_100000.000000.vtu concentration concentration 5e-7 5e-10
@@ -424,6 +425,7 @@ AddTest(
     NAME 2D_StaggeredScheme_ComponentTransport_TracerSimulation
     PATH Parabolic/ComponentTransport/TracerSimulation
     EXECUTABLE ogs
+    RUNTIME 11
     EXECUTABLE_ARGS TracerSimulation.prj
     WRAPPER time
     TESTER vtkdiff
@@ -867,8 +869,8 @@ AddTest(
     Wetland_1d_ts_4_t_28800.000000_expected.vtu Wetland_1d_ts_4_t_28800.000000.vtu pressure pressure 1e-6 1e-10
     Wetland_1d_ts_4_t_28800.000000_expected.vtu Wetland_1d_ts_4_t_28800.000000.vtu H H 1e-10 1e-16
     Wetland_1d_ts_4_t_28800.000000_expected.vtu Wetland_1d_ts_4_t_28800.000000.vtu Do Do 1e-10 1e-16
-    Wetland_1d_ts_4_t_28800.000000_expected.vtu Wetland_1d_ts_4_t_28800.000000.vtu Sf Sf 1e-10 1e-16
-    Wetland_1d_ts_4_t_28800.000000_expected.vtu Wetland_1d_ts_4_t_28800.000000.vtu Sa Sa 1e-10 1e-16
+    Wetland_1d_ts_4_t_28800.000000_expected.vtu Wetland_1d_ts_4_t_28800.000000.vtu Sf Sf 3e-10 1e-16
+    Wetland_1d_ts_4_t_28800.000000_expected.vtu Wetland_1d_ts_4_t_28800.000000.vtu Sa Sa 2e-10 1e-16
     Wetland_1d_ts_4_t_28800.000000_expected.vtu Wetland_1d_ts_4_t_28800.000000.vtu Sin Sin 1e-10 1e-16
     Wetland_1d_ts_4_t_28800.000000_expected.vtu Wetland_1d_ts_4_t_28800.000000.vtu Xs_m Xs_m 1e-10 1e-16
     Wetland_1d_ts_4_t_28800.000000_expected.vtu Wetland_1d_ts_4_t_28800.000000.vtu Xi_m Xi_m 1e-10 1e-16
diff --git a/ProcessLib/HT/Tests.cmake b/ProcessLib/HT/Tests.cmake
index 83e452f70346340781f07a2096067feec63b1e52..5b9898e35cfba9b8ef59e26da4574ee00dac4408 100644
--- a/ProcessLib/HT/Tests.cmake
+++ b/ProcessLib/HT/Tests.cmake
@@ -340,6 +340,7 @@ AddTest(
     NAME HT_FaultedCube_rev0
     PATH Parabolic/HT/FaultedCube
     EXECUTABLE_ARGS Ra_795_fault_bcgs_jacobi.prj
+    RUNTIME 12
     EXECUTABLE ogs
     WRAPPER time
     TESTER vtkdiff
diff --git a/ProcessLib/HeatConduction/Tests.cmake b/ProcessLib/HeatConduction/Tests.cmake
index da7681448e69a36c74e9fa6276e9e41fabe914d3..44166780912caf4e3c374645d433801b768252cd 100644
--- a/ProcessLib/HeatConduction/Tests.cmake
+++ b/ProcessLib/HeatConduction/Tests.cmake
@@ -310,7 +310,7 @@ AddTest(
         EXECUTABLE_ARGS line_source_term_x_0.5_y_0.5.prj
         TESTER vtkdiff
         DIFF_DATA
-        3D_line_source_term_ts_1_t_1.000000.vtu 3D_line_source_term_ts_1_t_1.000000.vtu temperature temperature 1e-15 0.0
+        3D_line_source_term_ts_1_t_1.000000.vtu 3D_line_source_term_ts_1_t_1.000000.vtu temperature temperature 2e-15 0.0
         3D_line_source_term_ts_1_t_1.000000.vtu 3D_line_source_term_ts_1_t_1.000000.vtu heat_flux_x heat_flux_x 7e-15 7e-13
         REQUIREMENTS NOT OGS_USE_MPI
 )
diff --git a/ProcessLib/HydroMechanics/Tests.cmake b/ProcessLib/HydroMechanics/Tests.cmake
index b889ce16364e8a27775b4404016bfacef1d8546f..53583fca0f48efcca22495a3f9cf73e6f74e1989 100644
--- a/ProcessLib/HydroMechanics/Tests.cmake
+++ b/ProcessLib/HydroMechanics/Tests.cmake
@@ -215,6 +215,7 @@ AddTest(
     NAME HydroMechanics_hollow_sphere
     PATH HydroMechanics/Principal_Stress/Hollow_Sphere
     EXECUTABLE ogs
+    RUNTIME 7
     EXECUTABLE_ARGS sphere.prj
     WRAPPER time
     TESTER vtkdiff
@@ -568,7 +569,7 @@ AddTest(
     DIFF_DATA
     HM_NodalSourceTem_ts_100_t_86400.000000.vtu HM_NodalSourceTem_ts_100_t_86400.000000.vtu pressure pressure 1.0e-8 0.0
     HM_NodalSourceTem_ts_100_t_86400.000000.vtu HM_NodalSourceTem_ts_100_t_86400.000000.vtu displacement displacement 1.0e-15 0.0
-    HM_NodalSourceTem_ts_100_t_86400.000000.vtu HM_NodalSourceTem_ts_100_t_86400.000000.vtu sigma sigma 1.0e-8 0.0
+    HM_NodalSourceTem_ts_100_t_86400.000000.vtu HM_NodalSourceTem_ts_100_t_86400.000000.vtu sigma sigma 1.5e-8 0.0
     HM_NodalSourceTem_ts_100_t_86400.000000.vtu HM_NodalSourceTem_ts_100_t_86400.000000.vtu epsilon epsilon 1.0e-15 0.0
 )
 
diff --git a/ProcessLib/LIE/HydroMechanics/Tests.cmake b/ProcessLib/LIE/HydroMechanics/Tests.cmake
index 325cabf4be36c12d2e79d7feca2ae5b717c7c430..14108a15339a9a732f6cd0af8f12cf95d7e3d4c2 100644
--- a/ProcessLib/LIE/HydroMechanics/Tests.cmake
+++ b/ProcessLib/LIE/HydroMechanics/Tests.cmake
@@ -200,6 +200,6 @@ AddTest(
     expected_single_fracture_3compartments_flow_CHZ_sigma0_ts_356_t_500.000000.vtu single_fracture_3compartments_flow_CHZ_sigma0_ts_356_t_500.000000.vtu strain_yy strain_yy 1e-15 1e-15
     expected_single_fracture_3compartments_flow_CHZ_sigma0_ts_356_t_500.000000.vtu single_fracture_3compartments_flow_CHZ_sigma0_ts_356_t_500.000000.vtu strain_xy strain_xy 1e-15 1e-15
     expected_single_fracture_3compartments_flow_CHZ_sigma0_ts_356_t_500.000000.vtu single_fracture_3compartments_flow_CHZ_sigma0_ts_356_t_500.000000.vtu stress_xx stress_xx 3e-10 1e-15
-    expected_single_fracture_3compartments_flow_CHZ_sigma0_ts_356_t_500.000000.vtu single_fracture_3compartments_flow_CHZ_sigma0_ts_356_t_500.000000.vtu stress_yy stress_yy 1e-12 1e-15
+    expected_single_fracture_3compartments_flow_CHZ_sigma0_ts_356_t_500.000000.vtu single_fracture_3compartments_flow_CHZ_sigma0_ts_356_t_500.000000.vtu stress_yy stress_yy 1e-12 1.5e-15
     expected_single_fracture_3compartments_flow_CHZ_sigma0_ts_356_t_500.000000.vtu single_fracture_3compartments_flow_CHZ_sigma0_ts_356_t_500.000000.vtu velocity velocity 1e-15 1e-15
 )
diff --git a/ProcessLib/LIE/SmallDeformation/Tests.cmake b/ProcessLib/LIE/SmallDeformation/Tests.cmake
index d3bebf097cbd0724d953d5d48ad86b68b8c22070..7c3ce032f95e8e989e4b2049c18da21534458e62 100644
--- a/ProcessLib/LIE/SmallDeformation/Tests.cmake
+++ b/ProcessLib/LIE/SmallDeformation/Tests.cmake
@@ -91,7 +91,7 @@ AddTest(
     DIFF_DATA
     GLOB cohesive_zone_load_path_ts_*.vtu displacement displacement 1e-16 0
     GLOB cohesive_zone_load_path_ts_*.vtu displacement_jump1 displacement_jump1 1e-16 0
-    GLOB cohesive_zone_load_path_ts_*.vtu sigma_xx sigma_xx 1e-6 0
+    GLOB cohesive_zone_load_path_ts_*.vtu sigma_xx sigma_xx 1.8e-6 0
     GLOB cohesive_zone_load_path_ts_*.vtu sigma_yy sigma_yy 1e-6 0
     GLOB cohesive_zone_load_path_ts_*.vtu sigma_zz sigma_zz 1e-6 0
     GLOB cohesive_zone_load_path_ts_*.vtu sigma_xy sigma_xy 1e-6 0
@@ -169,7 +169,7 @@ AddTest(
     expected_coulomb_load_path_ts_200_t_2.000000.vtu coulomb_load_path_ts_200_t_2.000000.vtu displacement_jump1 displacement_jump1 1e-16 0
     expected_coulomb_load_path_ts_401_t_4.000000.vtu coulomb_load_path_ts_401_t_4.000000.vtu displacement_jump1 displacement_jump1 1e-16 0
     expected_coulomb_load_path_ts_100_t_1.000000.vtu coulomb_load_path_ts_100_t_1.000000.vtu sigma_xx sigma_xx 1e-6 1.3e-6
-    expected_coulomb_load_path_ts_200_t_2.000000.vtu coulomb_load_path_ts_200_t_2.000000.vtu sigma_xx sigma_xx 1e-6 1.3e-6
+    expected_coulomb_load_path_ts_200_t_2.000000.vtu coulomb_load_path_ts_200_t_2.000000.vtu sigma_xx sigma_xx 1e-6 1.8e-6
     expected_coulomb_load_path_ts_401_t_4.000000.vtu coulomb_load_path_ts_401_t_4.000000.vtu sigma_xx sigma_xx 1e-6 1.3e-6
     expected_coulomb_load_path_ts_100_t_1.000000.vtu coulomb_load_path_ts_100_t_1.000000.vtu sigma_yy sigma_yy 1e-6 1e-6
     expected_coulomb_load_path_ts_200_t_2.000000.vtu coulomb_load_path_ts_200_t_2.000000.vtu sigma_yy sigma_yy 1e-6 1e-6
diff --git a/ProcessLib/LiquidFlow/Tests.cmake b/ProcessLib/LiquidFlow/Tests.cmake
index 3938c2921918268e14a201350d400f0c50293bd5..02548b5edf05c2b3170228ead1e06e227d5e147b 100644
--- a/ProcessLib/LiquidFlow/Tests.cmake
+++ b/ProcessLib/LiquidFlow/Tests.cmake
@@ -60,7 +60,7 @@ AddTest(
     REQUIREMENTS NOT OGS_USE_MPI
     DIFF_DATA
     standard_solution_buildup_test_ts_107_t_424800.000000.vtu buildup_test_ts_107_t_424800.000000.vtu pressure pressure 1.6e-5 0.0
-    standard_solution_buildup_test_ts_211_t_720000.000000.vtu buildup_test_ts_211_t_720000.000000.vtu pressure pressure 5e-5 0.0
+    standard_solution_buildup_test_ts_211_t_720000.000000.vtu buildup_test_ts_211_t_720000.000000.vtu pressure pressure 5.8e-5 0.0
 )
 
 AddTest(
diff --git a/ProcessLib/RichardsComponentTransport/RichardsComponentTransportFEM-impl.h b/ProcessLib/RichardsComponentTransport/RichardsComponentTransportFEM-impl.h
index cb2aa7d26f5a7a7fe2bdf701ab852cb0b7f8223a..c2201fc0402e1e2608cc5b4673e920903dca86b4 100644
--- a/ProcessLib/RichardsComponentTransport/RichardsComponentTransportFEM-impl.h
+++ b/ProcessLib/RichardsComponentTransport/RichardsComponentTransportFEM-impl.h
@@ -350,7 +350,8 @@ LocalAssemblerData<ShapeFunction, IntegrationMethod, GlobalDim>::
     auto const local_x = x[process_id]->get(indices);
 
     cache.clear();
-    auto cache_vec = MathLib::createZeroedVector<LocalVectorType>(
+    auto cache_vec = MathLib::createZeroedVector<
+        Eigen::Matrix<double, 1, Eigen::Dynamic, Eigen::RowMajor>>(
         cache, n_integration_points);
 
     for (unsigned ip = 0; ip < n_integration_points; ++ip)
diff --git a/ProcessLib/RichardsMechanics/Tests.cmake b/ProcessLib/RichardsMechanics/Tests.cmake
index 2bcc5cada91b5c07646c7a5c42f91c7693acfba1..b5cee78237ef8fdc902409b097d811756bd220f8 100644
--- a/ProcessLib/RichardsMechanics/Tests.cmake
+++ b/ProcessLib/RichardsMechanics/Tests.cmake
@@ -9,7 +9,7 @@ if (NOT OGS_USE_MPI)
     OgsTest(PROJECTFILE RichardsMechanics/RichardsFlow_2d_small.prj RUNTIME 9)
     OgsTest(PROJECTFILE RichardsMechanics/RichardsFlow_2d_small_masslumping.prj RUNTIME 10)
     OgsTest(PROJECTFILE RichardsMechanics/RichardsFlow_2d_quasinewton.prj RUNTIME 80)
-    OgsTest(PROJECTFILE RichardsMechanics/double_porosity_swelling.prj)
+    OgsTest(PROJECTFILE RichardsMechanics/double_porosity_swelling.prj RUNTIME 20)
     OgsTest(PROJECTFILE RichardsMechanics/deformation_dependent_porosity.prj RUNTIME 8)
     OgsTest(PROJECTFILE RichardsMechanics/deformation_dependent_porosity_swelling.prj RUNTIME 11)
     OgsTest(PROJECTFILE RichardsMechanics/orthotropic_power_law_permeability_xyz.prj RUNTIME 80)
@@ -33,6 +33,7 @@ AddTest(
     NAME RichardsMechanics_square_1e2_confined_compression_restart
     PATH RichardsMechanics
     EXECUTABLE ogs
+    RUNTIME 8
     EXECUTABLE_ARGS confined_compression_fully_saturated_restart.prj
     WRAPPER time
     TESTER vtkdiff
diff --git a/ProcessLib/SmallDeformation/Tests.cmake b/ProcessLib/SmallDeformation/Tests.cmake
index 39c84132b0f82e627319f9082b6cd869bd76742d..fd081776ee48b792ce447ec4937fe805f95372bc 100644
--- a/ProcessLib/SmallDeformation/Tests.cmake
+++ b/ProcessLib/SmallDeformation/Tests.cmake
@@ -237,6 +237,7 @@ AddTest(
     WRAPPER time
     TESTER vtkdiff
     REQUIREMENTS NOT OGS_USE_MPI
+    RUNTIME 130
     DIFF_DATA
     arehs-salt-M_gravity_only_ts_10_t_31535999999.999996.vtu arehs-salt-M_gravity_only_ts_10_t_31535999999.999996.vtu displacement displacement 1.e-10 1.e-10
     arehs-salt-M_gravity_only_ts_10_t_31535999999.999996.vtu arehs-salt-M_gravity_only_ts_10_t_31535999999.999996.vtu sigma sigma 1.e-9 5.e-7
diff --git a/ProcessLib/TH2M/Tests.cmake b/ProcessLib/TH2M/Tests.cmake
index 5cd7e048b207b4ab12ea8e1ef4539813a66fd3f6..e92d5082abfa5dac77441682f5cf84ade07f7a6f 100644
--- a/ProcessLib/TH2M/Tests.cmake
+++ b/ProcessLib/TH2M/Tests.cmake
@@ -353,7 +353,7 @@ AddTest(
 
     results_heatpipe_radial_static_gas_ts_10_t_1000000.000000.vtu results_heatpipe_radial_static_gas_ts_10_t_1000000.000000.vtu xnCG xnCG 1e-8 1e-8
 
-    results_heatpipe_radial_static_gas_ts_10_t_1000000.000000.vtu results_heatpipe_radial_static_gas_ts_10_t_1000000.000000.vtu xmCG xmCG 1e-8 1e-8
+    results_heatpipe_radial_static_gas_ts_10_t_1000000.000000.vtu results_heatpipe_radial_static_gas_ts_10_t_1000000.000000.vtu xmCG xmCG 1.2e-8 1e-8
 
     results_heatpipe_radial_static_gas_ts_10_t_1000000.000000.vtu results_heatpipe_radial_static_gas_ts_10_t_1000000.000000.vtu xmWL xmWL 1e-8 1e-8
 
@@ -366,6 +366,7 @@ AddTest(
 AddTest(
     NAME TH2M_TH_unsaturated_heatpipe_slab
     PATH TH2M/TH_unsaturated/heatpipe_slab_static_gas
+    RUNTIME 40
     EXECUTABLE ogs
     EXECUTABLE_ARGS heatpipe_slab_static_gas.prj
     WRAPPER time
diff --git a/Tests/Data/LIE/HydroMechanics/single_fracture_constK.prj b/Tests/Data/LIE/HydroMechanics/single_fracture_constK.prj
index 532d1f14b6c2dd86fc03e45acd5b18596193ba21..0fca2f17057b749f5b71c3a341498c077098480d 100644
--- a/Tests/Data/LIE/HydroMechanics/single_fracture_constK.prj
+++ b/Tests/Data/LIE/HydroMechanics/single_fracture_constK.prj
@@ -324,7 +324,7 @@
         <vtkdiff>
             <regex>single_fracture_constK_ts_.*.vtu</regex>
             <field>displacement</field>
-            <absolute_tolerance>1e-16</absolute_tolerance>
+            <absolute_tolerance>2e-16</absolute_tolerance>
             <relative_tolerance>0</relative_tolerance>
         </vtkdiff>
         <vtkdiff>
diff --git a/scripts/ci/extends/template-build-linux.yml b/scripts/ci/extends/template-build-linux.yml
index e4c20a6f4be48d0f2a26e738f8371aae5e57794c..f71a2498e6bf23c8648dbbb5bb929284733e0393 100644
--- a/scripts/ci/extends/template-build-linux.yml
+++ b/scripts/ci/extends/template-build-linux.yml
@@ -19,12 +19,18 @@
     - |
       if [[ -z "$TARGETS" ]]; then
 
-        $BUILD_CMD_PREFIX cmake --build --preset=$CMAKE_PRESET --target package > >(tee $log_file)
+        if [ "$BUILD_PACKAGE" = false ]; then
+          build_package=""
+        else
+          build_package="--target package"
+        fi
+
+        $BUILD_CMD_PREFIX cmake --build --preset=$CMAKE_PRESET ${build_package} > >(tee $log_file)
 
         if [ "$BUILD_TESTS" = true ]; then $BUILD_CMD_PREFIX cmake --build --preset=$CMAKE_PRESET --target tests ; fi
 
         if [ "$BUILD_CTEST" = true ]; then
-          ctest_timeout=15
+          ctest_timeout=60
           preset_postfix=""
           if [ "$BUILD_CTEST_LARGE" = true ]; then
             ctest_timeout=90
diff --git a/scripts/ci/jobs/build-linux.yml b/scripts/ci/jobs/build-linux.yml
index d4af26b8e28291f0930481c6ffb776d9c303b573..86eb88dbe7aed678d73dc41e05095935bd88cc85 100644
--- a/scripts/ci/jobs/build-linux.yml
+++ b/scripts/ci/jobs/build-linux.yml
@@ -72,6 +72,28 @@ build linux arch:
       -DOGS_USE_POETRY=OFF
       -DOGS_TEST_NOTEBOOKS=OFF
 
+build linux debug with sanitizers:
+  extends:
+    - .template-build-linux
+    - .test-artifacts
+  tags: [envinf2-shell]
+  needs: [meta]
+  variables:
+    BUILD_PACKAGE: "false"
+    CMAKE_PRESET: debug
+    CMAKE_ARGS: >-
+      -DCMAKE_C_COMPILER=/usr/bin/clang
+      -DCMAKE_CXX_COMPILER=/usr/bin/clang++
+      -DBUILD_SHARED_LIBS=ON
+      -DOGS_USE_POETRY=OFF
+      -DOGS_COMPILE_FLAGS=-O3;-fno-var-tracking
+      -DOGS_EIGEN_DYNAMIC_SHAPE_MATRICES=OFF
+      -DOGS_ADDRESS_SANITIZER=ON
+      -DOGS_UNDEFINED_BEHAVIOR_SANITIZER=ON
+      -DOGS_CTEST_MAX_RUNTIME=5
+    UBSAN_OPTIONS: "print_stacktrace=1"
+    LSAN_OPTIONS: "suppressions=$CI_PROJECT_DIR/scripts/test/leak_sanitizer.suppressions"
+
 build linux ubuntu:
   extends:
     - .template-build-linux
diff --git a/scripts/cmake/CompilerSetup.cmake b/scripts/cmake/CompilerSetup.cmake
index 6ba030fc59041f07cfb5d6d51866cc9893554ba5..3f4ba885efdd0b5b480421d0b3629a4b1812216d 100644
--- a/scripts/cmake/CompilerSetup.cmake
+++ b/scripts/cmake/CompilerSetup.cmake
@@ -13,7 +13,9 @@ endif()
 if(${CMAKE_CXX_COMPILER_ID} MATCHES "AppleClang")
     set(COMPILER_IS_APPLE_CLANG TRUE CACHE BOOL "")
     set(COMPILER_IS_CLANG TRUE CACHE BOOL "")
-elseif((${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") OR (${CMAKE_CXX_COMPILER_ID} MATCHES "IntelLLVM"))
+elseif((${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") OR (${CMAKE_CXX_COMPILER_ID}
+                                                      MATCHES "IntelLLVM")
+)
     set(COMPILER_IS_CLANG TRUE CACHE BOOL "")
 elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
     set(COMPILER_IS_GCC TRUE CACHE BOOL "")
@@ -29,14 +31,6 @@ endif()
 
 # GNU-like compiler
 if(COMPILER_IS_GCC OR COMPILER_IS_CLANG OR COMPILER_IS_INTEL)
-    if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND NOT STL_NO_DEBUG)
-        # Enable assertions in STL in debug mode.
-        add_compile_options(
-            -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_ASSERT -D_GLIBCXX_DEBUG_PEDASSERT
-            -D_GLIBCXX_DEBUG_VERIFY
-        )
-    endif()
-
     # Coloring output
     option(FORCE_COLORED_OUTPUT
            "Always produce ANSI-colored output (GNU/Clang only)." ON
@@ -122,11 +116,10 @@ if(COMPILER_IS_GCC OR COMPILER_IS_CLANG OR COMPILER_IS_INTEL)
     endif()
 
     # Linker: prefer lld > gold > regular
-    foreach(_linker lld gold)
+    foreach(linker lld gold)
         execute_process(
-            COMMAND ${CMAKE_CXX_COMPILER} -fuse-ld=${_linker} -Wl,--version
-            ERROR_QUIET
-            OUTPUT_VARIABLE _linker_version
+            COMMAND ${CMAKE_CXX_COMPILER} -fuse-ld=${linker} -Wl,--version
+            ERROR_QUIET OUTPUT_VARIABLE _linker_version
         )
         if("${_linker_version}" MATCHES "LLD")
             add_link_options(-fuse-ld=lld)
diff --git a/scripts/test/leak_sanitizer.suppressions b/scripts/test/leak_sanitizer.suppressions
index 8b55138192c41d3c6ff7274908557e3f20f1a941..bc0c5aa0d4fa009bcf0474b244b9f36bb6958455 100644
--- a/scripts/test/leak_sanitizer.suppressions
+++ b/scripts/test/leak_sanitizer.suppressions
@@ -1,2 +1,4 @@
 leak:d_growable_string_callback_adapter
 leak:libpython
+leak:libtbb
+leak:libxml2