oscar-system / Oscar.jl

A comprehensive open source computer algebra system for computations in algebra, geometry, and number theory.
https://www.oscar-system.org
Other
343 stars 126 forks source link

Error in test/AlgebraicGeometry/Schemes/MorphismFromRationalFunctions.jl:26 #3947

Closed thofma closed 1 month ago

thofma commented 3 months ago

Observed in https://github.com/oscar-system/Oscar.jl/actions/runs/9961739494/job/27523949728?pr=3942#step:9:819. Here is the stacktrace in case it goes missing:

Stacktrace ``` The standard Cremona transformation: Error During Test at /home/runner/work/Oscar.jl/Oscar.jl/test/AlgebraicGeometry/Schemes/MorphismFromRationalFunctions.jl:26 Got exception outside of a @test ArgumentError: parent mismatch Stacktrace: [1] macro expansion @ ~/.julia/packages/Hecke/gMNzj/src/Assertions.jl:561 [inlined] [2] #_#570 @ ~/work/Oscar.jl/Oscar.jl/src/Rings/MPolyQuo.jl:1078 [inlined] [3] (::MPolyQuoRing{QQMPolyRingElem})(a::QQMPolyRingElem) @ Oscar ~/work/Oscar.jl/Oscar.jl/src/Rings/MPolyQuo.jl:1077 [4] _compute_gluing(gd::Oscar.ProjectiveGluingData) @ Oscar ~/work/Oscar.jl/Oscar.jl/experimental/Schemes/src/CoveredProjectiveSchemes.jl:888 [5] underlying_gluing(G::Oscar.LazyGluing{AffineScheme{QQField, MPolyQuoRing{QQMPolyRingElem}}, AffineScheme{QQField, MPolyQuoRing{QQMPolyRingElem}}, Oscar.ProjectiveGluingData}) @ Oscar ~/work/Oscar.jl/Oscar.jl/experimental/Schemes/src/LazyGluing.jl:41 [6] gluing_morphisms(G::Oscar.LazyGluing{AffineScheme{QQField, MPolyQuoRing{QQMPolyRingElem}}, AffineScheme{QQField, MPolyQuoRing{QQMPolyRingElem}}, Oscar.ProjectiveGluingData}) @ Oscar ~/work/Oscar.jl/Oscar.jl/src/AlgebraicGeometry/Schemes/Gluing/Attributes.jl:27 [7] produce_object(F::Oscar.PrimeIdealSheafFromChart{CoveredScheme{QQField}, AbsAffineScheme, Ideal, Map}, U2::Oscar.SimplifiedAffineScheme{QQField, MPolyQuoRing{QQMPolyRingElem}}; algorithm::Symbol) @ Oscar ~/work/Oscar.jl/Oscar.jl/experimental/Schemes/src/IdealSheaves.jl:1625 [8] produce_object @ ~/work/Oscar.jl/Oscar.jl/experimental/Schemes/src/IdealSheaves.jl:1567 [inlined] [9] (::Oscar.PrimeIdealSheafFromChart{CoveredScheme{QQField}, AbsAffineScheme, Ideal, Map})(U::Oscar.SimplifiedAffineScheme{QQField, MPolyQuoRing{QQMPolyRingElem}}; cached::Bool) @ Oscar ~/work/Oscar.jl/Oscar.jl/experimental/Schemes/src/Sheaves.jl:57 [10] AbsPreSheaf @ ~/work/Oscar.jl/Oscar.jl/experimental/Schemes/src/Sheaves.jl:55 [inlined] [11] (::Oscar.var"#8117#8121"{Oscar.PrimeIdealSheafFromChart{CoveredScheme{QQField}, AbsAffineScheme, Ideal, Map}})(U::Oscar.SimplifiedAffineScheme{QQField, MPolyQuoRing{QQMPolyRingElem}}) @ Oscar ./none:0 [12] iterate(::Base.Iterators.Filter{Oscar.var"#8117#8121"{Oscar.PrimeIdealSheafFromChart{CoveredScheme{QQField}, AbsAffineScheme, Ideal, Map}}, Vector{AbsAffineScheme}}) @ Base.Iterators ./iterators.jl:518 [13] iterate @ ./generator.jl:44 [inlined] [14] grow_to!(dest::Vector{Any}, itr::Base.Generator{Base.Iterators.Filter{Oscar.var"#8117#8121"{Oscar.PrimeIdealSheafFromChart{CoveredScheme{QQField}, AbsAffineScheme, Ideal, Map}}, Vector{AbsAffineScheme}}, Oscar.var"#8116#8120"}) @ Base ./array.jl:907 [15] collect(itr::Base.Generator{Base.Iterators.Filter{Oscar.var"#8117#8121"{Oscar.PrimeIdealSheafFromChart{CoveredScheme{QQField}, AbsAffineScheme, Ideal, Map}}, Vector{AbsAffineScheme}}, Oscar.var"#8116#8120"}) @ Base ./array.jl:[831](https://github.com/oscar-system/Oscar.jl/actions/runs/9961739494/job/27523949728?pr=3942#step:9:835) [16] _colength_in_localization(Q::IdealSheaf{CoveredScheme{QQField}, AbsAffineScheme, Ideal, Map}, P::Oscar.PrimeIdealSheafFromChart{CoveredScheme{QQField}, AbsAffineScheme, Ideal, Map}; covering::Covering{QQField}) @ Oscar ~/work/Oscar.jl/Oscar.jl/experimental/Schemes/src/AlgebraicCycles.jl:470 [17] _colength_in_localization(Q::IdealSheaf{CoveredScheme{QQField}, AbsAffineScheme, Ideal, Map}, P::Oscar.PrimeIdealSheafFromChart{CoveredScheme{QQField}, AbsAffineScheme, Ideal, Map}) @ Oscar ~/work/Oscar.jl/Oscar.jl/experimental/Schemes/src/AlgebraicCycles.jl:467 [18] irreducible_decomposition(D::AlgebraicCycle{CoveredScheme{QQField}, ZZRing, ZZRingElem}) @ Oscar ~/work/Oscar.jl/Oscar.jl/experimental/Schemes/src/AlgebraicCycles.jl:459 [19] irreducible_decomposition(D::WeilDivisor{CoveredScheme{QQField}, ZZRing, ZZRingElem}) @ Oscar ~/work/Oscar.jl/Oscar.jl/experimental/Schemes/src/WeilDivisor.jl:171 [20] macro expansion @ ~/work/Oscar.jl/Oscar.jl/test/AlgebraicGeometry/Schemes/MorphismFromRationalFunctions.jl:56 [inlined] [21] macro expansion @ /opt/hostedtoolcache/julia/1.10.4/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined] [22] top-level scope @ ~/work/Oscar.jl/Oscar.jl/test/AlgebraicGeometry/Schemes/MorphismFromRationalFunctions.jl:27 [23] include @ ./Base.jl:496 [inlined] [24] macro expansion @ ./timing.jl:503 [inlined] [25] _timed_include(str::String, mod::Module; use_ctime::Bool) @ Oscar ~/work/Oscar.jl/Oscar.jl/src/utils/tests.jl:5 [26] _timed_include (repeats 2 times) @ ~/work/Oscar.jl/Oscar.jl/src/utils/tests.jl:1 [inlined] [27] (::Oscar.var"#34#35"{Bool, Bool, Bool, Vector{Any}})() @ Oscar ~/work/Oscar.jl/Oscar.jl/src/utils/tests.jl:258 [28] with_unicode(f::Oscar.var"#34#35"{Bool, Bool, Bool, Vector{Any}}, allowed::Bool) @ AbstractAlgebra.PrettyPrinting ~/.julia/packages/AbstractAlgebra/EYoda/src/PrettyPrinting.jl:1766 [29] #test_module#33 @ ~/work/Oscar.jl/Oscar.jl/src/utils/tests.jl:206 [inlined] [30] test_module @ ~/work/Oscar.jl/Oscar.jl/src/utils/tests.jl:205 [inlined] [31] (::var"#37#38")(x::String) @ Main ~/work/Oscar.jl/Oscar.jl/test/runtests.jl:156 [32] #invokelatest#2 @ ./essentials.jl:892 [inlined] [33] invokelatest @ ./essentials.jl:889 [inlined] [34] #153 @ /opt/hostedtoolcache/julia/1.10.4/x64/share/julia/stdlib/v1.10/Distributed/src/remotecall.jl:425 [inlined] [35] run_work_thunk(thunk::Distributed.var"#153#154"{var"#37#38", Tuple{String}, @Kwargs{}}, print_error::Bool) @ Distributed /opt/hostedtoolcache/julia/1.10.4/x64/share/julia/stdlib/v1.10/Distributed/src/process_messages.jl:70 [36] remotecall_fetch(f::Function, w::Distributed.LocalProcess, args::String; kwargs::@Kwargs{}) @ Distributed /opt/hostedtoolcache/julia/1.10.4/x64/share/julia/stdlib/v1.10/Distributed/src/remotecall.jl:450 [37] remotecall_fetch @ /opt/hostedtoolcache/julia/1.10.4/x64/share/julia/stdlib/v1.10/Distributed/src/remotecall.jl:449 [inlined] [38] remotecall_fetch(f::Function, id::Int64, args::String) @ Distributed /opt/hostedtoolcache/julia/1.10.4/x64/share/julia/stdlib/v1.10/Distributed/src/remotecall.jl:492 [39] remotecall_pool(rc_f::Function, f::Function, pool::WorkerPool, args::String; kwargs::@Kwargs{}) @ Distributed /opt/hostedtoolcache/julia/1.10.4/x64/share/julia/stdlib/v1.10/Distributed/src/workerpool.jl:126 [40] remotecall_pool @ /opt/hostedtoolcache/julia/1.10.4/x64/share/julia/stdlib/v1.10/Distributed/src/workerpool.jl:123 [inlined] [41] remotecall_fetch @ /opt/hostedtoolcache/julia/1.10.4/x64/share/julia/stdlib/v1.10/Distributed/src/workerpool.jl:232 [inlined] [42] #208 @ /opt/hostedtoolcache/julia/1.10.4/x64/share/julia/stdlib/v1.10/Distributed/src/workerpool.jl:288 [inlined] [43] (::Base.var"#1023#1028"{Distributed.var"#208#210"{Distributed.var"#208#209#211"{WorkerPool, var"#37#38"}}})(r::Base.RefValue{Any}, args::Tuple{String}) @ Base ./asyncmap.jl:94 [44] (::Base.var"#1039#1040"{Base.var"#1023#1028"{Distributed.var"#208#210"{Distributed.var"#208#209#211"{WorkerPool, var"#37#38"}}}, Channel{Any}, Nothing})() @ Base ./asyncmap.jl:228 Test Summary: | Error Total Time The standard Cremona transformation | 1 1 19.2s ERROR: LoadError: LoadError: Some tests did not pass: 0 passed, 0 failed, 1 errored, 0 broken. in expression starting at /home/runner/work/Oscar.jl/Oscar.jl/test/AlgebraicGeometry/Schemes/MorphismFromRationalFunctions.jl:26 ```

I have not tried to reproduce it.

CC: @HechtiDerLachs

benlorenz commented 3 months ago

The tests have been disabled in #3960 and should be reenabled once this issue is fixed.

HechtiDerLachs commented 3 months ago

I have tried to reproduce the issue, but after 2214 runs the process simply got killed.

Is there a better way to get hold of what the issue actually is?

benlorenz commented 3 months ago

My guess would be that some ring caching from other tests could trigger this. So maybe we should just try re-enabling this once the cached=false PRs are all done?

fingolfin commented 1 month ago

In this regard it would be good if we made progress on getting #3865 ready. I've been splitting off parts of that into separate PRs.