Extension is updated?

I noticed that a version 1.146.2 of the VS Code extension was released a few days ago. Is there a summary of what’s updated?

I’m still pinning myself to 1.127.2, since the version after that broke test-running (see VS Code won't run tests anymore). If that’s supposed to be fixed now, I’ll try the new version.

2 Likes

I tried out the 1.146.2 release today, so far it seems like it’s fixed the testing bugs from 1.140.

I spoke too soon, I’m seeing hangs again. At least this time there are some errors in the “Test Tesults” panel - starting out like so:

[91165] signal (15): Terminated: 15
in expression starting at /Users/kwilliams/.vscode/extensions/julialang.language-julia-1.146.2/scripts/packages/TestItemControllers/testprocess/app/testserver_main.jl:19
[ Info: Julia test item process launching
[ Info: Julia test item process launching
[ Info: Julia test item process launching
[ Info: Julia test item process launching
[ Info: Julia test item process launching
[ Info: Julia test item process launching
[ Info: Julia test item process launching
[ Info: Julia test item process launching
[ Info: Julia test item process launching
nnable
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] schedule(t::Task, arg::Any; error::Bool)
    @ Base ./task.jl:871
  [3] schedule
    @ ./task.jl:863 [inlined]
  [4] uv_writecb_task(req::Ptr{Nothing}, status::Int32)
    @ Base ./stream.jl:1166
  [5] poptask(W::Base.IntrusiveLinkedListSynchronized{Task})
    @ Base ./task.jl:999
  [6] wait()
    @ Base ./task.jl:1008
  [7] uv_write(s::Base.PipeEndpoint, p::Ptr{UInt8}, n::UInt64)
    @ Base ./stream.jl:1048
  [8] unsafe_write(s::Base.PipeEndpoint, p::Ptr{UInt8}, n::UInt64)
    @ Base ./stream.jl:1120
  [9] unsafe_write
    @ ./io.jl:698 [inlined]
 [10] write(s::Base.PipeEndpoint, a::Vector{UInt8})
    @ Base ./io.jl:721
 [11] handle_message(logger::Logging.ConsoleLogger, level::Base.CoreLogging.LogLevel, message::Any, _module::Any, group::Any, id::Any, filepath::Any, line::Any; kwargs...)
    @ Logging ~/.julia/juliaup/julia-1.10.9+0.aarch64.apple.darwin14/share/julia/stdlib/v1.10/Logging/src/ConsoleLogger.jl:178
 [12] handle_message(logger::Logging.ConsoleLogger, level::Base.CoreLogging.LogLevel, message::Any, _module::Any, group::Any, id::Any, filepath::Any, line::Any)
    @ Logging ~/.julia/juliaup/julia-1.10.9+0.aarch64.apple.darwin14/share/julia/stdlib/v1.10/Logging/src/ConsoleLogger.jl:106
 [13] #invokelatest#2
    @ ./essentials.jl:892 [inlined]
 [14] invokelatest
    @ ./essentials.jl:889 [inlined]
 [15] macro expansion
    @ ./logging.jl:377 [inlined]
 [16] temp_cleanup_purge(; force::Bool)
    @ Base.Filesystem ./file.jl:549
 [17] temp_cleanup_purge
    @ ./file.jl:537 [inlined]
 [18] (::Base.var"#951#952")()
    @ Base ./initdefs.jl:366
 [19] _atexit(exitcode::Int32)
    @ Base ./initdefs.jl:428
  Activating new project at `/var/folders/d5/xj384ymn2r551n6yk4mwl2ch0000gp/T/jl_Txhadu`
   Resolving package versions...
kevent at /usr/lib/system/libsystem_kernel.dylib (unknown line)
unknown function (ip: 0x0)
Allocations: 80911676 (Pool: 80807110; Big: 104566); GC: 67
kevent at /usr/lib/system/libsystem_kernel.dylib (unknown line)
unknown function (ip: 0x0)
Allocations: 103573488 (Pool: 103438497; Big: 134991); GC: 63
┌ Warning: Failed to clean up temporary path "/var/folders/d5/xj384ymn2r551n6yk4mwl2ch0000gp/T/jl_OHsqO7"
│ ErrorException("schedule: Task not runnable")
└ @ Base.Filesystem file.jl:549
schedule: Task not runnablekevent at /usr/lib/system/libsystem_kernel.dylib (unknown line)
unknown function (ip: 0x0)
Allocations: 105242613 (Pool: 105112657; Big: 129956); GC: 75
┌ Warning: Failed to clean up temporary path "/var/folders/d5/xj384ymn2r551n6yk4mwl2ch0000gp/T/jl_wqlEA9"
│ ErrorException("schedule: Task not runnable")
└ @ Base.Filesystem file.jl:549
schedule: Task not runnablekevent at /usr/lib/system/libsystem_kernel.dylib (unknown line)
unknown function (ip: 0x0)
Allocations: 131856809 (Pool: 131687481; Big: 169328); GC: 71
kevent at /usr/lib/system/libsystem_kernel.dylib (unknown line)
unknown function (ip: 0x0)
Allocations: 137510072 (Pool: 137327213; Big: 182859); GC: 103
kevent at /usr/lib/system/libsystem_kernel.dylib (unknown line)
unknown function (ip: 0x0)
Allocations: 90945099 (Pool: 90830937; Big: 114162); GC: 62
...

So I’ll be reinstalling 1.127.2.

1 Like

Hm, that actually looks like a Julia bug to me… What Julia version are you using?

Also, there is a newer version of the extension as a pre-release out right now (v1.147) and in general I’m pushing out new versions there a lot that fix more and more test item stuff, its the thing I’m focused on right now. So maybe ideally at the moment try the pre-release versions to get the latest test item fixes. But I don’t think your error would be explained/fixed by the newer version…

2 Likes

I’m using 1.10.9+0.aarch64.apple.darwin14 for my project, but I think VS Code is finding 1.11.5+0.aarch64.apple.darwin14 on my machine and using that for the test daemon processes? I’m not quite sure how to tell.

[EDIT] Actually I see Logging ~/.julia/juliaup/julia-1.10.9+0.aarch64.apple.darwin14 in the error output, so I guess it’s using my juliaup default of 1.10.9.

It will always use the Juliaup release channel for the coordinator, and then whatever you configured as the default in Juliaup to run the actual tests.

Could you try to run the tests with Julia 1.11 as the default? If this is indeed a Julia bug, maybe it has been fixed in the meantime…

I didn’t get a chance to try Julia 1.11, but I did see that version 1.149.2 of the extension was released in the meantime - I installed that and have put it through a few paces (still with Julia 1.10) and so far it looks good.

I’ve now had a chance to try Julia 1.11 with version 1.149.2 of the extension. Still getting trouble. A test run is currently hung up before executing any tests. I captured the following from the “Julia Test Item Controller” output:

[ Info: New env, lets figure out whether we need to precompile the test environment
[ Info: Julia version is new enough
[ Info: Stealing 7 test items from 783c2c12-e818-4506-8ae1-276bf87bd686 for 9482e969-2591-48b4-ba28-cc23a69ee7b2.
[ Info: Stealing 3 test items from 783c2c12-e818-4506-8ae1-276bf87bd686 for 2aaa00a2-95c0-4a5a-9ebd-5a0018d76e81.
[ Info: Stealing 3 test items from 9482e969-2591-48b4-ba28-cc23a69ee7b2 for 7fa1f651-1f84-40a0-b90e-d47da50bba8b.
[ Info: Stealing 3 test items from 251994c6-eaa4-4cdc-a857-dbc34b16ec63 for 7fa1f651-1f84-40a0-b90e-d47da50bba8b.
[ Info: Stealing 1 test items from 7fa1f651-1f84-40a0-b90e-d47da50bba8b for 538d7a03-e30f-4f06-9d79-00162b0c7191.
[ Info: Stealing 1 test items from bb5d552d-5421-47cc-a09f-446ef8cff131 for 538d7a03-e30f-4f06-9d79-00162b0c7191.
[ Info: Stealing 1 test items from d1f90ea9-8b50-43b1-a2e9-73553d575894 for 783c2c12-e818-4506-8ae1-276bf87bd686.
[ Info: Stealing 1 test items from 7fa1f651-1f84-40a0-b90e-d47da50bba8b for 9482e969-2591-48b4-ba28-cc23a69ee7b2.
[ Info: Stealing 1 test items from bb5d552d-5421-47cc-a09f-446ef8cff131 for 9482e969-2591-48b4-ba28-cc23a69ee7b2.
[ Info: Stealing 1 test items from 5ccf5995-5394-449c-8dbd-c655002c6fce for bb5d552d-5421-47cc-a09f-446ef8cff131.
[ Info: Stealing 1 test items from d1f90ea9-8b50-43b1-a2e9-73553d575894 for 7fa1f651-1f84-40a0-b90e-d47da50bba8b.
[ Info: Nothing to steal for 0023b44a-0fb1-40e9-b0ee-7290b99fb90e, returning to pool (passed: file:///Users/kwilliams/git/transmission/TFOpt.jl/test/workspace_test.jl:20).
[ Info: Nothing to steal for 538d7a03-e30f-4f06-9d79-00162b0c7191, returning to pool (passed: file:///Users/kwilliams/git/transmission/TFOpt.jl/test/proposals_test.jl:6).
[ Info: Nothing to steal for 7fa1f651-1f84-40a0-b90e-d47da50bba8b, returning to pool (passed: file:///Users/kwilliams/git/transmission/TFOpt.jl/test/sme_models_test.jl:4).
[ Info: Nothing to steal for d1f90ea9-8b50-43b1-a2e9-73553d575894, returning to pool (skipped_stolen: file:///Users/kwilliams/git/transmission/TFOpt.jl/test/ptdf_test.jl:1).
[ Info: Nothing to steal for bb5d552d-5421-47cc-a09f-446ef8cff131, returning to pool (passed: file:///Users/kwilliams/git/transmission/TFOpt.jl/test/objective_test.jl:5).
[ Info: Nothing to steal for 2aaa00a2-95c0-4a5a-9ebd-5a0018d76e81, returning to pool (passed: file:///Users/kwilliams/git/transmission/TFOpt.jl/test/workspace_test.jl:11).
[ Info: Nothing to steal for 251994c6-eaa4-4cdc-a857-dbc34b16ec63, returning to pool (skipped_stolen: file:///Users/kwilliams/git/transmission/TFOpt.jl/test/sme_models_test.jl:5).
[ Info: Nothing to steal for 9482e969-2591-48b4-ba28-cc23a69ee7b2, returning to pool (passed: file:///Users/kwilliams/git/transmission/TFOpt.jl/test/ptdf_test.jl:6).
[ Info: Nothing to steal for 783c2c12-e818-4506-8ae1-276bf87bd686, returning to pool (passed: file:///Users/kwilliams/git/transmission/TFOpt.jl/test/ptdf_test.jl:1).
[ Info: Nothing to steal for 5ccf5995-5394-449c-8dbd-c655002c6fce, returning to pool (skipped_stolen: file:///Users/kwilliams/git/transmission/TFOpt.jl/test/objective_test.jl:5).
[ Info: Creating new test run
┌ Info: Test environment
│ 
│ Project Uri: nothing
│ Package Uri: file:///Users/kwilliams/git/transmission/TFOpt.jl
│ Package Name: TFOpt
│ Julia command: julia
│ Julia Num Threads: missing
│ Mode: Normal
│ Env: Dict{String, Union{Nothing, String}}()
│ 
└ We need 10 procs, there are 10 processes, of which 10 are idle.
[ Info: New env, lets figure out whether we need to precompile the test environment
[ Info: Julia version is new enough
[ Info: Revise could not handle changes or test env was changed, restarting process
[ Info: Revise could not handle changes or test env was changed, restarting process
[ Info: Revise could not handle changes or test env was changed, restarting process
[ Info: Revise could not handle changes or test env was changed, restarting process
[ Info: Revise could not handle changes or test env was changed, restarting process
[ Info: Revise could not handle changes or test env was changed, restarting process
[ Info: Revise could not handle changes or test env was changed, restarting process
[ Info: Revise could not handle changes or test env was changed, restarting process
[ Info: Revise could not handle changes or test env was changed, restarting process
[ Info: Revise could not handle changes or test env was changed, restarting process
ERROR: InvalidStateException: Channel is closed.
Stacktrace:
 [1] try_yieldto(undo::typeof(Base.ensure_rescheduled))
   @ Base ./task.jl:958
 [2] wait()
   @ Base ./task.jl:1022
 [3] wait(c::Base.GenericCondition{ReentrantLock}; first::Bool)
   @ Base ./condition.jl:130
 [4] wait
   @ ./condition.jl:125 [inlined]
 [5] take_buffered(c::Channel{TestItemControllers.JSONRPC.Request})
   @ Base ./channels.jl:493
 [6] take!
   @ ./channels.jl:487 [inlined]
 [7] get_next_message
   @ ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/packages/JSONRPC/src/core.jl:330 [inlined]
 [8] start(testprocess_id::String, controller_msg_channel::Channel{Any}, testprocess_msg_channel::Channel{Any}, env::TestItemControllers.TestEnvironment, debug_pipe_name::String, error_handler_file::String, crash_reporting_pipename::String, token::TestItemControllers.CancellationTokens.CancellationToken)
   @ TestItemControllers ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/testprocess.jl:634
 [9] (::TestItemControllers.var"#54#64"{TestItemControllers.CancellationTokens.CancellationTokenSource, String, Channel{Any}, TestItemControllers.TestEnvironment, String, String, Channel{Any}, String})()
   @ TestItemControllers ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/testprocess.jl:165
ERROR: InvalidStateException: Channel is closed.
Stacktrace:
 [1] try_yieldto(undo::typeof(Base.ensure_rescheduled))
   @ Base ./task.jl:958
 [2] wait()
   @ Base ./task.jl:1022
 [3] wait(c::Base.GenericCondition{ReentrantLock}; first::Bool)
   @ Base ./condition.jl:130
 [4] wait
   @ ./condition.jl:125 [inlined]
 [5] take_buffered(c::Channel{TestItemControllers.JSONRPC.Request})
   @ Base ./channels.jl:493
 [6] take!
   @ ./channels.jl:487 [inlined]
 [7] get_next_message
   @ ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/packages/JSONRPC/src/core.jl:330 [inlined]
 [8] start(testprocess_id::String, controller_msg_channel::Channel{Any}, testprocess_msg_channel::Channel{Any}, env::TestItemControllers.TestEnvironment, debug_pipe_name::String, error_handler_file::String, crash_reporting_pipename::String, token::TestItemControllers.CancellationTokens.CancellationToken)
   @ TestItemControllers ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/testprocess.jl:634
 [9] (::TestItemControllers.var"#54#64"{TestItemControllers.CancellationTokens.CancellationTokenSource, String, Channel{Any}, TestItemControllers.TestEnvironment, String, String, Channel{Any}, String})()
   @ TestItemControllers ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/testprocess.jl:165
ERROR: InvalidStateException: Channel is closed.
Stacktrace:
 [1] try_yieldto(undo::typeof(Base.ensure_rescheduled))
   @ Base ./task.jl:958
 [2] wait()
   @ Base ./task.jl:1022
 [3] wait(c::Base.GenericCondition{ReentrantLock}; first::Bool)ERROR: 
InvalidStateException:    @Channel is closed. 
Stacktrace:Base
  ./[1]condition.jl:130 try_yieldto(undo::typeof(Base.ensure_rescheduled))

    @[4]  Basewait 
./   @task.jl:958 ./
condition.jl:125  [inlined][2]
  wait()[5]
    @take_buffered(c::Channel{TestItemControllers.JSONRPC.Request}) 
Base   @  ./Basetask.jl:1022 ./
channels.jl:493 [3]
  wait(c::Base.GenericCondition{ReentrantLock}; first::Bool)[6]
    @take! 
Base   @  ././condition.jl:130channels.jl:487 [inlined]

 [4]  wait[7]
    @get_next_message 
./   @condition.jl:125  [inlined]~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/packages/JSONRPC/src/
core.jl:330  [inlined][5]
  take_buffered(c::Channel{TestItemControllers.JSONRPC.Request})[8]
    @start(testprocess_id::String, controller_msg_channel::Channel{Any}, testprocess_msg_channel::Channel{Any}, env::TestItemControllers.TestEnvironment, debug_pipe_name::String, error_handler_file::String, crash_reporting_pipename::String, token::TestItemControllers.CancellationTokens.CancellationToken) 
Base   @  ./TestItemControllerschannels.jl:493 ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/
testprocess.jl:634 [6]
  take![9]
    @(::TestItemControllers.var"#54#64"{TestItemControllers.CancellationTokens.CancellationTokenSource, String, Channel{Any}, TestItemControllers.TestEnvironment, String, String, Channel{Any}, String})() 
./   @channels.jl:487  [inlined]TestItemControllers
  ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/[7]testprocess.jl:165 get_next_message

   @ ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/packages/JSONRPC/src/core.jl:330 [inlined]
 [8] start(testprocess_id::String, controller_msg_channel::Channel{Any}, testprocess_msg_channel::Channel{Any}, env::TestItemControllers.TestEnvironment, debug_pipe_name::String, error_handler_file::String, crash_reporting_pipename::String, token::TestItemControllers.CancellationTokens.CancellationToken)
   @ TestItemControllers ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/testprocess.jl:634
 [9] (::TestItemControllers.var"#54#64"{TestItemControllers.CancellationTokens.CancellationTokenSource, String, Channel{Any}, TestItemControllers.TestEnvironment, String, String, Channel{Any}, String})()
   @ TestItemControllers ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/testprocess.jl:165
ERROR: InvalidStateException: Channel is closed.
Stacktrace:
 [1] try_yieldto(undo::typeof(Base.ensure_rescheduled))
   @ Base ./task.jl:958
 [2] wait()
   @ Base ./task.jl:1022
 [3] wait(c::Base.GenericCondition{ReentrantLock}; first::Bool)
   @ Base ./condition.jl:130
 [4] wait
   @ ./condition.jl:125 [inlined]
 [5] take_buffered(c::Channel{TestItemControllers.JSONRPC.Request})
   @ Base ./channels.jl:493
 [6] take!
   @ ./channels.jl:487 [inlined]
 [7] get_next_message
   @ ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/packages/JSONRPC/src/core.jl:330 [inlined]
 [8] start(testprocess_id::String, controller_msg_channel::Channel{Any}, testprocess_msg_channel::Channel{Any}, env::TestItemControllers.TestEnvironment, debug_pipe_name::String, error_handler_file::String, crash_reporting_pipename::String, token::TestItemControllers.CancellationTokens.CancellationToken)
   @ TestItemControllers ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/testprocess.jl:634
 [9] (::TestItemControllers.var"#54#64"{TestItemControllers.CancellationTokens.CancellationTokenSource, String, Channel{Any}, TestItemControllers.TestEnvironment, String, String, Channel{Any}, String})()
   @ TestItemControllers ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/testprocess.jl:165
ERROR: InvalidStateException: Channel is closed.
Stacktrace:
 [1] try_yieldto(undo::typeof(Base.ensure_rescheduled))
   @ Base ./task.jl:958
 [2] wait()
   @ Base ERROR: ./InvalidStateException: task.jl:1022Channel is closed.
Stacktrace:

 [1]  try_yieldto(undo::typeof(Base.ensure_rescheduled))[3]
    @wait(c::Base.GenericCondition{ReentrantLock}; first::Bool) 
Base   @  ./Basetask.jl:958 ./
condition.jl:130 [2]
  wait()[4]
    @wait 
Base   @  ././task.jl:1022condition.jl:125 [inlined]

 [3]  wait(c::Base.GenericCondition{ReentrantLock}; first::Bool)[5]
    @take_buffered(c::Channel{TestItemControllers.JSONRPC.Request}) 
Base   @  ./Basecondition.jl:130 ./
channels.jl:493 [4]
  wait[6]
    @take! 
./   @condition.jl:125  [inlined]./
channels.jl:487  [inlined][5]
  take_buffered(c::Channel{TestItemControllers.JSONRPC.Request})[7]
    @get_next_message 
Base   @  ./~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/packages/JSONRPC/src/channels.jl:493ERROR: core.jl:330InvalidStateException:  [inlined]
Channel is closed.

Stacktrace:
 [1]  try_yieldto(undo::typeof(Base.ensure_rescheduled))[8]
    @ start(testprocess_id::String, controller_msg_channel::Channel{Any}, testprocess_msg_channel::Channel{Any}, env::TestItemControllers.TestEnvironment, debug_pipe_name::String, error_handler_file::String, crash_reporting_pipename::String, token::TestItemControllers.CancellationTokens.CancellationToken) [6]
Base    @ take! ./
TestItemControllerstask.jl:958   @  ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/
./testprocess.jl:634 channels.jl:487[2] [inlined]
 
 wait()[9]
    @ (::TestItemControllers.var"#54#64"{TestItemControllers.CancellationTokens.CancellationTokenSource, String, Channel{Any}, TestItemControllers.TestEnvironment, String, String, Channel{Any}, String})() [7]
Base    @ get_next_message ./
TestItemControllerstask.jl:1022   @  ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/
~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/packages/JSONRPC/src/testprocess.jl:165 core.jl:330[3] [inlined]
 
wait(c::Base.GenericCondition{ReentrantLock}; first::Bool) 
[8]   @  start(testprocess_id::String, controller_msg_channel::Channel{Any}, testprocess_msg_channel::Channel{Any}, env::TestItemControllers.TestEnvironment, debug_pipe_name::String, error_handler_file::String, crash_reporting_pipename::String, token::TestItemControllers.CancellationTokens.CancellationToken)Base
    @./ condition.jl:130TestItemControllers 
~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/ testprocess.jl:634[4] 
wait 
[9]   @  (::TestItemControllers.var"#54#64"{TestItemControllers.CancellationTokens.CancellationTokenSource, String, Channel{Any}, TestItemControllers.TestEnvironment, String, String, Channel{Any}, String})()./
condition.jl:125   @ [inlined] 
TestItemControllers  [5]~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/ testprocess.jl:165take_buffered(c::Channel{TestItemControllers.JSONRPC.Request})

   @ Base ./channels.jl:493
 [6] take!
   @ ./channels.jl:487 [inlined]
 [7] ERROR: get_next_messageInvalidStateException: 
Channel is closed.   @
Stacktrace: 
~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/packages/JSONRPC/src/ core.jl:330[1] [inlined] 
try_yieldto(undo::typeof(Base.ensure_rescheduled)) 
[8]   @  start(testprocess_id::String, controller_msg_channel::Channel{Any}, testprocess_msg_channel::Channel{Any}, env::TestItemControllers.TestEnvironment, debug_pipe_name::String, error_handler_file::String, crash_reporting_pipename::String, token::TestItemControllers.CancellationTokens.CancellationToken)Base
    @./ task.jl:958TestItemControllers 
~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/ testprocess.jl:634[2] 
wait() 
[9]   @  (::TestItemControllers.var"#54#64"{TestItemControllers.CancellationTokens.CancellationTokenSource, String, Channel{Any}, TestItemControllers.TestEnvironment, String, String, Channel{Any}, String})()Base
    @ERROR: ./ InvalidStateException: task.jl:1022TestItemControllersChannel is closed. 
Stacktrace:
~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/
testprocess.jl:165 [1]
  try_yieldto(undo::typeof(Base.ensure_rescheduled))[3]
    @wait(c::Base.GenericCondition{ReentrantLock}; first::Bool) 
Base   @  ./Basetask.jl:958 ./
condition.jl:130 [2]
  wait()[4]
    @wait 
Base   @  ././task.jl:1022condition.jl:125 [inlined]

 [3]  wait(c::Base.GenericCondition{ReentrantLock}; first::Bool)[5]
    @take_buffered(c::Channel{TestItemControllers.JSONRPC.Request}) 
Base   @  ./Basecondition.jl:130 ./
channels.jl:493 [4]
  wait[6]
    @take! 
./   @condition.jl:125  [inlined]./
channels.jl:487  [inlined][5]
  take_buffered(c::Channel{TestItemControllers.JSONRPC.Request})[7]
    @get_next_message 
Base   @  ./~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/packages/JSONRPC/src/channels.jl:493core.jl:330 [inlined]

 [6]  take![8]
    @start(testprocess_id::String, controller_msg_channel::Channel{Any}, testprocess_msg_channel::Channel{Any}, env::TestItemControllers.TestEnvironment, debug_pipe_name::String, error_handler_file::String, crash_reporting_pipename::String, token::TestItemControllers.CancellationTokens.CancellationToken) 
./   @channels.jl:487  [inlined]TestItemControllers
  ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/[7]testprocess.jl:634 get_next_message

    @[9]  ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/packages/JSONRPC/src/(::TestItemControllers.var"#54#64"{TestItemControllers.CancellationTokens.CancellationTokenSource, String, Channel{Any}, TestItemControllers.TestEnvironment, String, String, Channel{Any}, String})()core.jl:330
 [inlined]   @
  TestItemControllers[8]  ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/start(testprocess_id::String, controller_msg_channel::Channel{Any}, testprocess_msg_channel::Channel{Any}, env::TestItemControllers.TestEnvironment, debug_pipe_name::String, error_handler_file::String, crash_reporting_pipename::String, token::TestItemControllers.CancellationTokens.CancellationToken)testprocess.jl:165
   @
 TestItemControllers ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/testprocess.jl:634
 [9] (::TestItemControllers.var"#54#64"{TestItemControllers.CancellationTokens.CancellationTokenSource, String, Channel{Any}, TestItemControllers.TestEnvironment, String, String, Channel{Any}, String})()
   @ TestItemControllers ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/testprocess.jl:165
ERROR: ERROR: ERROR: ERROR: ERROR: ERROR: ERROR: ERROR: ERROR: Invalid state transition from testrun_activating.Invalid state transition from testrun_activating.Invalid state transition from testrun_activating.Invalid state transition from testrun_activating.Invalid state transition from testrun_activating.Invalid state transition from testrun_activating.Invalid state transition from testrun_activating.Invalid state transition from testrun_activating.Invalid state transition from testrun_activating.
Stacktrace:
 [1] 
Stacktrace:error(s::String)

    @[1]  Base
Stacktrace:error(s::String) 

./    @error.jl:35[1]  Base

Stacktrace:error(s::String) 

./    @error.jl:35[1]  Base

Stacktrace:error(s::String) 

./    @error.jl:35[1]  Base

Stacktrace:error(s::String) 

./    @error.jl:35[1]  Base

Stacktrace:error(s::String) 

./    @error.jl:35[1]  Base

Stacktrace:error(s::String) 

./    @error.jl:35[1]  Base

Stacktrace:error(s::String) 

./    @error.jl:35[1]  Base
 error(s::String) [2]
./    @error.jl:35 (::TestItemControllers.var"#51#61"{Channel{Any}, TestItemControllers.TestEnvironment, Bool, String, String, String, Channel{Any}, String})() [2]
Base
    @  (::TestItemControllers.var"#51#61"{Channel{Any}, TestItemControllers.TestEnvironment, Bool, String, String, String, Channel{Any}, String})() ./[2]
TestItemControllerserror.jl:35    @  (::TestItemControllers.var"#51#61"{Channel{Any}, TestItemControllers.TestEnvironment, Bool, String, String, String, Channel{Any}, String})() ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/
[2]
TestItemControllerstestprocess.jl:203    @  (::TestItemControllers.var"#51#61"{Channel{Any}, TestItemControllers.TestEnvironment, Bool, String, String, String, Channel{Any}, String})() ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/
[2]
TestItemControllerstestprocess.jl:203    @  (::TestItemControllers.var"#51#61"{Channel{Any}, TestItemControllers.TestEnvironment, Bool, String, String, String, Channel{Any}, String})() ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/
[2]
TestItemControllerstestprocess.jl:203    @  (::TestItemControllers.var"#51#61"{Channel{Any}, TestItemControllers.TestEnvironment, Bool, String, String, String, Channel{Any}, String})() ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/
[2]
TestItemControllerstestprocess.jl:203    @  (::TestItemControllers.var"#51#61"{Channel{Any}, TestItemControllers.TestEnvironment, Bool, String, String, String, Channel{Any}, String})() ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/
[2]
TestItemControllerstestprocess.jl:203    @  (::TestItemControllers.var"#51#61"{Channel{Any}, TestItemControllers.TestEnvironment, Bool, String, String, String, Channel{Any}, String})() ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/
[2]
TestItemControllerstestprocess.jl:203    @ (::TestItemControllers.var"#51#61"{Channel{Any}, TestItemControllers.TestEnvironment, Bool, String, String, String, Channel{Any}, String})() ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/

TestItemControllerstestprocess.jl:203   @  ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/
TestItemControllerstestprocess.jl:203 ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/
testprocess.jl:203
ERROR: Invalid state transition from running_tests.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:35
 [2] (::TestItemControllers.var"#51#61"{Channel{Any}, TestItemControllers.TestEnvironment, Bool, String, String, String, Channel{Any}, String})()
   @ TestItemControllers ~/.vscode/extensions/julialang.language-julia-1.149.2/scripts/packages/TestItemControllers/src/testprocess.jl:203

I had also started to see hanging with Julia 1.10, which is what prompted me to try 1.11.

1 Like

@Ken_Williams I just published pre release version v1.150 of the extension, can you try again? I fixed at least some of the earlier bugs that you showed there, unclear whether that will get rid of the problem entirely.