Skip to content

Conversation

@eflumerf
Copy link
Member

Description

This PR adds a script which runs the generate_modules_test executable on each application within each Session defined in example-configs.data.xml and example-hsi-configs.data.xml. This can be used as an early-warning test to detect issues with SmartDaqApplication module generation during development.

Type of change

  • Documentation (non-breaking change that adds or improves the documentation)
  • New feature or enhancement (non-breaking change which adds functionality)
  • Optimization (non-breaking change that improves code/performance)
  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (whatever its nature)

Testing checklist

  • Unit tests pass (e.g. dbt-build --unittest)
  • Minimal system quicktest passes (pytest -s minimal_system_quick_test.py)
  • Full set of integration tests pass (daqsystemtest_integtest_bundle.sh)
  • Python tests pass if applicable (e.g. python -m pytest)
  • Pre-commit hooks run successfully if applicable (e.g. pre-commit run --all-files)

N/A

Further checks

  • Code is commented where needed, particularly in hard-to-understand areas
  • Code style is correct (dbt-build --lint, and/or see https://dune-daq-sw.readthedocs.io/en/latest/packages/styleguide/)
  • If applicable, new tests have been added or an issue has been opened to tackle that in the future.
    (Indicate issue here: # (issue))

@eflumerf eflumerf requested a review from bieryAtFnal November 14, 2025 21:11
@eflumerf eflumerf self-assigned this Nov 14, 2025
@eflumerf eflumerf added the enhancement New feature or request label Nov 14, 2025
@bieryAtFnal
Copy link
Contributor

I'm not sure why this is happening, but when I try out the new script, I get the following error:

RuntimeError: Unable to open database off of "oksconflibs:config/daqsystemtest/example-hsi-configs.data.xml"; one reason is that it looks like "config/daqsystemtest/example-hsi-configs.data.xml" doesn't exist

That file does seem to be in my software area.

The full stack trace is the following:

Checking config/daqsystemtest/example-hsi-configs.data.xml Sessions and Applications
Traceback (most recent call last):
  File "/cvmfs/dunedaq-development.opensciencegrid.org/nightly/NB_DEV_251201_A9/spack-0.22.0/opt/spack/linux-almalinux9-x86_64/gcc-13.2.0/conffwk-NB_DEV_251201_A9-trh3nongd5ksmaouhovjgw2ce7435r4j/lib64/python/conffwk/Configuration.py", line 64, in __init__
    super(Configuration, self).__init__(connection)
  File "/cvmfs/dunedaq-development.opensciencegrid.org/nightly/NB_DEV_251201_A9/spack-0.22.0/opt/spack/linux-almalinux9-x86_64/gcc-13.2.0/conffwk-NB_DEV_251201_A9-trh3nongd5ksmaouhovjgw2ce7435r4j/lib64/python/conffwk/proxy.py", line 89, in initfun
    obj = memberclass(*args, **kwds)
RuntimeError: oksconflibs initialization error

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/cvmfs/dunedaq-development.opensciencegrid.org/nightly/NB_DEV_251201_A9/spack-0.22.0/opt/spack/linux-almalinux9-x86_64/gcc-13.2.0/daqconf-NB_DEV_251201_A9-plie3wpojvvoe2kgrfa3pkzfpqrual2i/bin/get_apps", line 14, in <module>
    get_apps()
  File "/cvmfs/dunedaq.opensciencegrid.org/spack/externals/ext-v2.2/spack-0.22.0/opt/spack/linux-almalinux9-x86_64/gcc-13.2.0/py-click-8.1.7-qrz47ivzvbztfx5yzm5yywphkizrvqfg/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/cvmfs/dunedaq.opensciencegrid.org/spack/externals/ext-v2.2/spack-0.22.0/opt/spack/linux-almalinux9-x86_64/gcc-13.2.0/py-click-8.1.7-qrz47ivzvbztfx5yzm5yywphkizrvqfg/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/cvmfs/dunedaq.opensciencegrid.org/spack/externals/ext-v2.2/spack-0.22.0/opt/spack/linux-almalinux9-x86_64/gcc-13.2.0/py-click-8.1.7-qrz47ivzvbztfx5yzm5yywphkizrvqfg/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/cvmfs/dunedaq.opensciencegrid.org/spack/externals/ext-v2.2/spack-0.22.0/opt/spack/linux-almalinux9-x86_64/gcc-13.2.0/py-click-8.1.7-qrz47ivzvbztfx5yzm5yywphkizrvqfg/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/cvmfs/dunedaq-development.opensciencegrid.org/nightly/NB_DEV_251201_A9/spack-0.22.0/opt/spack/linux-almalinux9-x86_64/gcc-13.2.0/daqconf-NB_DEV_251201_A9-plie3wpojvvoe2kgrfa3pkzfpqrual2i/bin/get_apps", line 8, in get_apps
    appinfo = get_database_apps(oksfile)  
  File "/cvmfs/dunedaq-development.opensciencegrid.org/nightly/NB_DEV_251201_A9/spack-0.22.0/opt/spack/linux-almalinux9-x86_64/gcc-13.2.0/daqconf-NB_DEV_251201_A9-plie3wpojvvoe2kgrfa3pkzfpqrual2i/lib64/python/daqconf/get_session_apps.py", line 44, in get_database_apps
    session_db = conffwk.Configuration("oksconflibs:" + oksfile)
  File "/cvmfs/dunedaq-development.opensciencegrid.org/nightly/NB_DEV_251201_A9/spack-0.22.0/opt/spack/linux-almalinux9-x86_64/gcc-13.2.0/conffwk-NB_DEV_251201_A9-trh3nongd5ksmaouhovjgw2ce7435r4j/lib64/python/conffwk/Configuration.py", line 75, in __init__
    raise RuntimeError(f"{preamble}; one reason is that it looks like \"{dbfilename}\" doesn't exist")
RuntimeError: Unable to open database off of "oksconflibs:config/daqsystemtest/example-hsi-configs.data.xml"; one reason is that it looks like "config/daqsystemtest/example-hsi-configs.data.xml" doesn't exist

Is there something that I need to do differently than simply running check_daqsystemtest_applications.sh?

@eflumerf
Copy link
Member Author

eflumerf commented Dec 1, 2025

I was getting this error when there was a syntax error in the XML file. Does oks_dump -f config/daqsystemtest/example-hsi-configs.data.xml give any useful info?

@bieryAtFnal
Copy link
Contributor

If I add the hsilibs repo to my software area (and rebuild and re-run env.sh), the problem goes away. That seems to indicate a problem with something unrelated to this new script, but I'm surprised that this new script didn't report the problem (more than a stack trace).

And, who should we ping about the problem that we see when hsilibs is not part of our software area?

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants