SeisIO.jl
SeisIO.jl copied to clipboard
Test error during SeedLink test
Interesting test error. I'm going to try pushing a simple fix for this today, but the only way I'll know if it worked is if the SeedLink test fails to connect ... that never really happens on my end anymore. Are you using the master branch, or a release version?
Sorry should have given you more info. I have Julia 1.3.1 and I pulled the SeisIO release through the Atom IDE.
Oh. Do you see the same error if you test in Julia 1.0 or 1.5?
Hi, I've never been able to reproduce this in any version of Julia for any operating system. Any more information here? Also, what operating system?
I asked about other versions of Julia because v1.3.x releases aren't really supported by package maintainers anymore. The de facto standard in Julia language development is to test long-term support (Julia v1.0.5) and current release (at the moment, Julia v1.5.3).
If this is resolved, I'd like to close the issue.
Hi, I'm running MacOS Mojave 10.14.6 and I've upgraded to Julia 1.5. I am now using VSCode instead of Atom. I just reinstalled SeisIO and ran the test and received the following:
SeedLink
(SeedLink tests require up to 6 minutes)
has_stream
one or more queries incomplete after 60 s; skipping test.
ERROR: LoadError: LoadError: MethodError: Cannot convert
an object of type Type{Nothing} to an object of type Task
Closest candidates are:
convert(::Type{T}, ::Intervals.Interval{T,L,R} where R<:Intervals.Bound where L<:Intervals.Bound) where T at /Users/spri902/.julia/packages/Intervals/ua9cq/src/interval.jl:253
convert(::Type{T}, ::Intervals.AnchoredInterval{P,T,L,R} where R<:Intervals.Bounded where L<:Intervals.Bounded) where {P, T} at /Users/spri902/.julia/packages/Intervals/ua9cq/src/anchoredinterval.jl:181
convert(::Type{T}, ::T) where T at essentials.jl:171
...
Stacktrace:
[1] convert(::Type{Union{Nothing, Task}}, ::Type{T} where T) at ./some.jl:34
[2] setindex!(::Array{Union{Nothing, Task},1}, ::Type{T} where T, ::Int64) at ./array.jl:847
[3] SL_wait(::Array{Union{Nothing, Task},1}, ::Int64) at /Users/spri902/.julia/packages/SeisIO/xmXyu/test/TestHelpers/seedlink_helpers.jl:10
[4] top-level scope at /Users/spri902/.julia/packages/SeisIO/xmXyu/test/Web/test_seedlink.jl:21
[5] include(::String) at ./client.jl:457
[6] top-level scope at /Users/spri902/.julia/packages/SeisIO/xmXyu/test/runtests.jl:38
[7] include(::String) at ./client.jl:457
[8] top-level scope at none:6
in expression starting at /Users/spri902/.julia/packages/SeisIO/xmXyu/test/Web/test_seedlink.jl:21
in expression starting at /Users/spri902/.julia/packages/SeisIO/xmXyu/test/runtests.jl:27
ERROR: Package SeisIO errored during testing
I've done this a few times and it always dies for me during the SeedLink test
@spri902 Have you tried running SeisIO tests while using a VPN? This might have to do with your IP address?
I've tried at work (behind the VPN) and on my home (non VPN) network. Seems to happen on both. I will try again tonight at home to make sure it's not the VPN issue.
The error is caused by a SeedLink timeout. I can't reproduce it because I can't cause a SeedLink timeout on my test machines; SeedLink always succeeds. In fact, on travis-ci and appveyor, my SeedLink tests haven't timed out since summer 2018.
Do you need to manually configure port forwarding for a firewall or router? The default SeedLink port is 18000 according to SeisComp documentation (https://www.seiscomp.de/seiscomp3/doc/seattle/2012.279/apps/seedlink.html). That's different from most web requests (e.g., get_data
). To the best of my knowledge, every other web request in SeisIO uses port 80.