Skip to content

Conversation

MelReyCG
Copy link
Contributor

@MelReyCG MelReyCG commented Sep 23, 2025

This PR aims to provide a file that stores warnings and errors regarding input data that occur during the current execution.

To do this, I created a class called ErrorLogger that retrieves, formats, and sends the desired information to a YAML file.
I also have (in the Logger.hpp file) two macros for each of the following cases:

  • Warning
  • Error
  • Throw

For each of these cases, one of these macro allows to attach contextual information about the error/warning.
Each of the macros is based on the ErrorLogger class.

- type: Exception
    rank: 0
    message: >-
      compositionalMultiphaseWell (simpleCo2Inj_inc_erreurTable.xml, l.34): wrong surface pressure / temperature.
      Table input error for water phase (in table from "/path/to/randomExemple/pvtliquid_erreur.txt").
      /Functions(simpleCo2Inj_inc_erreurTable.xml,l.203)/fluid_phaseModel1_PhillipsBrineDensity_table:
      Requested pressure of 101325 [Pa] is out of the table bounds
      ( lower bound: pressure of 10000000 [Pa] -> upper bound: pressure of 75000000 [Pa] ).
    contexts:
      - dataPath: /Functions(simpleCo2Inj_inc_erreurTable.xml,l.203)/fluid_phaseModel1_PhillipsBrineDensity_table
        priority: 0
      - dataPath: /domain/MeshBodies/cartesianMesh/meshLevels/Level0/ElementRegions/elementRegionsGroup/
                  wellRegion(simpleCo2Inj_inc_erreurTable.xml,l.64)/elementSubRegions/wellRegionUniqueSubRegion/
                  ConstitutiveModels/fluid
        priority: 2
      - inputFile: /path/to/randomExemple/simpleCo2Inj_inc_erreurTable.xml
        inputLine: 34
        priority: 1
    sourceLocation:
      file: /path/to/GEOS/src/coreComponents/functions/TableFunction.cpp
      line: 191
    sourceCallStack:
      - frame0:  geos::constitutive::PVTProps::PhillipsBrineDensity::checkTablesParameters(double, double) const 
      - frame1:  geos::constitutive::CO2BrineFluid::checkTablesParameters(double, double) const 
      - frame2:  geos::CompositionalMultiphaseWell::validateWellControlsForFluid() const 
      - frame3:  geos::CompositionalMultiphaseWell::validateConstitutiveModels(geos::DomainPartition const&) const 
      - frame4:  geos::CompositionalMultiphaseWell::initializePostSubGroups() 
      - frame5:  geos::dataRepository::Group::initialize()
      []

This PR is a duplicate ( #3690 ) and has been created because it was not possible to run the CI on external branches for security reasons.
Code review has been started on the old PR.


Note that future PRs are planned for:

… link between GEOS_THROW_CTX_IF and LVARRAY_THROW_IF_TEST( EXP, MSG, TYPE )
… in try/catch statements

Problem: Retrieves everything that was thrown, so not just the message.
…y spaces.

The previous condition checked whether an argument was present and whether the option was immediately followed by a value like -test"value", which excluded valid cases like -test "value" et -test     "value".
@MelReyCG MelReyCG removed ci: run code coverage enables running of the code coverage CI jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI labels Oct 8, 2025
@MelReyCG MelReyCG added the ci: run integrated tests Allows to run the integrated tests in GEOS CI label Oct 10, 2025
@MelReyCG
Copy link
Contributor Author

This PR seems to be blocked because of lack of space for the Ubuntu debug CI target

-- Set non-toolchain portion of runtime path of "/opt/GEOS/GEOS-b124508/lib/libwavePropagationSolvers.so" to "/opt/GEOS/GEOS-b124508/lib:/opt/GEOS/GEOS_TPL-320-766-c9a8986/gcc-10/vtk-9.4.2-vqvxywyhmuq3l47o5o4a6rlolhvvlbtg/lib:/opt/GEOS/GEOS_TPL-320-766-c9a8986/gcc-10/caliper-git.287b7f3ad2d12f520aad04268d44f353cd05403c_2.12.0-vpteto4r76bzi6i4i4qdsucx667ehjau/lib:/usr/lib/x86_64-linux-gnu/openmpi/lib:/opt/GEOS/GEOS_TPL-320-766-c9a8986/gcc-10/suite-sparse-5.10.1-pjcexvgnnyljjis4mt7gzpjjxnshhwst/lib:/opt/GEOS/GEOS_TPL-320-766-c9a8986/gcc-10/superlu-dist-git.0f6efc377df2440c235452d13d28d2c717f832a1_6.3.0-git.8-kkfnl3zx64cudbkbcyyjgm2jp5rfcsdn/lib:/usr/lib/x86_64-linux-gnu/blas:/usr/lib/x86_64-linux-gnu/lapack:/opt/GEOS/GEOS_TPL-320-766-c9a8986/gcc-10/trilinos-16.1.0-fec6c7ojutdmnaukulm3nokmqripbhv4/lib"
-- Installing: /opt/GEOS/GEOS-b124508/lib/libmultiPhysicsSolvers.so
CMake Error at coreComponents/physicsSolvers/multiphysics/cmake_install.cmake:60 (file):
  file INSTALL cannot copy file
  "/tmp/geos-build/lib/libmultiPhysicsSolvers.so" to
  "/opt/GEOS/GEOS-b124508/lib/libmultiPhysicsSolvers.so": No space left on
  device.
Call Stack (most recent call first):
  coreComponents/physicsSolvers/cmake_install.cmake:108 (include)
  coreComponents/cmake_install.cmake:137 (include)
  cmake_install.cmake:62 (include)

Can someone help?

@wrtobin
Copy link
Collaborator

wrtobin commented Oct 16, 2025

@rrsettgast the ubuntu-debug build in the CI for this PR is running out of space for the install into /opt in the container.
does streak need cleanup, or do we need to increase the disk quota available to the containers to use? I would assume the latter offhand, but I'm not seeing any specification of disk quota in the TPL repo dockerfiles, is it a parameter on streak itself?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants