Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trying to fix CI see issue #2455 #2456

Merged
merged 4 commits into from
Jun 7, 2023
Merged

Trying to fix CI see issue #2455 #2456

merged 4 commits into from
Jun 7, 2023

Conversation

rwest
Copy link
Member

@rwest rwest commented Jun 5, 2023

Trying to debug #2455.

We were getting errors in the CI runs like

ERROR: Unable to dlopen(cxxpath) in parent!
Message: /usr/share/miniconda3/envs/rmg_env/lib/python3.7/site-packages/rdkit/../../../libstdc++.so.6nts a live Julia runtime.
: cannot open shared object file: File name too long

It's hard to debug without a pull request, so here's a pull request.

Feel free to push or force-push to this cifix branch to test out ideas - I don't feel I "own" this PR.

@rwest
Copy link
Member Author

rwest commented Jun 5, 2023

Noting Jackson's comment out trying libdtscxx-ng<13
Confirming last CI run to succeed might have been this one which indeed has
libstdcxx-ng 12.2.0 h46fd767_19 conda-forge
and one of the first to fail is this which has
libstdcxx-ng 13.1.0 hfd8a6a1_0 conda-forge

@rwest
Copy link
Member Author

rwest commented Jun 5, 2023

This job running on Ubuntu 20.04.6 just crashed with the same error.

It had
libstdcxx-ng 13.1.0 hfd8a6a1_0 conda-forge

@rwest
Copy link
Member Author

rwest commented Jun 5, 2023

Specifying libstdcxx-ng causes the Mac runner to fail (which then cancels the other jobs). I'm AFK for a while now. Fee free to take over 😁

@JacksonBurns
Copy link
Contributor

Ah, so that package is only named that way for ubuntu. I'm going to restart just the ubuntu runner to see if it will fix things (the docs build passed, so I think it will) and then go from there.

I think we might be able to fix this by setting the version for gcc.

@rwest
Copy link
Member Author

rwest commented Jun 6, 2023

The test run with libstdcxx-ng 12.3.0 h0f45ef3_0 conda-forge did not crash.

Instead it failed one unit test with

======================================================================
FAIL: Test the HinderedRotor.get_enthalpy() method using a Fourier series
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/statmech/torsionTest.py", line 292, in test_get_enthalpy_quantum_fourier
    self.assertAlmostEqual(h_exp, h_act, delta=1e-3 * h_exp)
AssertionError: 1367.5252765416 != 1368.9776611328125 within 1.3675252765416002 delta (1.4523845912124216 difference)

which is a little surprising, but not related.

@rwest
Copy link
Member Author

rwest commented Jun 6, 2023

This run that we tested with
libstdcxx-ng 12.3.0 h0f45ef3_0 conda-forge
that did not crash had
julia 1.9.0 hfacc78c_0 conda-forge
as did this run from before the whole thing blew up.

But this broken run also had the same build of julia:
julia 1.9.0 hfacc78c_0 conda-forge

So it's not conda-forge's julia 1.9.0 per se that's the problem, but its combination with
libstdcxx-ng 13.1.0 hfd8a6a1_0 conda-forge
?

Maybe soon they'll rebuild Julia with the newer g++ and it'll all work again.
I thought the whole point of conda-forge was it's internally self-consistent.

@rwest
Copy link
Member Author

rwest commented Jun 6, 2023

No dice. 🎲

I had just finished rebasing and writing nice commit messages for this, assuming you were right about the julia thing, but it seems we're not.

The job that just ran had

libstdcxx-ng              13.1.0               hfd8a6a1_0    conda-forge
julia                     1.8.5                h783901f_0    conda-forge

and crashed again with

ERROR: Unable to dlopen(cxxpath) in parent!
Message: /usr/share/miniconda3/envs/rmg_env/lib/python3.7/site-packages/rdkit/../../../libstdc++.so.6nts a live Julia runtime.
: cannot open shared object file: File name too long

So back to the theory that the problem is libstdcxx-ng 13.1.0 and not julia 1.9.0?
(or perhaps, if they rebuild julia with the new g++ it wouldn't matter which julia they built).

@JacksonBurns
Copy link
Contributor

The issue is definitely the interplay of Julia and libstdcxx-ng v13.1 - I have now tried specifying a different c++ library that is available on both platforms.

I do still blame this on the Julia builds though. The devs at gcc have my vote.

@JacksonBurns
Copy link
Contributor

JacksonBurns commented Jun 6, 2023

c2232df did resolve libcxx on the ubuntu runner, but it also still downloaded the libstdcxx-ng package, see job log.

@rwest
Copy link
Member Author

rwest commented Jun 6, 2023

We could (temporarily) have different environment files for mac and linux, like we did from 2016 through 2019.

I can't find a way to specify different dependencies for the different platforms otherwise.

(Hopefully this is only until conda-forge rebuild binaries with the newer C++ library.)

@JacksonBurns
Copy link
Contributor

We could (temporarily) have different environment files for mac and linux, like we did from 2016 through 2019.

I'm not keen to introduce more things to maintain and would prefer to keep chipping away at this to see if we can use libstdcxx on all platforms, or something similar.

I can't find a way to specify different dependencies for the different platforms otherwise.

Unforuantely not possible, though feature was requested years ago.

(Hopefully this is only until conda-forge rebuild binaries with the newer C++ library.)

🤞

@rwest
Copy link
Member Author

rwest commented Jun 6, 2023

Unforuantely not possible, though feature was requested years ago.

Preprocessing selectors like # [linux] are available in a conda-build meta.yml
https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#preprocessing-selectors
So annoying not in an environment specification yaml.
Discussion conda/conda#8089 and https://stackoverflow.com/questions/32869042/is-there-a-way-to-have-platform-specific-dependencies-in-environment-yml

One option would be to make a metapackage, push it to the rmg conda channel, and require that.
https://docs.conda.io/projects/conda-build/en/latest/resources/commands/conda-metapackage.html

But that may be more effort than maintaining two environment.yml files

environment.yml Outdated
@@ -93,10 +92,6 @@ dependencies:
# Our build of this is version 0.0.1 (!!) and we are using parts
# of the API that are now gone. Need a serious PR to fix this.

- rmg::rdkit >=2020.03.3.0
Copy link
Member Author

Choose a reason for hiding this comment

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

Ooh, if we can switch RDKit to conda-forge that'd be great. And that being the problem would totally not surprise me. Brings back some PTSD from before conda...

Copy link
Contributor

Choose a reason for hiding this comment

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

image

@rwest
Copy link
Member Author

rwest commented Jun 6, 2023

Ooh, the conda-forge version of RDKit it found is a bit long in the tooth...
rdkit 2019.09.3 py37hb31dc5d_0 conda-forge
but the conda-forge channel at https://anaconda.org/conda-forge/rdkit has v2023.03.1 for most platforms and architectures.
I wonder what the incompatibilities are that are holding it back to 2019.

update:
Looking at https://anaconda.org/conda-forge/rdkit/files it seems they only built it for Python 3.11, 3.10, 3.9, and 3.8. Yet another reason for us to leave behind 3.7!

@JacksonBurns
Copy link
Contributor

Ooh, the conda-forge version of RDKit it found is a bit long in the tooth... rdkit 2019.09.3 py37hb31dc5d_0 conda-forge but the conda-forge channel at https://anaconda.org/conda-forge/rdkit has v2023.03.1 for most platforms and architectures. I wonder what the incompatibilities are that are holding it back to 2019.

update: Looking at https://anaconda.org/conda-forge/rdkit/files it seems they only built it for Python 3.11, 3.10, 3.9, and 3.8. Yet another reason for us to leave behind 3.7!

Thanks for finding that, I just mentioned this in the big issue (#2445) seems like this will need to be included.

@JacksonBurns
Copy link
Contributor

I'm out of ideas again - the docs build and the testing are now failing for slightly different reasons (different packages complaining).

rwest added a commit that referenced this pull request Jun 6, 2023
In the context of CI runner we patch the environment file
and for developers, we update the installation instructions.

See #2456
for extensive discussion.
rwest added 2 commits June 6, 2023 14:19
This is a combination of 12 commits, as we tried everything under the sun to debug the CI.
But they all cancelled out when merged (apart from fixing a typo in a comment)

- This is the 1st commit message:
CI: trying to force ubuntu-20.04 instead of ubuntu-latest (temporary)
While we figure out what's happening, let's try an older ubuntu.
- This is commit message #2:
fixup! CI: trying to force ubuntu-20.04 instead of ubuntu-latest (temporary)
- This is the commit message #3:
Switch back to ubuntu-latest
But leave a 20.04 in the matrix build
- This is the commit message #4:
Trying libstdcxx-ng < 13 in Conda environment.
Trying to debug. If this works it should be put in docker file too.
Or, better, the real cause found and fixed.
- This is the commit message #5:
fix typo in env, undo ubuntu os changes, set gcc version in CI to 6
this system object of this version is being provided by gcc, and the
runners no longer come prepackaged with it since its old (?)
- This is the commit message #6:
it wasn't the gcc version
- This is the commit message #7:
it was the julia version, 1.9.0 is brokey
as reported at conda-forge/julia-feedstock#253
the latest release of julia (1.9.0) is brokey, don't use it (put !=1.9.0 in the environment file)
- This is the commit message #8:
make mac and ubuntu use the same cxx library
- This is the commit message #9:
but what if it was rdkit all along?
- This is the commit message #10:
Revert "but what if it was rdkit all along?" because it wasn't
- This is the commit message #11:
Revert "make mac and ubuntu use the same cxx library" cos it didn't work
- This is the commit message #12:
Revert "it was the julia version, 1.9.0 is brokey" but it wasn't
In the context of CI runner we patch the environment file
and for developers, we update the installation instructions.

See #2456
for extensive discussion.
@rwest rwest force-pushed the cifix branch 2 times, most recently from 80190ff to 4430204 Compare June 6, 2023 18:37
@rwest
Copy link
Member Author

rwest commented Jun 6, 2023

This is nearly ready. Just need to make the matrix build that tests the v13 libraries not cancel all the other jobs when it fails!

rwest added 2 commits June 6, 2023 19:57
For now we will only require v12 to pass, but it'd be nice 
to know when v13 starts to work again. (fingers crossed).

Once it is passing, we can remove the patching that is done in 
the commits just prior to this one.
Though I still think a git log is better, if we have this 
we should maintain it.
@rwest rwest marked this pull request as ready for review June 7, 2023 00:02
@rwest
Copy link
Member Author

rwest commented Jun 7, 2023

I've set up the branch protection rules to require build-documentation and build-and-test-unix (ubuntu-latest, 12) and made it so if build-and-test-unix (ubuntu-latest, 13) fails then the jobs are not killed. This way we can keep an eye on the v13 and see if it starts working again at some point.

This PR should get the tests to run, and then be merged. To get them to pass (which will also confirm this PR is functioning) see #2457

Copy link
Contributor

@JacksonBurns JacksonBurns left a comment

Choose a reason for hiding this comment

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

Good patch solution for the time being. LGTM

@rwest rwest merged commit 211f034 into main Jun 7, 2023
@rwest rwest deleted the cifix branch June 7, 2023 01:09
@rwest
Copy link
Member Author

rwest commented Jun 7, 2023

Someone probably needs to do this, or something like it, to the Dockerfile?

@JacksonBurns
Copy link
Contributor

Someone probably needs to do this, or something like it, to the Dockerfile?

The docker build itself from the last merge into main was successful, see the job log, but I just pulled the nightly image as well, and got this monstrosity:

Gigantic Stacktrace
(rmg_env) root@919dd349fbcb:/rmg/RMG-Py# python-jl rmg.py examples/rmg/rms_constant_V/input.py 
Invalid instruction at 0x7f816c898e98: 0x62, 0xf1, 0x7d, 0x08, 0x76, 0xc1, 0xc5, 0xf8, 0x44, 0xc0, 0xc5, 0xfb, 0x93, 0xc0, 0xa8

[15] signal (4.2): Illegal instruction
in expression starting at none:1
__init__ at /miniconda/envs/rmg_env/share/julia/packages/LLVM/HykgZ/src/LLVM.jl:95
jfptr___init___1047 at /miniconda/envs/rmg_env/share/julia/compiled/v1.9/LLVM/e8NBy_Hd5qF.so (unknown line)
jl_apply at /usr/local/src/conda/julia-1.9.0/src/julia.h:1879 [inlined]
jl_module_run_initializer at /usr/local/src/conda/julia-1.9.0/src/toplevel.c:75
ijl_init_restored_modules at /usr/local/src/conda/julia-1.9.0/src/module.c:982
register_restored_modules at ./loading.jl:1074
_include_from_serialized at ./loading.jl:1020
_tryrequire_from_serialized at ./loading.jl:1356
_require_search_from_serialized at ./loading.jl:1459
_require at ./loading.jl:1748
_require_prelocked at ./loading.jl:1625
unknown function (ip: 0x7f81a1e059b6)
macro expansion at ./loading.jl:1613 [inlined]
macro expansion at ./lock.jl:267 [inlined]
require at ./loading.jl:1576
unknown function (ip: 0x7f81a1e029d6)
jl_apply at /usr/local/src/conda/julia-1.9.0/src/julia.h:1879 [inlined]
call_require at /usr/local/src/conda/julia-1.9.0/src/toplevel.c:466 [inlined]
eval_import_path at /usr/local/src/conda/julia-1.9.0/src/toplevel.c:503
jl_toplevel_eval_flex at /usr/local/src/conda/julia-1.9.0/src/toplevel.c:784
jl_toplevel_eval_flex at /usr/local/src/conda/julia-1.9.0/src/toplevel.c:856
ijl_toplevel_eval_in at /usr/local/src/conda/julia-1.9.0/src/toplevel.c:971
ijl_eval_string at /usr/local/src/conda/julia-1.9.0/src/jlapi.c:113
ffi_call_unix64 at /miniconda/envs/rmg_env/lib/python3.7/lib-dynload/../../libffi.so.8 (unknown line)
ffi_call_int at /miniconda/envs/rmg_env/lib/python3.7/lib-dynload/../../libffi.so.8 (unknown line)
ffi_call at /miniconda/envs/rmg_env/lib/python3.7/lib-dynload/../../libffi.so.8 (unknown line)
warning: unknown data in line table prologue at offset 0x0000d950: parsing ended (at offset 0x0000db71) before reaching the prologue end at offset 0x0000e0da
_call_function_pointer at /usr/local/src/conda/python-3.7.12/Modules/_ctypes/callproc.c:816 [inlined]
_ctypes_callproc at /usr/local/src/conda/python-3.7.12/Modules/_ctypes/callproc.c:1188
warning: unknown data in line table prologue at offset 0x0000ca57: parsing ended (at offset 0x0000cc78) before reaching the prologue end at offset 0x0000d1c6
PyCFuncPtr_call at /usr/local/src/conda/python-3.7.12/Modules/_ctypes/_ctypes.c:4025
_PyObject_FastCallKeywords at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
object_vacall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyObject_CallMethodIdObjArgs at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyImport_ImportModuleLevelObject at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
builtin___import__ at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyCFunction_Call at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallKeywords at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
object_vacall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyObject_CallMethodIdObjArgs at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyImport_ImportModuleLevelObject at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyEval_EvalCodeEx at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyEval_EvalCode at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
builtin_exec at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyMethodDef_RawFastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyCFunction_FastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallKeywords at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
object_vacall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyObject_CallMethodIdObjArgs at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyImport_ImportModuleLevelObject at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
builtin___import__ at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyCFunction_Call at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallKeywords at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
object_vacall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyObject_CallMethodIdObjArgs at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyImport_ImportModuleLevelObject at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyEval_EvalCodeEx at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyEval_EvalCode at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
builtin_exec at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyMethodDef_RawFastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyCFunction_FastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallKeywords at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
object_vacall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyObject_CallMethodIdObjArgs at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyImport_ImportModuleLevelObject at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyEval_EvalCodeEx at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyEval_EvalCode at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
builtin_exec at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyMethodDef_RawFastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyCFunction_FastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallKeywords at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
object_vacall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyObject_CallMethodIdObjArgs at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyImport_ImportModuleLevelObject at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyEval_EvalCodeEx at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyEval_EvalCode at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
builtin_exec at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyMethodDef_RawFastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyCFunction_FastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallKeywords at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
object_vacall at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyObject_CallMethodIdObjArgs at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyImport_ImportModuleLevelObject at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyEval_EvalCodeEx at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
PyEval_EvalCode at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
builtin_exec at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyMethodDef_RawFastCallKeywords at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyCFunction_FastCallKeywords at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallKeywords at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallKeywords at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallKeywords at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.0 at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /miniconda/envs/rmg_env/lib/libpython3.7m.so.1.0 (unknown line)
macro expansion at /miniconda/envs/rmg_env/share/julia/packages/PyCall/twYvK/src/exception.jl:108 [inlined]
#107 at /miniconda/envs/rmg_env/share/julia/packages/PyCall/twYvK/src/pyfncall.jl:43 [inlined]
disable_sigint at ./c.jl:473 [inlined]
__pycall! at /miniconda/envs/rmg_env/share/julia/packages/PyCall/twYvK/src/pyfncall.jl:42 [inlined]
_pycall! at /miniconda/envs/rmg_env/share/julia/packages/PyCall/twYvK/src/pyfncall.jl:29
_pycall! at /miniconda/envs/rmg_env/share/julia/packages/PyCall/twYvK/src/pyfncall.jl:11 [inlined]
#_#114 at /miniconda/envs/rmg_env/share/julia/packages/PyCall/twYvK/src/pyfncall.jl:86 [inlined]
PyObject at /miniconda/envs/rmg_env/share/julia/packages/PyCall/twYvK/src/pyfncall.jl:86
jfptr_PyObject_2821 at /miniconda/envs/rmg_env/share/julia/compiled/v1.9/PyCall/GkzkC_Hd5qF.so (unknown line)
jl_apply at /usr/local/src/conda/julia-1.9.0/src/julia.h:1879 [inlined]
do_call at /usr/local/src/conda/julia-1.9.0/src/interpreter.c:126
eval_value at /usr/local/src/conda/julia-1.9.0/src/interpreter.c:226
eval_stmt_value at /usr/local/src/conda/julia-1.9.0/src/interpreter.c:177 [inlined]
eval_body at /usr/local/src/conda/julia-1.9.0/src/interpreter.c:606
jl_interpret_toplevel_thunk at /usr/local/src/conda/julia-1.9.0/src/interpreter.c:762
jl_toplevel_eval_flex at /usr/local/src/conda/julia-1.9.0/src/toplevel.c:912
jl_toplevel_eval_flex at /usr/local/src/conda/julia-1.9.0/src/toplevel.c:856
ijl_toplevel_eval_in at /usr/local/src/conda/julia-1.9.0/src/toplevel.c:971
eval at ./boot.jl:370 [inlined]
exec_options at ./client.jl:280
_start at ./client.jl:522
jfptr__start_51181.clone_1 at /miniconda/envs/rmg_env/lib/julia/sys.so (unknown line)
jl_apply at /usr/local/src/conda/julia-1.9.0/src/julia.h:1879 [inlined]
true_main at /usr/local/src/conda/julia-1.9.0/src/jlapi.c:573
jl_repl_entrypoint at /usr/local/src/conda/julia-1.9.0/src/jlapi.c:717
main at julia (unknown line)
unknown function (ip: 0x7f81dc22cd8f)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x558ae4550098)
Allocations: 14831109 (Pool: 14826796; Big: 4313); GC: 21
Illegal instruction

I will add the libstdcxx-ng<13 patch step now.

@rwest
Copy link
Member Author

rwest commented Jun 7, 2023

The docker build itself from the last merge into main was successful, see the job log, but I just pulled the nightly image as well, and got this monstrosity

Probably the docker build script should test more than just "-h" to be sure RMG actually runs before we push broken builds. Maybe at least a super minimal job.

@JacksonBurns
Copy link
Contributor

The docker build itself from the last merge into main was successful, see the job log, but I just pulled the nightly image as well, and got this monstrosity

Probably the docker build script should test more than just "-h" to be sure RMG actually runs before we push broken builds. Maybe at least a super minimal job.

The theory was that if the tests pass, nothing in the docker build should go wrong (and --help is just there to trigger precompilation). Now that the patch is in for libstdcxx-ng<13 that should be the case again.

@rwest rwest mentioned this pull request Jun 7, 2023
JacksonBurns added a commit to JacksonBurns/RMG-Py that referenced this pull request Jun 15, 2023
…cxx-ng patches)

a new version of Julia has been released that fixes the issue we were facing, so these changes are no longer needed (see issue ReactionMechanismGenerator#2455 and PR ReactionMechanismGenerator#2456)
rwest added a commit that referenced this pull request Jun 15, 2023
…file

We had been patching the environment file to force a libstdcxx-ng version <13 
(see issue #2455 and PR #2456).
Since then a new version of Julia has been released that fixes the issue we were facing, 
so these changes are no longer needed.  
Also adds version Julia (1.9.0) to the "do not allow" list for the environment file. 
We could probably find a way to specifically disallow the problematic build instead, but this is easier.
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.

2 participants