JuliaEcosystem / PackageAnalyzer.jl

https://juliaecosystem.github.io/PackageAnalyzer.jl/dev/
MIT License
59 stars 5 forks source link

Error while analysing `Mads` #90

Closed giordano closed 1 year ago

giordano commented 1 year ago
        SystemError: opening file "/tmp/jl_p8Xi7A/Mads/OCTYB/examples/model_analysis/models/internal-polynomial.jl": File name too long
        Stacktrace:
          [1] systemerror(p::String, errno::Int32; extrainfo::Nothing)
            @ Base ./error.jl:176
          [2] #systemerror#82
            @ ./error.jl:175 [inlined]
          [3] systemerror
            @ ./error.jl:175 [inlined]
          [4] open(fname::String; lock::Bool, read::Nothing, write::Nothing, create::Nothing, truncate::Nothing, append::Nothing)
            @ Base ./iostream.jl:293
          [5] open
            @ ./iostream.jl:275 [inlined]
          [6] open(f::Base.var"#418#419"{String}, args::String; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
            @ Base ./io.jl:393
          [7] open
            @ ./io.jl:392 [inlined]
          [8] read
            @ ./io.jl:473 [inlined]
          [9] parse_green_node(file_path::String)
            @ PackageAnalyzer ~/.julia/packages/PackageAnalyzer/ku4CT/src/count_loc.jl:102
         [10] count_julia_lines_of_code(dir::String)
            @ PackageAnalyzer ~/.julia/packages/PackageAnalyzer/ku4CT/src/count_loc.jl:146
         [11] count_lines_of_code(dir::String)
            @ PackageAnalyzer ~/.julia/packages/PackageAnalyzer/ku4CT/src/count_loc.jl:16
         [12] analyze_code(dir::String; repo::String, reachable::Bool, subdir::String, auth::GitHub.OAuth2, sleep::Int64, only_subdir::Bool, version::VersionNumber)
            @ PackageAnalyzer ~/.julia/packages/PackageAnalyzer/ku4CT/src/analyze.jl:263
         [13] analyze_code
            @ ~/.julia/packages/PackageAnalyzer/ku4CT/src/analyze.jl:221 [inlined]
         [14] analyze(pkg::PackageAnalyzer.Release; root::String, auth::GitHub.OAuth2, sleep::Int64)
            @ PackageAnalyzer ~/.julia/packages/PackageAnalyzer/ku4CT/src/analyze.jl:163
         [15] analyze
            @ ~/.julia/packages/PackageAnalyzer/ku4CT/src/analyze.jl:155 [inlined]
         [16] #49
            @ ~/.julia/packages/PackageAnalyzer/ku4CT/src/parallel.jl:24 [inlined]
         [17] (::Base.var"#656#658"{PackageAnalyzer.var"#49#50"{GitHub.OAuth2, Int64, String, Channel{Tuple{Int64, PackageV1}}}, Tuple{Int64, PackageAnalyzer.Release}})()
            @ Base ./threadingconstructs.jl:404

Another evil symlink: https://github.com/madsjulia/Mads.jl/tree/33ee5a74da5c8d966b228594e862bd3235584013/examples/model_analysis/models. I can't even git clone the repository 🙄

% git clone https://github.com/madsjulia/Mads.jl
Cloning into 'Mads.jl'...
remote: Enumerating objects: 1051, done.
remote: Counting objects: 100% (1051/1051), done.
remote: Compressing objects: 100% (898/898), done.
remote: Total 1051 (delta 185), reused 693 (delta 112), pack-reused 0
Receiving objects: 100% (1051/1051), 65.99 MiB | 4.75 MiB/s, done.
Resolving deltas: 100% (185/185), done.
error: unable to create symlink examples/svr/svr.jl: File name too long
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'
giordano commented 1 year ago

So, the problem is that the file examples/model_analysis/models/internal-polynomial.jl is a symlink whose target is what should've been the content of a regular file. In the end, the resolution should be the same as for #89: resolve symlink before attempting to read it.

giordano commented 1 year ago

Ah, duplicate of #87 😅