Skip to content

Conversation

@MialLewis
Copy link

@MialLewis MialLewis commented Oct 14, 2025

Issue number of the reported bug or feature request: #

Describe your changes
As per #233, I have added more detail to error message when file open has failed in several locations.

I have had to debug an issue in https://github.com/mantidproject/mantid where core dump analysis was failing due to many ERROR(process_core): Cannot open ELF file. The ultimate cause was the maximum number of open file descriptors in the process being exceeded. Having this error message initially would have made identifying the issue trivial.

Example old output: ERROR(process_core): Cannot open ELF file /lib/x86_64-linux-gnu/libpthread.so.0
New output: ERROR(process_core): Cannot open ELF file /lib/x86_64-linux-gnu/libpthread.so.0 (Too many open files)

Testing performed
Have run pystack core <core_dump_file> and observed new errors.

@MialLewis MialLewis marked this pull request as ready for review October 14, 2025 10:06
SilkeSchomann pushed a commit to mantidproject/mantid that referenced this pull request Oct 14, 2025
### Description of work

The recent problems with running `pystack` in the error reporter have
been traced back to the fact that `pystack` was trying to open more file
descriptors than the limit set on most linux systems. A pr into
`pystack` has been made to improve their error messages
(bloomberg/pystack#260).

When this is a problem, you get a lot of this kind of output
```
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../.././libMantidJson.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../.././libMantidJson.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../.././libMantidJson.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../.././libMantidJson.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidTypes.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidTypes.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidTypes.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidTypes.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidPythonInterfaceCore.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidPythonInterfaceCore.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidPythonInterfaceCore.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidPythonInterfaceCore.
```

The issue started after the first new instrument view pr went in (this
commit
8733e98#diff-4a6d6571d2c59705d8a673667672de2d7dcc3c756c61a3f0195acdefac52fe34).
We're not that sure why, but it could be the addition of new libraries
such as `pyvista`.

This pr raises the limit (equivalent to `ulimit -n <value>`) for the
outer mantid process, which may eventually launch the error reporter.

### To test:

Package to test is at `mamba install
jhaigh0/label/raise_open_files_limit::mantidworkbench`

It would be good to test on idaaas where the core dump location is
already set up.
Run Segfault and check that the pystack output has been captured in the
stacktrace field.
peterfpeterson pushed a commit to peterfpeterson/mantid that referenced this pull request Oct 14, 2025
…idproject#40108)

### Description of work

The recent problems with running `pystack` in the error reporter have
been traced back to the fact that `pystack` was trying to open more file
descriptors than the limit set on most linux systems. A pr into
`pystack` has been made to improve their error messages
(bloomberg/pystack#260).

When this is a problem, you get a lot of this kind of output
```
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../.././libMantidJson.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../.././libMantidJson.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../.././libMantidJson.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../.././libMantidJson.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidTypes.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidTypes.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidTypes.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidTypes.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidPythonInterfaceCore.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidPythonInterfaceCore.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidPythonInterfaceCore.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidPythonInterfaceCore.
```

The issue started after the first new instrument view pr went in (this
commit
mantidproject@8733e98#diff-4a6d6571d2c59705d8a673667672de2d7dcc3c756c61a3f0195acdefac52fe34).
We're not that sure why, but it could be the addition of new libraries
such as `pyvista`.

This pr raises the limit (equivalent to `ulimit -n <value>`) for the
outer mantid process, which may eventually launch the error reporter.

### To test:

Package to test is at `mamba install
jhaigh0/label/raise_open_files_limit::mantidworkbench`

It would be good to test on idaaas where the core dump location is
already set up.
Run Segfault and check that the pystack output has been captured in the
stacktrace field.
peterfpeterson pushed a commit to peterfpeterson/mantid that referenced this pull request Oct 15, 2025
…idproject#40108)

### Description of work

The recent problems with running `pystack` in the error reporter have
been traced back to the fact that `pystack` was trying to open more file
descriptors than the limit set on most linux systems. A pr into
`pystack` has been made to improve their error messages
(bloomberg/pystack#260).

When this is a problem, you get a lot of this kind of output
```
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../.././libMantidJson.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../.././libMantidJson.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../.././libMantidJson.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../.././libMantidJson.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidTypes.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidTypes.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidTypes.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidTypes.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidPythonInterfaceCore.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidPythonInterfaceCore.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidPythonInterfaceCore.so
ERROR(process_core): Cannot open ELF file /home/bya67386/mambaforge/envs/test_htlp_links/lib/python3.11/site-packages/mantid/kernel/../../../../libMantidPythonInterfaceCore.
```

The issue started after the first new instrument view pr went in (this
commit
mantidproject@8733e98#diff-4a6d6571d2c59705d8a673667672de2d7dcc3c756c61a3f0195acdefac52fe34).
We're not that sure why, but it could be the addition of new libraries
such as `pyvista`.

This pr raises the limit (equivalent to `ulimit -n <value>`) for the
outer mantid process, which may eventually launch the error reporter.

### To test:

Package to test is at `mamba install
jhaigh0/label/raise_open_files_limit::mantidworkbench`

It would be good to test on idaaas where the core dump location is
already set up.
Run Segfault and check that the pystack output has been captured in the
stacktrace field.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant