Skip to content

pkg> st fails second time around with ERROR: MethodError: no method matching Int64(::Dates.DateTime) #4017

Closed
JuliaLang/julia
#55892
@PallHaraldsson

Description

This is a very strange bug to me, and likely has nothing to do with PythonCall, though seemingly the only thing triggering it, showing verbatim:

$ julia +1.11
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.11.0-rc3 (2024-08-26)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

(@v1.11) pkg> st
Status `~/.julia/environments/v1.11/Project.toml`
  [6099a3de] PythonCall v0.9.23 `~/.julia/dev/PythonCall`

julia> @time_imports using PythonCall
     10.9 ms  UnsafePointers
      0.9 ms  Printf
     81.7 ms  Dates
      0.3 ms  UUIDs
      1.4 ms  TOML
     23.2 ms  Preferences
      0.4 ms  PrecompileTools
               ┌ 0.0 ms Parsers.__init__() 
    254.0 ms  Parsers 78.78% compilation time
      0.6 ms  Mmap
      7.3 ms  StructTypes
     53.1 ms  JSON3
      0.4 ms  Pidfile
      1.3 ms  Base64
               ┌ 0.0 ms NetworkOptions.__init__() 
      3.3 ms  NetworkOptions
               ┌ 0.0 ms MbedTLS_jll.__init__() 
      3.4 ms  MbedTLS_jll
               ┌ 0.0 ms LibSSH2_jll.__init__() 
      3.1 ms  LibSSH2_jll
               ┌ 0.0 ms LibGit2_jll.__init__() 
      3.1 ms  LibGit2_jll
     15.3 ms  LibGit2
     15.9 ms  ArgTools
               ┌ 0.0 ms nghttp2_jll.__init__() 
      3.5 ms  nghttp2_jll
               ┌ 0.0 ms LibCURL_jll.__init__() 
      4.2 ms  LibCURL_jll
               ┌ 0.0 ms MozillaCACerts_jll.__init__() 
      3.8 ms  MozillaCACerts_jll
               ┌ 0.0 ms LibCURL.__init__() 
      1.5 ms  LibCURL
               ┌ 0.0 ms Downloads.Curl.__init__() 
     28.4 ms  Downloads
      1.1 ms  Tar
               ┌ 0.1 ms p7zip_jll.__init__() 
      5.4 ms  p7zip_jll
      0.2 ms  Logging
     16.7 ms  Markdown
               ┌ 0.0 ms Pkg.__init__() 
    388.8 ms  Pkg
      0.3 ms  Scratch
      0.2 ms  LazyArtifacts
      0.4 ms  JLLWrappers
               ┌ 5.4 ms micromamba_jll.__init__() 95.66% compilation time
      5.8 ms  micromamba_jll 88.54% compilation time
      0.4 ms  MicroMamba
               ┌ 248.0 ms CondaPkg.PkgREPL.__init__() 99.49% compilation time
    252.4 ms  CondaPkg 97.76% compilation time
               ┌ 0.0 ms Requires.__init__() 
      0.5 ms  Requires
     13.1 ms  MacroTools
      0.2 ms  DataValueInterfaces
      1.0 ms  DataAPI
      0.2 ms  IteratorInterfaceExtensions
      0.2 ms  TableTraits
      4.5 ms  OrderedCollections
     15.9 ms  Tables
      1.3 ms  Serialization
               ┌ 1822.4 ms PythonCall.C.__init__() 90.45% compilation time
               ├ 0.0 ms PythonCall.GC.__init__() 
               ├ 1016.6 ms PythonCall.Core.__init__() 96.71% compilation time
               ├ 160.5 ms PythonCall.Convert.__init__() 99.50% compilation time
               ├ 0.0 ms PythonCall.Wrap.__init__() 
               ├ 0.0 ms PythonCall.JlWrap.Cjl.__init__() 
               ├ 67.3 ms PythonCall.JlWrap.__init__() 81.75% compilation time
               ├ 23.0 ms PythonCall.Compat.__init__() 94.89% compilation time
   3197.9 ms  PythonCall 89.68% compilation time

(@v1.11) pkg> st
ERROR: MethodError: no method matching Int64(::Dates.DateTime)
The type `Int64` exists, but no method is defined for this combination of argument types when trying to construct it.

Closest candidates are:
  Int64(::Float64)
   @ Base float.jl:990
  Int64(::Float32)
   @ Base float.jl:990
  Int64(::Float16)
   @ Base float.jl:990
  ...

Stacktrace:
  [1] Dates.DateTime(y::Dates.DateTime, m::Int64, d::Int64, h::Int64, mi::Int64, s::Int64, ms::Int64, ampm::Dates.AMPM)
    @ Dates ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Dates/src/types.jl:421
  [2] (::Pkg.Types.var"#53#56"{String, String})(d::Dict{String, Any})
    @ Pkg.Types ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Types.jl:556
  [3] iterate
    @ ./generator.jl:48 [inlined]
  [4] _collect(c::Vector{Any}, itr::Base.Generator{Vector{Any}, Pkg.Types.var"#53#56"{String, String}}, ::Base.EltypeUnknown, isz::Base.HasShape{1})
    @ Base ./array.jl:800
  [5] collect_similar(cont::Vector{Any}, itr::Base.Generator{Vector{Any}, Pkg.Types.var"#53#56"{String, String}})
    @ Base ./array.jl:709
  [6] map(f::Function, A::Vector{Any})
    @ Base ./abstractarray.jl:3374
  [7] (::Pkg.Types.var"#52#55"{String, String, Dates.DateTime, String})()
    @ Pkg.Types ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Types.jl:554
  [8] mkpidlock(f::Pkg.Types.var"#52#55"{String, String, Dates.DateTime, String}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64})
    @ FileWatching.Pidfile ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/FileWatching/src/pidfile.jl:95
  [9] mkpidlock
    @ ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/FileWatching/src/pidfile.jl:92 [inlined]
 [10] mkpidlock
    @ ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/FileWatching/src/pidfile.jl:90 [inlined]
 [11] write_env_usage(source_file::String, usage_filepath::String)
    @ Pkg.Types ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Types.jl:537
 [12] Pkg.Types.EnvCache(env::Nothing)
    @ Pkg.Types ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Types.jl:375
 [13] EnvCache
    @ ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Types.jl:354 [inlined]
 [14] Context
    @ ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Types.jl:404 [inlined]
 [15] status(pkgs::Vector{Pkg.Types.PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{})
    @ Pkg.API ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/API.jl:150
 [16] status(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/API.jl:148
 [17] do_cmd(command::Pkg.REPLMode.Command, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:407
 [18] do_cmds(commands::Vector{Pkg.REPLMode.Command}, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:393
 [19] do_cmds(repl::REPL.LineEditREPL, commands::String)
    @ REPLExt ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:92
 [20] on_done(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool, repl::REPL.LineEditREPL)
    @ REPLExt ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:106
 [21] #invokelatest#2
    @ ./essentials.jl:1054 [inlined]
 [22] invokelatest
    @ ./essentials.jl:1051 [inlined]
 [23] (::REPLExt.var"#47#50"{REPL.LineEditREPL})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ REPLExt ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:128
 [24] #invokelatest#2
    @ ./essentials.jl:1054 [inlined]
 [25] invokelatest
    @ ./essentials.jl:1051 [inlined]
 [26] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2749
 [27] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1456
 [28] (::REPL.var"#75#81"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ~/.julia/juliaup/julia-1.11.0-rc3+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:461

(@v1.11) pkg> st
ERROR: MethodError: no method matching Int64(::Dates.DateTime)

Yes, I'm deving the package (and Markdown its dependency, seemingly successfully, just added precompile statements there), but I didn't really change PythonCall, some very minor changes, besides they shouldn't make this happen?!

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions