Skip to content

Conversation

0x0f0f0f
Copy link

@0x0f0f0f 0x0f0f0f commented Oct 31, 2021

NOTE: Symbolics 4.0.0 has not yet been released.

@0x0f0f0f
Copy link
Author

Tests are all green locally with latest commit from JuliaSymbolics/Symbolics.jl#421
Will notify here when Symbolics.jl 4.0.0 gets registered.

@0x0f0f0f
Copy link
Author

0x0f0f0f commented Nov 2, 2021

That segfault in StructuralIdentifiability.jl looks like something I'm not able to fix myself, I'll need some help. @shashi @ChrisRackauckas

@ChrisRackauckas
Copy link
Member

Can you isolate the issue a bit?

@0x0f0f0f
Copy link
Author

0x0f0f0f commented Nov 2, 2021

Can you isolate the issue a bit?

Testing locally.

@0x0f0f0f
Copy link
Author

0x0f0f0f commented Nov 2, 2021

Can you isolate the issue a bit?

Cannot replicate on my machine.
StructuralIdentifiability.jl tests pass locally on my machine using this commit of MTK, latest MTK tag and StructuralIdentifiability.jl on latest master branch. Seems like the issue is due to libgmp in CI container.

 signal (11): Segmentation fault
in expression starting at /home/runner/work/ModelingToolkit.jl/ModelingToolkit.jl/downstream/test/identifiability.jl:1
__gmpn_addmul_1_coreisbr at /opt/hostedtoolcache/julia/1.6.3/x64/bin/../lib/julia/libgmp.so (unknown line)
Allocations: 196265728 (Pool: 196227157; Big: 38571); GC: 102
ERROR: LoadError: Package StructuralIdentifiability errored during testing (received signal: 11)

https://github.com/SciML/ModelingToolkit.jl/runs/4073261736?check_suite_focus=true

@ChrisRackauckas
Copy link
Member

What's the function call that causes a segfault?

@0x0f0f0f
Copy link
Author

0x0f0f0f commented Nov 2, 2021

What's the function call that causes a segfault?

Doesn't show in the logs, only shows Pkg testing errors. Cannot find out since I cannot replicate locally
https://github.com/SciML/ModelingToolkit.jl/runs/4073261736?check_suite_focus=true#step:6:653

Only reports function __gmpn_addmul_1_coreisbr from libgmp

@ChrisRackauckas
Copy link
Member

What is the thing right before it in the tests, and after?

@0x0f0f0f
Copy link
Author

0x0f0f0f commented Nov 2, 2021

What is the thing right before it in the tests, and after?

Right before:

[ Info: Assessing global identifiability using the coefficients of the io-equations

Third time that this line appears in the log. There's nothing after.

@ChrisRackauckas
Copy link
Member

No, what piece of code is ran that generates the segfault?

@0x0f0f0f
Copy link
Author

0x0f0f0f commented Nov 2, 2021

What is the thing right before it in the tests, and after?

Judging from where the logs stop, the segfault should be happening here
https://github.com/SciML/StructuralIdentifiability.jl/blob/5dade8f547b3c68d527c7e67197f49a17bfa1948/src/global_identifiability.jl#L224-L225

@ChrisRackauckas
Copy link
Member

Isolate that to an MWE. I think it must be due to the conversion of the IR.

@0x0f0f0f
Copy link
Author

0x0f0f0f commented Nov 2, 2021

Isolate that to an MWE. I think it must be due to the conversion of the IR.

Any suggestions on how to proceed knowing that the issue does not subsist on my local dev environment? I'll try replicating the downstream test in a docker container with https://github.com/nektos/act

@ChrisRackauckas
Copy link
Member

So when you run the tests it works?

@0x0f0f0f
Copy link
Author

0x0f0f0f commented Nov 2, 2021

So when you run the tests it works?

Yes. Running on void linux. Using glibc. gmp v6.2.1_1 and gmpxx v6.2.1_1. Julia v1.6.1.

@ChrisRackauckas
Copy link
Member

Newer Julia? v1.6.3 is what the tests will use. Double check if the dependencies in the Symbolics stack are all similar.

@0x0f0f0f
Copy link
Author

0x0f0f0f commented Nov 2, 2021

@ChrisRackauckas passes locally on v1.6.3. Testing github action in docker container

@0x0f0f0f
Copy link
Author

0x0f0f0f commented Nov 2, 2021

Passes locally when running the github action in a docker container!!! Can you try retriggering the workflow?

@0x0f0f0f
Copy link
Author

0x0f0f0f commented Nov 2, 2021

Dependency version differences from the Github CI and the GH action test in docker container on my local machine are:
ArrayInterface v3.1.38 => v3.1.39
Parsers v2.1.1 => Parsers v2.1.2
VectorizationBase v0.21.19 => v0.21.21

@0x0f0f0f
Copy link
Author

0x0f0f0f commented Nov 2, 2021

Dependency version differences from the Github CI and the GH action test in docker container on my local machine are: ArrayInterface v3.1.38 => v3.1.39 Parsers v2.1.1 => Parsers v2.1.2 VectorizationBase v0.21.19 => v0.21.21

Test passed. probably related to one of those packages. Should bump compat? @ChrisRackauckas

@ChrisRackauckas
Copy link
Member

Yeah bump the lower bound to avoid the issue.

@0x0f0f0f
Copy link
Author

0x0f0f0f commented Nov 2, 2021

lgtm? @ChrisRackauckas

@ChrisRackauckas ChrisRackauckas merged commit f0fcea2 into SciML:master Nov 2, 2021
@shashi
Copy link
Collaborator

shashi commented Nov 3, 2021

We should make a breaking release of MTK after this, so that further downstream updates can be more cautious.

@0x0f0f0f 0x0f0f0f mentioned this pull request Nov 3, 2021
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.

3 participants