Warnings when pre-compiling GLMakie

If I freshly install GLMakie I get the following warnings:

┌ GLMakie
│  [pid 70482] waiting for IO to finish:
│   Handle type        uv_handle_t->data
│   timer              0x60503c7f60f0->0x714926932110
│  This means that a package has started a background task or event source that has not finished running. For precompilation to complete successfully, the event source needs to be closed explicitly. See the developer documentation on fixing precompilation hangs for more help.
│  
│  [pid 70482] waiting for IO to finish:
│   Handle type        uv_handle_t->data
│   timer              0x60503c7f60f0->0x714926932110
│  This means that a package has started a background task or event source that has not finished running. For precompilation to complete successfully, the event source needs to be closed explicitly. See the developer documentation on fixing precompilation hangs for more help.
└  

How can this be fixed?

In addition, if I execute the following script:

#!/bin/bash -eu
rm -rf /tmp/testdepot
mkdir /tmp/testdepot
rm -rf /tmp/test
mkdir /tmp/test
cd /tmp/test
export JULIA_DEPOT_PATH=/tmp/testdepot 
julia --project="." -e "using Pkg; Pkg.add(\"KiteViewers\"); using KiteViewers; Pkg.test(\"KiteViewers\")"

I get the following, additional warnings:

┌ GLMakie
│  WARNING: Makie.Combined is deprecated, use Plot instead.
│    likely near none:1
│  WARNING: importing deprecated binding Makie.Combined into GLMakie.
│  , use Plot instead.
│  WARNING: Makie.ContinuousSurface is deprecated, use VertexGrid instead.
│    likely near none:1
│  WARNING: importing deprecated binding Makie.ContinuousSurface into GLMakie.
│  , use VertexGrid instead.
│  WARNING: Makie.DiscreteSurface is deprecated, use CellGrid instead.
│    likely near none:1
│  WARNING: importing deprecated binding Makie.DiscreteSurface into GLMakie.
│  , use CellGrid instead.
└  

This is strange, because the functions Combined or ContinousSurface are not used, neither in KiteViewers not in GLMakie.

Any idea where these warnings might be coming from?

This line likely near none:1 is also strange.

I think your script is broken. Also, for what is worth you can reduce it to a single line

#!/bin/bash -eu
JULIA_DEPOT_PATH=$(mktemp -d) julia -e 'using Pkg; Pkg.activate(; temp=true); Pkg.add("KiteViewers"); using KiteViewers; Pkg.test("KiteViewers")' 

https://docs.julialang.org/en/v1/devdocs/precompile_hang/

Fixed.

But your link only give a hint regarding the timer warnings, not regarding the “deprecated” warnings.

Bump. How can we debug the source of these warnings:

┌ GLMakie
│  WARNING: Makie.Combined is deprecated, use Plot instead.
│    likely near none:1
│  WARNING: importing deprecated binding Makie.Combined into GLMakie.
│  , use Plot instead.
│  WARNING: Makie.ContinuousSurface is deprecated, use VertexGrid instead.
│    likely near none:1
│  WARNING: importing deprecated binding Makie.ContinuousSurface into GLMakie.
│  , use VertexGrid instead.
│  WARNING: Makie.DiscreteSurface is deprecated, use CellGrid instead.
│    likely near none:1
│  WARNING: importing deprecated binding Makie.DiscreteSurface into GLMakie.
│  , use CellGrid instead.
└

?

Wild guess: source code of GLMakie?

Well, I checked it, but the functions that are depreciated are not called.

What did you check? What version of GLMakie do you have in your environment?

Project KiteViewers v0.4.17
Status `~/repos/KiteViewers.jl/Project.toml`
  [5789e2e9] FileIO v1.16.3
  [e9467ef8] GLMakie v0.10.9
  [5c1252a2] GeometryBasics v0.4.11
  [82f05805] Joysticks v0.1.4
  [90980105] KiteUtils v0.7.8
  [d96e819e] Parameters v0.12.3
  [aea7be01] PrecompileTools v1.2.1
  [189a3867] Reexport v1.2.2
  [6038ab10] Rotations v1.7.1
  [90137ffa] StaticArrays v1.9.7
  [21f18d07] Timers v0.1.5
  [37e2e46d] LinearAlgebra
  [44cfe95a] Pkg v1.10.0
  [de0858da] Printf

With the latest version of GLMakie there are less warnings:

 GLMakie
│  WARNING: Makie.ContinuousSurface is deprecated, use VertexGrid instead.
│    likely near none:1
│  WARNING: importing deprecated binding Makie.ContinuousSurface into GLMakie.
│  , use VertexGrid instead.
│  WARNING: Makie.DiscreteSurface is deprecated, use CellGrid instead.
│    likely near none:1
│  WARNING: importing deprecated binding Makie.DiscreteSurface into GLMakie.
│  , use CellGrid instead.
ufechner@ufryzen:~/repos/Makie.jl$ grep -r ContinuousSurface .
./test/deprecated.jl:        @test ContinuousSurface == VertexGrid
./test/deprecated.jl:        msg = @depwarn_message ContinuousSurface()
./test/deprecated.jl:        @test occursin("ContinuousSurface is deprecated", msg)
./src/deprecated.jl:Base.@deprecate_binding ContinuousSurface VertexGrid true

and

ufechner@ufryzen:~/repos/Makie.jl$ grep -r DiscreteSurface .
./test/deprecated.jl:        @test DiscreteSurface == CellGrid
./test/deprecated.jl:        msg = @depwarn_message DiscreteSurface()
./test/deprecated.jl:        @test occursin("DiscreteSurface is deprecated", msg)
./src/deprecated.jl:Base.@deprecate_binding DiscreteSurface CellGrid true

In other words, these functions only exist in the test script depreciated.jl. But this script should not be executed if I test KiteViewers.jl.

It might be worth to mention that GLMakie is a sub-module of Makie.jl.

1 Like

OK, there is some progress, which is nice. But the issue is not fixed yet, at least not in GLMakie 0.10.9.

Yeah the rest need to get the same treatment :wink:

1 Like