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

TypeError causing segfault in Julia 1.6 tests #287

Closed
mjram0s opened this issue Mar 26, 2021 · 6 comments · Fixed by #297
Closed

TypeError causing segfault in Julia 1.6 tests #287

mjram0s opened this issue Mar 26, 2021 · 6 comments · Fixed by #297
Assignees
Labels

Comments

@mjram0s
Copy link
Contributor

mjram0s commented Mar 26, 2021

https://github.com/invenia/PkgTemplates.jl/runs/2198570926?check_suite_focus=true#step:7:187

Internal error: encountered unexpected error in runtime:
TypeError(func=:TypeVar, context="upper bound", expected=Type, got=Vararg{Any, N} where N)
jl_type_error_rt at /buildworker/worker/package_linux64/build/src/rtutils.c:119
jl_new_typevar at /buildworker/worker/package_linux64/build/src/builtins.c:1116
TypeVar at ./boot.jl:382
apply_type_tfunc at ./compiler/tfuncs.jl:1231
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1703 [inlined]
do_apply at /buildworker/worker/package_linux64/build/src/builtins.c:670
builtin_tfunction at ./compiler/tfuncs.jl:1488
abstract_call_builtin at ./compiler/abstractinterpretation.jl:826
jfptr_abstract_call_builtin_9925.clone_1 at /opt/hostedtoolcache/julia/1.6.0/x64/lib/julia/sys.so (unknown line)
...
@mjram0s mjram0s changed the title TypeError causing sefault in Julia 1.6 tests TypeError causing segfault in Julia 1.6 tests Mar 26, 2021
@christopher-dG
Copy link
Member

SimpleMock/Cassette is still kinda broken on 1.6, sadly.

@nicoleepp
Copy link
Collaborator

Is it worth restricting the package tests to 1.5?

@nickrobinson251
Copy link
Collaborator

nickrobinson251 commented Apr 9, 2021

Since v1.6 is the stable release of Julia, and v1.5 is effectively now unmaintained, we really should be testing this packages works on v1.6. (I know anything that works on v1.5 should work on v1.6, but we should be testing on v1.6 to be sure).

What are our options for getting tests working on v1.6?

Is it to either

  • replace SimpleMock.jl with a mocking package that works on v1.6 (which unfortunately would probably means a new dependency that's not a test-only dependency), or
  • fix SimpleMock.jl, which requires fixing Cassette.jl on v1.6 (which is... hard or impossible)?

...is there another option?

cc @christopher-dG

@christopher-dG
Copy link
Member

replace SimpleMock.jl with a mocking package that works on v1.6 (which unfortunately would probably means a new dependency that's not a test-only dependency)

I'm not super familiar with Mocking.jl's capabilities but that might be an option

fix SimpleMock.jl, which requires fixing Cassette.jl on v1.6 (which is... hard or impossible)?

It's definitely beyond my abilities. I've also been toying with the idea of migrating SimpleMock from Cassette to Mixtape, but there are still many unknowns there.

Another option is to refactor the tests to not require any mocking, or to just disable those tests.

@iamed2
Copy link
Member

iamed2 commented May 27, 2021

I'm not super familiar with Mocking.jl's capabilities but that might be an option

Mocking.jl requires annotating the code where you want to mock. That's the main difference from a Cassette-type approach. The usage README is pretty good.

@mjram0s
Copy link
Contributor Author

mjram0s commented Jun 1, 2021

I will work on switching this over to Mocking.jl

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants