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

Bizarre bug with deserialization of QuickMDP #447

Open
fredcallaway opened this issue Nov 12, 2022 · 2 comments
Open

Bizarre bug with deserialization of QuickMDP #447

fredcallaway opened this issue Nov 12, 2022 · 2 comments

Comments

@fredcallaway
Copy link
Contributor

This one's a real doozy. It looks like a Quick(PO)MDP can't be deserialized twice into the same session, except the one it was defined in.

Understood if this is too much of an edge case to be worth fixing, but I wanted to flag it nonetheless.

simple_mdp = QuickPOMDP(
    states = [1],
    actions = [1],
    observations = [1],
    initialstate = Deterministic([1]),
    discount = 0.95,
    transition = (s, a) -> Deterministic([1]),
    observation = (s, a, sp) -> Deterministic([1]),
    reward = (s, a) -> 1
)

serialize("test", simple_mdp)
deserialize("test")  # okay
deserialize("test")  # okay

# spin up a new julia REPL
deserialize("test")  # okay
deserialize("test")  # ERROR: invalid redefinition of constant ##377
@zsunberg
Copy link
Member

Thanks for reporting. I never thought about this, but yeah, QuickPOMDPs seem like a nightmare for serialization.

I hope this is not a problem for distributed computing.

@rejuvyesh
Copy link
Member

I'm not sure this counts as bug necessarily? This is more in the territory of issues w.r.t StaticCompilation.jl and maybe how Julia handles external linkages for example?

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

No branches or pull requests

3 participants