Dealing with a bunch of errors

I just got the latest julia and VSCode for Linux and used ] dev to get a bunch of packages to look at. I encountered what seemed like an implausible number of errors, and in some cases errors whose source I am unsure of (details below). I’m a bit unsure how to proceed, e.g.,

  1. discuss here
  2. file bugs with respective package
  3. submit pull requests
  4. dive in to figure out what’s going on.

I’d appreciate any advice on how to proceed; of course tips about the particular problems mentioned below would be great too.

All the bugs were with Interpolations; I opened the top-level directory in VSCode. Here are examples of the types of issues.

Too Obvious to Believe

test/visual.jl has a syntax error. The reports on the exact location are a bit misleading, but the problem seems to be a missing ) at the end of line 48. It seems odd such a problem would end up in the repository.

Maybe the lesson is that dev uses the current head, and if I want to understand the current code I should pick an appropriate tag or branch first?

Origin Unknown

I opened doc/Interpolations.jl.ipynb. The 6h cell has


using Gadfly

plot(
    layer(x=xcoarse,y=ycoarse,Geom.point),
    layer(x=xfine,y=yconst,Geom.line,Theme(default_color=colorant"magenta")),
    layer(x=xfine,y=ylinear,Geom.line,Theme(default_color=colorant"red")),
    layer(x=xfine,y=yquadratic,Geom.line,Theme(default_color=colorant"green"))
)
┌ Info: Precompiling Gadfly [c91e804a-d5a3-530f-b6f0-dfbca275c004]
└ @ Base loading.jl:1186
ERROR: LoadError: syntax: try without catch or finally
Stacktrace:
 [1] include at ./boot.jl:317 [inlined]
 [2] include_relative(::Module, ::String) at ./loading.jl:1038
 [3] include(::Module, ::String) at ./sysimg.jl:29
 [4] top-level scope at none:2
 [5] eval at ./boot.jl:319 [inlined]
 [6] eval(::Expr) at ./client.jl:389
 [7] top-level scope at ./none:3
in expression starting at /home/tim/.julia/packages/Compose/y7cU7/src/Compose.jl:207
ERROR: LoadError: Failed to precompile Compose [a81c6b42-2e10-5240-aca2-a61377ecd94b] to /home/tim/.julia/compiled/v1.0/Compose/sbiEw.ji.

followed by 2 more stack traces.

  1. Is this an error that happened on my machine, or is it just an error that was memorialized in the notebook? Note /home/tim in the path on the 2nd line from the bottom–not me!
  2. If it happened locally, is the problem induced by VSCode, or something closer to the original package? I added python extensions as well as julia extensions to VSCode, and the bottom left is currently showing both a python interpreter and “Julia env: v1.5”. If VSCode is trying to use python on julia code, it’s obviously not going to work. OTOH, I believe this is a Jupyter notebook, and the notebook itself probably does need python.
  3. Or maybe some module in julia or package in vscode needs to be installed. For example, the cell begins using Gadfly and I don’t have it installed.
  4. Or maybe there’s a problem in the actual notebook, or at least the package should have declared a dependency on Gadfly.

None of the problems in the notebook seem to be associated with entries in the PROBLEMS report, which only covers files ending in .jl.

Environment

Julia Version 1.5.3
Commit 788b2c77c1 (2020-11-09 13:37 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-9.0.1 (ORCJIT, skylake)
Environment:
  JULIA_EDITOR = "/usr/share/code/code"
  JULIA_NUM_THREADS = 

Julia installed by getting the binary tarball for Linux and expanding it.

For Visual Studio Code

Version: 1.53.2
Commit: 622cb03f7e070a9670c94bae1a45d78d7181fbd4
Date: 2021-02-11T11:48:44.518Z
Electron: 11.2.1
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: 8.7.220.31-electron.0
OS: Linux x64 4.19.0-14-amd64

VSCode installed by getting the .deb from the VSCode site and installing it

Debian 10/buster, x64 architecture.

That might be part of the issue. dev will check out the master branch by default if you haven’t alread deved that package. That shouldn’t be completely broken in general, but it may not be stable. Furthermore, if you’ve already deved a package, then doing so again will not pull the latest master, but just use whatever you have checked out in .julia/dev, which might be arbitrarily old and incompatible with recent versions of other code. You might want to start with just using add to make sure you can get a working set of packages first.

You’re right. It looks like maybe that test file is not actually being included anywhere, so it’s not being run as part of the tests. That would certainly be worth opening an issue over at Issues · JuliaMath/Interpolations.jl · GitHub

Memorialized in the notebook, exactly. That’s probably just an oversight by the last person to run that notebook and commit the results. It’s not something you need to worry about (unless you get the same error when you actually try to run that cell, of course).