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

MethodError: no method matching deepcopy_internal on julia 1.8 rc1 #1530

Closed
Affie opened this issue Jun 2, 2022 · 3 comments · Fixed by #1601
Closed

MethodError: no method matching deepcopy_internal on julia 1.8 rc1 #1530

Affie opened this issue Jun 2, 2022 · 3 comments · Fixed by #1601

Comments

@Affie
Copy link
Member

Affie commented Jun 2, 2022

In Test solveCliqueUp! and solveCliqDown! at ../test/testCliqSolveDbgUtils.jl:6

ERROR: MethodError: no method matching deepcopy_internal(::ReentrantLock)
Closest candidates are:
  deepcopy_internal(::Base.AbstractLock, ::IdDict) at deepcopy.jl:130
  deepcopy_internal(::Any, ::IdDict) at deepcopy.jl:53
  deepcopy_internal(::BigInt, ::IdDict) at gmp.jl:794
  ...
Stacktrace:
  [1] deepcopy_internal(x::Base.GenericCondition{ReentrantLock}, stackdict::IdDict{Any, Any})
    @ Base ./deepcopy.jl:143
  [2] deepcopy_internal(x::Any, stackdict::IdDict{Any, Any})
    @ Base ./deepcopy.jl:65
  [3] deepcopy_internal(x::Dict{Symbol, Any}, stackdict::IdDict{Any, Any}) (repeats 2 times)
    @ Base ./deepcopy.jl:125
  [4] deepcopy_internal(x::Any, stackdict::IdDict{Any, Any}) (repeats 3 times)
    @ Base ./deepcopy.jl:65
  [5] deepcopy
    @ ./deepcopy.jl:26 [inlined]
  [6] (::StateMachine{CliqStateMachineContainer})(userdata::CliqStateMachineContainer{BayesTreeNodeData, GraphsDFG{SolverParams, DFGVariable, DFGFactor}, GraphsDFG{SolverParams, DFGVariable, DFGFactor}, MetaBayesTree}, timeout::Nothing; pollinterval::Float64, breakafter::Function, verbose::Bool, verbosefid::Base.TTY, verboseXtra::IncrementalInference.CliqStatus, iterlimit::Int64, injectDelayBefore::Nothing, recordhistory::Bool, housekeeping_cb::IncrementalInference.var"#479#481"{IncrementalInference.TreeClique, CliqStateMachineContainer{BayesTreeNodeData, GraphsDFG{SolverParams, DFGVariable, DFGFactor}, GraphsDFG{SolverParams, DFGVariable, DFGFactor}, MetaBayesTree}})
    @ FunctionalStateMachine ~/.julia/packages/FunctionalStateMachine/2JZFG/src/StateMachine.jl:76
  [7] initStartCliqStateMachine!(dfg::GraphsDFG{SolverParams, DFGVariable, DFGFactor}, tree::MetaBayesTree, cliq::IncrementalInference.TreeClique, timeout::Nothing; oldcliqdata::BayesTreeNodeData, verbose::Bool, verbosefid::Base.TTY, drawtree::Bool, show::Bool, incremental::Bool, limititers::Int64, upsolve::Bool, downsolve::Bool, recordhistory::Bool, delay::Bool, logger::Base.CoreLogging.SimpleLogger, solve_progressbar::Nothing, algorithm::Symbol, solveKey::Symbol)
    @ IncrementalInference ~/.julia/packages/IncrementalInference/1ELXb/src/CliqueStateMachine.jl:64
  [8] tryCliqStateMachineSolve!(dfg::GraphsDFG{SolverParams, DFGVariable, DFGFactor}, treel::MetaBayesTree, cliqKey::IncrementalInference.CliqueId{Int64}, timeout::Nothing; oldtree::MetaBayesTree, verbose::Bool, verbosefid::Base.TTY, drawtree::Bool, limititers::Int64, downsolve::Bool, incremental::Bool, delaycliqs::Vector{Symbol}, recordcliqs::Vector{Symbol}, solve_progressbar::Nothing, algorithm::Symbol, solveKey::Symbol)
    @ IncrementalInference ~/.julia/packages/IncrementalInference/1ELXb/src/SolverAPI.jl:112
  [9] solveCliqUp!(fg::GraphsDFG{SolverParams, DFGVariable, DFGFactor}, tree::MetaBayesTree, cliqid::Int64, solveKey::Symbol, beliefMessages::Dict{Int64, LikelihoodMessage}; verbose::Bool, recordcliq::Bool)
    @ IncrementalInference ~/.julia/packages/IncrementalInference/1ELXb/src/SolverAPI.jl:483
 [10] top-level scope
    @ REPL[13]:1
@dehann
Copy link
Member

dehann commented Jun 2, 2022

Looks like we should create a new lock or something similar on this line in FSM:
https://github.com/JuliaRobotics/FunctionalStateMachine.jl/blob/a534cb2bf1cd0571c5422034f8febca1b38fe4b9/src/StateMachine.jl#L76

@dehann dehann modified the milestones: v0.0.x, v0.29.0, v0.29.1, v0.28.3 Jun 2, 2022
@Affie Affie modified the milestones: v0.29.0, v0.0.x, v0.29.1 Jun 28, 2022
@Affie Affie modified the milestones: v0.29.1, v0.29.2 Jul 7, 2022
@Affie Affie added the upstream label Jul 7, 2022
@Affie Affie modified the milestones: v0.29.2, v0.30.0, v0.0.x Jul 8, 2022
@Affie Affie modified the milestones: v0.0.x, v0.30.5 Aug 18, 2022
@Affie Affie self-assigned this Aug 18, 2022
@Affie
Copy link
Member Author

Affie commented Aug 19, 2022

It looks like it will be fixed here: JuliaLang/julia#46406

@Affie
Copy link
Member Author

Affie commented Aug 19, 2022

In the meantime here is a fix that just does not copy the channels that are causing the issue: #1601

dehann added a commit that referenced this issue Sep 11, 2022
dehann added a commit that referenced this issue Sep 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants