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".
…e CI does not like explicit 'common' dependency for 'physicsSolver' package)
@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?

@rrsettgast
Copy link
Member

@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?

This appears to be a GitHub runner??

@wrtobin
Copy link
Collaborator

wrtobin commented Oct 21, 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?

This appears to be a GitHub runner??

I managed to totally miss that, yeah. You have any idea where/whether the limitations on the github-hosted runners are specified/set?

@rrsettgast
Copy link
Member

@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?

This appears to be a GitHub runner??

I managed to totally miss that, yeah. You have any idea where/whether the limitations on the github-hosted runners are specified/set?

14 GB

@wrtobin
Copy link
Collaborator

wrtobin commented Oct 21, 2025

It is also seemingly only failing on the install, where we copy the libs/headers on the system, so the build isn't breaking the quota, just the copy. If we were fine without the make install invocation (say on just the debug builds which are necessarily much larger) we could bypass it that way?

@rrsettgast
Copy link
Member

@MelReyCG
perhaps don't run the install for debug builds.

@wrtobin
Copy link
Collaborator

wrtobin commented Oct 21, 2025

@herve-gross
Copy link
Contributor

@jhuang2601 can you review the solid portion of this PR (6 files)? @MelReyCG is stuck on this and would like to merge this PR soon.

@MelReyCG MelReyCG merged commit 889ea4e into develop Nov 4, 2025
23 of 24 checks passed
@MelReyCG MelReyCG deleted the feature/amandinehry/create-yaml-file-and-structure-2 branch November 4, 2025 16:23
GEOS_ERROR_IF( !hasWrapper( name ),
"Wrapper " << name << " doesn't exist in Group" << getDataContext() << '.' );
"Wrapper " << name << " doesn't exist in Group" << getDataContext() << '.',
getDataContext() );
Copy link
Collaborator

Choose a reason for hiding this comment

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

@MelReyCG getDataContext() appears twice?

Copy link
Contributor Author

@MelReyCG MelReyCG Nov 5, 2025

Choose a reason for hiding this comment

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

Don't worry you already made this feedback and we will address it, we will remove all these redondancies in a future PR soon :)

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.

10 participants