Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kernels in kernel picker have the same name and do not use "display_name" field of kernelspec #8481

Closed
saisasidhar opened this issue Dec 8, 2021 · 11 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug verified Verification succeeded
Milestone

Comments

@saisasidhar
Copy link

Environment data

  • VS Code version: 1.62.3
  • Jupyter Extension version (available under the Extensions sidebar): v2021.10.1101450599
  • Python Extension version (available under the Extensions sidebar): v2021.11.1422169775
  • OS (Windows | Mac | Linux distro) and version: Windows 10
  • Python and/or Anaconda version: Python 3.7
  • Type of virtual environment used (N/A | venv | virtualenv | conda | ...): poetry
  • Jupyter server running: Remote

Expected behaviour

Name of the kernel as specified in display_name field of a kernelspec's kernel.json should be shown in the kernel picker of "Jupyter Interactive Window". I think it was displayed properly in 2021.8.11 when I reported #7063

Actual behaviour

All kernels in the kernel picker have the same name such as poetryprojectname-XYZ-py3.7 (Python 3.7.12) ~/.cache/pypoetry/virtualenv....

Steps to reproduce:

  1. Create a venv using virtualenvironment or any package manager like poetry
  2. Install jupyter pip package in the above env
  3. Change directory to $VIRTUAL_ENV/share/jupyter/kernels
  4. Duplicate python3 directory to new directory, say new_kernel
  5. Change display_name field in new_kernel/kernel.json
  6. Restart vscode and open the kernel picker, it should now display two kernels for the env, but both bear the same name

Logs

Haven't found anything relevant in the logs

@saisasidhar saisasidhar added the bug Issue identified by VS Code Team member as probable bug label Dec 8, 2021
@rchiodo rchiodo added info-needed Issue requires more information from poster and removed needs-triage labels Dec 8, 2021
@rchiodo
Copy link
Contributor

rchiodo commented Dec 8, 2021

Thanks for the bug. This is likely because the cache hasn't updated.

The output log should show what we found while searching for kernels. Can you include it here?

@rchiodo
Copy link
Contributor

rchiodo commented Dec 8, 2021

Sorry you have to turn on 'verbose' logging:

image

For me, this is by design because the second kernelspec (even though it has a custom name) is really the same as the 'python3' kernelspec for the virtual environment.

Meaning this:

{
 "argv": [
  "python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "My Test Kernel",
 "language": "python",
 "metadata": {
  "debugger": true
 }
}

is the same environment as this:

{
 "argv": [
  "python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python 3 (ipykernel)",
 "language": "python",
 "metadata": {
  "debugger": true
 }
}

They both launch the kernel the exact same way and we remove the custom one as a duplicate.

@rchiodo
Copy link
Contributor

rchiodo commented Dec 8, 2021

There is a bug though. If the custom kernel differs in any other way (like say the environment) it shouldn't be dropped as a duplicate.

@rchiodo rchiodo added needs-triage and removed info-needed Issue requires more information from poster labels Dec 8, 2021
@rchiodo rchiodo removed their assignment Dec 8, 2021
@saisasidhar
Copy link
Author

saisasidhar commented Dec 8, 2021

@rchiodo Thanks a lot for your quick feedback.

the second kernelspec (even though it has a custom name) is really the same as the 'python3' kernelspec for the virtual environment.

That sounds reasonable, In my non-tested "steps to reproduce" I was aiming for a simple example so authors of this extension can reproduce this bug. I just tried them out and I can confirm that a new kernel with just a different name is hidden and not available through kernel picker.

But in my actual usecase where I found this name bug, argv of new kernel is not the same as argv of default kernel (for context please refer #7063).

So here's a working example to illustrate the problem:

Default Kernel :

{
 "argv": [
  "python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python 3 (ipykernel)",
 "language": "python",
 "metadata": {
  "debugger": true
 }
}

Custom Kernel :

{
    "argv": [
     "python",
     "-m",
     "ipykernel_launcher",
     "-c",
     "print('hello')",
     "-f",
     "{connection_file}"
    ],
    "env": {
       "PYTHONPATH": "/some/random/path"
     },
    "display_name": "new_kernel",
    "language": "python",
    "metadata": {
     "debugger": true
    }
}

The addition of env and -c print('hello') was sufficient for the jupyter extension to not hide the new kernel.

Now the kernel picker shows two kernels with the same name:
image

selecting it shows that the new kernel is also started properly:
image

Finally, here are the logs from my updated example posted in this comment

Expand..

Info 2021-12-08 12:33:22: Experimentation service retrieved: [object Object]
User belongs to experiment group 'jupyterTestcf'
User belongs to experiment group 'jupyterEnhancedDataViewer'
Info 2021-12-08 12:33:22: ZMQ install verified.
Info 2021-12-08 12:33:22: Experiment status for python is {"enabled":true,"optInto":[],"optOutFrom":[]}
Info 2021-12-08 12:33:22: Process Execution: > ~/workbench/test/venv/bin/python -c "import jupyter"
> ~/workbench/test/venv/bin/python -c "import jupyter"
Info 2021-12-08 12:33:22: Process Execution: > ~/workbench/test/venv/bin/python -c "import notebook"
> ~/workbench/test/venv/bin/python -c "import notebook"
Info 2021-12-08 12:33:23: Process Execution: > ~/workbench/test/venv/bin/python -m jupyter kernelspec --version
> ~/workbench/test/venv/bin/python -m jupyter kernelspec --version
Info 2021-12-08 12:33:23: Process Execution: > ~/workbench/test/venv/bin/python -m pip list
> ~/workbench/test/venv/bin/python -m pip list
Info 2021-12-08 12:33:23: Creating controller for interactive with interpreter /home/tars/workbench/test/venv/bin/python
Info 2021-12-08 12:33:23: Starting interactive window with controller ID ms-toolsai.jupyter/.jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc./home/tars/workbench/test/venv/python./home/tars/workbench/test/venv/python.-m#ipykernel_launcher (Interactive)
Info 2021-12-08 12:33:23: Setting setActiveController for vscode-interactive:Interactive-1.interactive
Silly 2021-12-08 12:33:23: Intiailize notebook communications for editor vscode-interactive:Interactive-1.interactive
Silly 2021-12-08 12:33:23: Resolving notebook UI Comms (resolve) for vscode-interactive:Interactive-1.interactive
Silly 2021-12-08 12:33:23: initialize CommonMessageCoordinator
Silly 2021-12-08 12:33:23: IPyWidgetMessageDispatcher.initialize
Silly 2021-12-08 12:33:23: Created and initailized CommonMessageCoordinator
Silly 2021-12-08 12:33:23: Attach Coordinator for vscode-interactive:Interactive-1.interactive
Info 2021-12-08 12:33:23: Starting Notebook in kernel.ts id = .jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc./home/tars/workbench/test/venv/python./home/tars/workbench/test/venv/python.-m#ipykernel_launcher
Info 2021-12-08 12:33:23: Creating raw notebook for vscode-interactive:Interactive-1.interactive
Info 2021-12-08 12:33:23: Getting preferred kernel for vscode-interactive:Interactive-1.interactive
Info 2021-12-08 12:33:23: Computing working directory vscode-interactive:Interactive-1.interactive
Info 2021-12-08 12:33:23: Connecting to raw session for vscode-interactive:Interactive-1.interactive with connection {"kind":"startUsingPythonInterpreter","kernelSpec":{"interpreterPath":"/home/tars/workbench/test/venv/bin/python","name":"python3712jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc","argv":["python","-m","ipykernel_launcher","-f","{connection_file}"],"language":"python","path":"python","display_name":"Python 3.7.12 64-bit ('venv': venv)","metadata":{"interpreter":{"sysPrefix":"/home/tars/workbench/test/venv","envType":"Venv","envName":"venv","envPath":"/home/tars/workbench/test/venv","path":"/home/tars/workbench/test/venv/bin/python","architecture":3,"sysVersion":"3.7.12 (default, Sep 10 2021, 00:20:04) \n[GCC 9.3.0]","version":{"raw":"3.7.12","major":3,"minor":7,"patch":12,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.7.12 64-bit ('venv': venv)"}},"env":{}},"interpreter":{"sysPrefix":"/home/tars/workbench/test/venv","envType":"Venv","envName":"venv","envPath":"/home/tars/workbench/test/venv","path":"/home/tars/workbench/test/venv/bin/python","architecture":3,"sysVersion":"3.7.12 (default, Sep 10 2021, 00:20:04) \n[GCC 9.3.0]","version":{"raw":"3.7.12","major":3,"minor":7,"patch":12,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.7.12 64-bit ('venv': venv)"},"id":".jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc./home/tars/workbench/test/venv/python./home/tars/workbench/test/venv/python.-m#ipykernel_launcher"}
Info 2021-12-08 12:33:23: Starting raw kernel Python 3.7.12 64-bit ('venv': venv)
Info 2021-12-08 12:33:23: installMissingDependencies /home/tars/workbench/test/venv/bin/python
Info 2021-12-08 12:33:23: Process Execution: > ~/workbench/test/venv/bin/python -c "import ipykernel"
> ~/workbench/test/venv/bin/python -c "import ipykernel"
Info 2021-12-08 12:33:23: Install Missing Dependencies, Class name = S, completed in 203ms, has a falsy return value, Return Value: undefined
Info 2021-12-08 12:33:23: Kernel launching with ports 9035,9036,9037,9038,9039. Start port is 9000
Info 2021-12-08 12:33:23: Launching kernel daemon for Python 3.7.12 64-bit ('venv': venv) # /home/tars/workbench/test/venv/bin/python
Info 2021-12-08 12:33:23: No custom variables for Kernel as interpreter is not conda, but is Venv
Info 2021-12-08 12:33:23: Creating daemon process for /home/tars/workbench/test/venv/bin/python with env variables count 47
Info 2021-12-08 12:33:23: Process Execution: > ~/workbench/test/venv/bin/python -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
> ~/workbench/test/venv/bin/python -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
Info 2021-12-08 12:33:23: Loading kernelspec from /usr/local/share/jupyter/kernels/global_ecs/kernel.json for undefined
Info 2021-12-08 12:33:23: Loading kernelspec from /home/tars/workbench/test/venv/share/jupyter/kernels/new_kernel/kernel.json for /home/tars/workbench/test/venv/bin/python
Info 2021-12-08 12:33:23: Loading kernelspec from /home/tars/workbench/test/venv/share/jupyter/kernels/python3/kernel.json for /home/tars/workbench/test/venv/bin/python
Info 2021-12-08 12:33:23: Starting kernel from scratch with options {"cwd":"/home/tars/workbench/test"}
Info 2021-12-08 12:33:23: Python Daemon (pid: 24225): Execute rpc method exec_module in DS Daemon
Info 2021-12-08 12:33:23: Python Daemon (pid: 24225): Execute rpc method exec_module from /home/tars/workbench/test/venv/bin/python
Info 2021-12-08 12:33:23: Python Daemon (pid: 24225): Exec module in DS Kernel Launcher Daemon ipykernel_launcher with args ['--ip=127.0.0.1', '--stdin=9038', '--control=9036', '--hb=9035', '--Session.signature_scheme="hmac-sha256"', '--Session.key=b"600a0ce5-c287-4ac7-a82a-2619ed7f40e0"', '--shell=9037', '--transport="tcp"', '--iopub=9039', '--f=/tmp/tmp-234463aN3hQeYIahw.json']
Info 2021-12-08 12:33:23: Python Daemon (pid: 24225): Exec in DS Kernel Launcher Daemon (observable) ipykernel_launcher with args ['--ip=127.0.0.1', '--stdin=9038', '--control=9036', '--hb=9035', '--Session.signature_scheme="hmac-sha256"', '--Session.key=b"600a0ce5-c287-4ac7-a82a-2619ed7f40e0"', '--shell=9037', '--transport="tcp"', '--iopub=9039', '--f=/tmp/tmp-234463aN3hQeYIahw.json']
Info 2021-12-08 12:33:23: Python Daemon (pid: 24225): Exec in DS Kernel Launcher Daemon (observable) ['/home/tars/workbench/test/venv/bin/python', '-m', 'ipykernel_launcher', '--ip=127.0.0.1', '--stdin=9038', '--control=9036', '--hb=9035', '--Session.signature_scheme="hmac-sha256"', '--Session.key=b"600a0ce5-c287-4ac7-a82a-2619ed7f40e0"', '--shell=9037', '--transport="tcp"', '--iopub=9039', '--f=/tmp/tmp-234463aN3hQeYIahw.json']
Info 2021-12-08 12:33:23: Python Daemon (pid: 24225): Exec in DS Kernel Launcher Daemon (observable)
Info 2021-12-08 12:33:23: Python Daemon (pid: 24225): Kernel launched, with PID 24233
Warn 2021-12-08 12:33:23: Python Daemon (pid: 24225): Waiting for Kernel to die 24233
Info 2021-12-08 12:33:23: Launching kernel daemon, Class name = p, completed in 93ms, has a truthy return value, Arg 1: undefined, Arg 2: "/home/tars/workbench/test", Arg 3: {"interpreterPath":"/home/tars/workbench/test/venv/bin/python","name":"python3712jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc","argv":["python","-m","ipykernel_launcher","--ip=127.0.0.1","--stdin=9038","--control=9036","--hb=9035","--Session.signature_scheme=\"hmac-sha256\"","--Session.key=b\"600a0ce5-c287-4ac7-a82a-2619ed7f40e0\"","--shell=9037","--transport=\"tcp\"","--iopub=9039","--f=/tmp/tmp-234463aN3hQeYIahw.json"],"language":"python","path":"python","display_name":"Python 3.7.12 64-bit ('venv': venv)","metadata":{"interpreter":{"sysPrefix":"/home/tars/workbench/test/venv","envType":"Venv","envName":"venv","envPath":"/home/tars/workbench/test/venv","path":"/home/tars/workbench/test/venv/bin/python","architecture":3,"sysVersion":"3.7.12 (default, Sep 10 2021, 00:20:04) \n[GCC 9.3.0]","version":{"raw":"3.7.12","major":3,"minor":7,"patch":12,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.7.12 64-bit ('venv': venv)"}},"env":{}}, Arg 4: {"sysPrefix":"/home/tars/workbench/test/venv","envType":"Venv","envName":"venv","envPath":"/home/tars/workbench/test/venv","path":"/home/tars/workbench/test/venv/bin/python","architecture":3,"sysVersion":"3.7.12 (default, Sep 10 2021, 00:20:04) \n[GCC 9.3.0]","version":{"raw":"3.7.12","major":3,"minor":7,"patch":12,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.7.12 64-bit ('venv': venv)"}, Return Value: <Return value cannot be serialized for logging>
Info 2021-12-08 12:33:23: Launching kernel in kernelProcess.ts, Class name = y, completed in 93ms, has a truthy return value, Arg 1: "/home/tars/workbench/test", Return Value: {"proc":{"_events":{},"_eventsCount":2,"_closesNeeded":3,"_closesGot":0,"connected":false,"signalCode":null,"exitCode":null,"killed":false,"spawnfile":"/home/tars/workbench/test/venv/bin/python","_handle":{"pid":24225},"spawnargs":["/home/tars/workbench/test/venv/bin/python","-m","vscode_datascience_helpers.daemon","--daemon-module=vscode_datascience_helpers.kernel_launcher_daemon","-v"],"pid":24225,"stdin":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdout":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{"close":[null,null]},"_eventsCount":4,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stderr":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdio":[{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{"close":[null,null]},"_eventsCount":4,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null}]},"out":{"_isScalar":false,"observers":[],"closed":false,"isStopped":false,"hasError":false,"thrownError":null}}
Info 2021-12-08 12:33:23: Registering dummy command feature
Info 2021-12-08 12:33:23: Hiding default kernel spec Python 3 (ipykernel), python
Info 2021-12-08 12:33:23: Kernel python3712jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc.-c#print('hello') matches Python 3.7.12 64-bit ('venv': venv) based on interpreter path.
Info 2021-12-08 12:33:23: Hiding default kernel spec Python 3 (ipykernel), python
Info 2021-12-08 12:33:23: Kernel python3712jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc.-c#print('hello') matches Python 3.7.12 64-bit ('venv': venv) based on interpreter path.
Info 2021-12-08 12:33:23: Creating daemon pool for /home/tars/workbench/test/venv/bin/python with env variables count 47
Info 2021-12-08 12:33:23: Process Execution: > ~/workbench/test/venv/bin/python -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v
> ~/workbench/test/venv/bin/python -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v
Info 2021-12-08 12:33:23: Process Execution: > ~/workbench/test/venv/bin/python -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v
> ~/workbench/test/venv/bin/python -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v
Info 2021-12-08 12:33:23: Process Execution: > ~/workbench/test/venv/bin/python -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v
> ~/workbench/test/venv/bin/python -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v
Silly 2021-12-08 12:33:23: Registering commtarget jupyter.widget
Silly 2021-12-08 12:33:23: IPyWidgetMessageDispatcher.initialize
Info 2021-12-08 12:33:24: KernelProcess output: Content-Length: 366
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "write to stderr: /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2205: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '\"hmac-sha256\"' if you require traitlets >=5.\n", "pid": 24225}}
Info 2021-12-08 12:33:24: Python Daemon (pid: 24225): write to stderr: /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2205: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '"hmac-sha256"' if you require traitlets >=5.

Info 2021-12-08 12:33:24: KernelProcess output: Content-Length: 341
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "output", "params": {"source": "stderr", "out": "/home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2205: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '\"hmac-sha256\"' if you require traitlets >=5.\n"}}Content-Length: 124
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "write to stderr:   FutureWarning)\n", "pid": 24225}}Content-Length: 99
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "output", "params": {"source": "stderr", "out": "  FutureWarning)\n"}}Content-Length: 378
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "write to stderr: /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2160: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '600a0ce5-c287-4ac7-a82a-2619ed7f40e0' instead of 'b\"600a0ce5-c287-4ac7-a82a-2619ed7f40e0\"'.\n", "pid": 24225}}Content-Length: 353
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "output", "params": {"source": "stderr", "out": "/home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2160: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '600a0ce5-c287-4ac7-a82a-2619ed7f40e0' instead of 'b\"600a0ce5-c287-4ac7-a82a-2619ed7f40e0\"'.\n"}}Content-Length: 124
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "write to stderr:   FutureWarning)\n", "pid": 24225}}Content-Length: 99
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "output", "params": {"source": "stderr", "out": "  FutureWarning)\n"}}
Warn 2021-12-08 12:33:24: Kernel 24225 as possibly died, StdErr from Kernel Process /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2205: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '"hmac-sha256"' if you require traitlets >=5.

Warn 2021-12-08 12:33:24: StdErr from Kernel Process /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2205: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '"hmac-sha256"' if you require traitlets >=5.

Info 2021-12-08 12:33:24: Python Daemon (pid: 24225): write to stderr:   FutureWarning)

Warn 2021-12-08 12:33:24: Kernel 24225 as possibly died, StdErr from Kernel Process   FutureWarning)

Warn 2021-12-08 12:33:24: StdErr from Kernel Process   FutureWarning)

Info 2021-12-08 12:33:24: Python Daemon (pid: 24225): write to stderr: /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2160: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '600a0ce5-c287-4ac7-a82a-2619ed7f40e0' instead of 'b"600a0ce5-c287-4ac7-a82a-2619ed7f40e0"'.

Warn 2021-12-08 12:33:24: Kernel 24225 as possibly died, StdErr from Kernel Process /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2160: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '600a0ce5-c287-4ac7-a82a-2619ed7f40e0' instead of 'b"600a0ce5-c287-4ac7-a82a-2619ed7f40e0"'.

Warn 2021-12-08 12:33:24: StdErr from Kernel Process /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2160: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '600a0ce5-c287-4ac7-a82a-2619ed7f40e0' instead of 'b"600a0ce5-c287-4ac7-a82a-2619ed7f40e0"'.

Info 2021-12-08 12:33:24: Python Daemon (pid: 24225): write to stderr:   FutureWarning)

Warn 2021-12-08 12:33:24: Kernel 24225 as possibly died, StdErr from Kernel Process   FutureWarning)

Warn 2021-12-08 12:33:24: StdErr from Kernel Process   FutureWarning)

Warn 2021-12-08 12:33:24: Didn't get response for requestKernelInfo
Info 2021-12-08 12:33:24: Raw session started and connected
Started kernel Python 3.7.12 64-bit ('venv': venv)
Info 2021-12-08 12:33:24: Finished connecting 3b879182-6cb8-429f-9eb1-9adb053cb8a1
Info 2021-12-08 12:33:24: UpdateWorkingDirectoryAndPath in Kernel
Info 2021-12-08 12:33:24: Executing (status Idle) silently Code = %config Completer.use_jedi = False
Info 2021-12-08 12:33:24: Executing silently Code (completed) = %config Completer.use_jedi = False
Info 2021-12-08 12:33:24: Executing (status Idle) silently Code = %config InlineBackend.figure_formats = ['png']
Info 2021-12-08 12:33:24: Executing silently Code (completed) = %config InlineBackend.figure_formats = ['png']
Info 2021-12-08 12:33:24: Executing (status Idle) silently Code = import sys\nprint(sys.executable)
Info 2021-12-08 12:33:24: Executing silently Code (completed) = import sys\nprint(sys.executable)
Info 2021-12-08 12:33:24: Waiting for idle on (kernel): 3631ed54-6e6a-4447-8f43-2557a05fd528 -> idle
Info 2021-12-08 12:33:24: Finished waiting for idle on (kernel): 3631ed54-6e6a-4447-8f43-2557a05fd528 -> idle
Info 2021-12-08 12:33:24: IPyWidgetScriptSource.initialize
Silly 2021-12-08 12:33:24: IPyWidgetMessageDispatcher.initialize
Silly 2021-12-08 12:33:24: IPyWidgetMessageDispatcher.initialize
Silly 2021-12-08 12:33:24: IPyWidgetMessageDispatcher.initialize
Info 2021-12-08 12:33:27: Dispose kernel vscode-interactive:Interactive-1.interactive
Info 2021-12-08 12:33:27: Kernel got disposed as a result of notebook.onDisposed vscode-interactive:Interactive-1.interactive
Info 2021-12-08 12:33:27: Kernel got disposed, hence there is no longer a kernel associated with vscode-interactive:Interactive-1.interactive vscode-interactive:Interactive-1.interactive
Info 2021-12-08 12:33:27: Shutting down session vscode-interactive:Interactive-1.interactive
Info 2021-12-08 12:33:27: Shutdown session - current session
Info 2021-12-08 12:33:27: shutdownSession 3631ed54-6e6a-4447-8f43-2557a05fd528, .jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc./home/tars/workbench/test/venv/python./home/tars/workbench/test/venv/python.-m#ipykernel_launcher - start
Info 2021-12-08 12:33:27: Session can be shutdown .jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc./home/tars/workbench/test/venv/python./home/tars/workbench/test/venv/python.-m#ipykernel_launcher
Info 2021-12-08 12:33:27: Dispose Kernel process
Info 2021-12-08 12:33:27: kill daemon
Info 2021-12-08 12:33:27: Setting setActiveController for vscode-interactive:Interactive-1.interactive
Silly 2021-12-08 12:33:27: Intiailize notebook communications for editor vscode-interactive:Interactive-1.interactive
Silly 2021-12-08 12:33:27: Resolving notebook UI Comms (resolve) for vscode-interactive:Interactive-1.interactive
Silly 2021-12-08 12:33:27: initialize CommonMessageCoordinator
Silly 2021-12-08 12:33:27: IPyWidgetMessageDispatcher.initialize
Info 2021-12-08 12:33:27: Starting Notebook in kernel.ts id = .jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc.-c#print('hello')./home/tars/workbench/test/venv/python./home/tars/workbench/test/venv/python.-m#ipykernel_launcher#-c#print('hello')
Info 2021-12-08 12:33:27: Process Execution: > ~/workbench/test/venv/bin/python -m pip list
> ~/workbench/test/venv/bin/python -m pip list
Info 2021-12-08 12:33:27: Creating raw notebook for vscode-interactive:Interactive-1.interactive
Info 2021-12-08 12:33:27: Getting preferred kernel for vscode-interactive:Interactive-1.interactive
Info 2021-12-08 12:33:27: Computing working directory vscode-interactive:Interactive-1.interactive
Silly 2021-12-08 12:33:27: Created and initailized CommonMessageCoordinator
Info 2021-12-08 12:33:27: Connecting to raw session for vscode-interactive:Interactive-1.interactive with connection {"kind":"startUsingPythonInterpreter","kernelSpec":{"specFile":"/home/tars/workbench/test/venv/share/jupyter/kernels/new_kernel/kernel.json","interpreterPath":"/home/tars/workbench/test/venv/bin/python","name":"python3712jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc.-c#print('hello')","argv":["python","-m","ipykernel_launcher","-c","print('hello')","-f","{connection_file}"],"language":"python","path":"python","display_name":"new_kernel","metadata":{"debugger":true},"env":{"PYTHONPATH":"/some/random/path"}},"interpreter":{"sysPrefix":"/home/tars/workbench/test/venv","envType":"Venv","envName":"venv","envPath":"/home/tars/workbench/test/venv","path":"/home/tars/workbench/test/venv/bin/python","architecture":3,"sysVersion":"3.7.12 (default, Sep 10 2021, 00:20:04) \n[GCC 9.3.0]","version":{"raw":"3.7.12","major":3,"minor":7,"patch":12,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.7.12 64-bit ('venv': venv)"},"id":".jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc.-c#print('hello')./home/tars/workbench/test/venv/python./home/tars/workbench/test/venv/python.-m#ipykernel_launcher#-c#print('hello')"}
Info 2021-12-08 12:33:27: Starting raw kernel new_kernel
Info 2021-12-08 12:33:27: installMissingDependencies /home/tars/workbench/test/venv/bin/python
Silly 2021-12-08 12:33:27: Attach Coordinator for vscode-interactive:Interactive-1.interactive
Info 2021-12-08 12:33:27: Process Execution: > ~/workbench/test/venv/bin/python -c "import ipykernel"
> ~/workbench/test/venv/bin/python -c "import ipykernel"
Info 2021-12-08 12:33:27: KernelProcess output: Content-Length: 132
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "Execute rpc method kill_kernel in DS Daemon", "pid": 24225}}Content-Length: 166
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "Execute rpc method kill_kernel from /home/tars/workbench/test/venv/bin/python", "pid": 24225}}Content-Length: 129
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "Kill kernel in DS Kernel Launcher Daemon", "pid": 24225}}Content-Length: 140
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "Kill kernel in DS Kernel Launcher Daemon, pid 24233", "pid": 24225}}
Info 2021-12-08 12:33:27: Python Daemon (pid: 24225): Execute rpc method kill_kernel in DS Daemon
Info 2021-12-08 12:33:27: KernelProcess output: Content-Length: 43
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "id": 2, "result": null}
Info 2021-12-08 12:33:27: Python Daemon (pid: 24225): Execute rpc method kill_kernel from /home/tars/workbench/test/venv/bin/python
Info 2021-12-08 12:33:27: Python Daemon (pid: 24225): Kill kernel in DS Kernel Launcher Daemon
Info 2021-12-08 12:33:27: Python Daemon (pid: 24225): Kill kernel in DS Kernel Launcher Daemon, pid 24233
Info 2021-12-08 12:33:27: Dispose Kernel process
Info 2021-12-08 12:33:27: shutdownSession 3631ed54-6e6a-4447-8f43-2557a05fd528, .jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc./home/tars/workbench/test/venv/python./home/tars/workbench/test/venv/python.-m#ipykernel_launcher - shutdown complete
Info 2021-12-08 12:33:27: Dispose Kernel process
Info 2021-12-08 12:33:27: Shutdown session - get restart session
Info 2021-12-08 12:33:27: Shutdown session -- complete
Info 2021-12-08 12:33:27: KernelProcess Exit Exit - undefined 
Info 2021-12-08 12:33:28: Install Missing Dependencies, Class name = S, completed in 157ms, has a falsy return value, Return Value: undefined
Info 2021-12-08 12:33:28: Kernel launching with ports 9035,9036,9037,9038,9039. Start port is 9000
Info 2021-12-08 12:33:28: Launching kernel daemon for new_kernel # /home/tars/workbench/test/venv/bin/python
Info 2021-12-08 12:33:28: No custom variables for Kernel as interpreter is not conda, but is Venv
Info 2021-12-08 12:33:28: Creating daemon process for /home/tars/workbench/test/venv/bin/python with env variables count 47
Info 2021-12-08 12:33:28: Process Execution: > ~/workbench/test/venv/bin/python -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
> ~/workbench/test/venv/bin/python -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
Silly 2021-12-08 12:33:28: Registering commtarget jupyter.widget
Silly 2021-12-08 12:33:28: IPyWidgetMessageDispatcher.initialize
Info 2021-12-08 12:33:28: Starting kernel from scratch with options {"env":{"PYTHONPATH":"/some/random/path"},"cwd":"/home/tars/workbench/test"}
Info 2021-12-08 12:33:28: Python Daemon (pid: 24269): Execute rpc method exec_module in DS Daemon
Info 2021-12-08 12:33:28: Python Daemon (pid: 24269): Execute rpc method exec_module from /home/tars/workbench/test/venv/bin/python
Info 2021-12-08 12:33:28: Python Daemon (pid: 24269): Exec module in DS Kernel Launcher Daemon ipykernel_launcher with args ['-c', "print('hello')", '--ip=127.0.0.1', '--stdin=9038', '--control=9036', '--hb=9035', '--Session.signature_scheme="hmac-sha256"', '--Session.key=b"f6139d5a-4e35-466f-8fc6-021de3ffffcd"', '--shell=9037', '--transport="tcp"', '--iopub=9039', '--f=/tmp/tmp-234460NCth0Bd2Kkw.json']
Info 2021-12-08 12:33:28: Python Daemon (pid: 24269): Exec in DS Kernel Launcher Daemon (observable) ipykernel_launcher with args ['-c', "print('hello')", '--ip=127.0.0.1', '--stdin=9038', '--control=9036', '--hb=9035', '--Session.signature_scheme="hmac-sha256"', '--Session.key=b"f6139d5a-4e35-466f-8fc6-021de3ffffcd"', '--shell=9037', '--transport="tcp"', '--iopub=9039', '--f=/tmp/tmp-234460NCth0Bd2Kkw.json']
Info 2021-12-08 12:33:28: Python Daemon (pid: 24269): Exec in DS Kernel Launcher Daemon (observable) ['/home/tars/workbench/test/venv/bin/python', '-m', 'ipykernel_launcher', '-c', "print('hello')", '--ip=127.0.0.1', '--stdin=9038', '--control=9036', '--hb=9035', '--Session.signature_scheme="hmac-sha256"', '--Session.key=b"f6139d5a-4e35-466f-8fc6-021de3ffffcd"', '--shell=9037', '--transport="tcp"', '--iopub=9039', '--f=/tmp/tmp-234460NCth0Bd2Kkw.json']
Info 2021-12-08 12:33:28: Python Daemon (pid: 24269): Exec in DS Kernel Launcher Daemon (observable)
Info 2021-12-08 12:33:28: Python Daemon (pid: 24269): Kernel launched, with PID 24270
Warn 2021-12-08 12:33:28: Python Daemon (pid: 24269): Waiting for Kernel to die 24270
Info 2021-12-08 12:33:28: Launching kernel daemon, Class name = p, completed in 65ms, has a truthy return value, Arg 1: undefined, Arg 2: "/home/tars/workbench/test", Arg 3: {"specFile":"/home/tars/workbench/test/venv/share/jupyter/kernels/new_kernel/kernel.json","interpreterPath":"/home/tars/workbench/test/venv/bin/python","name":"python3712jvsc74a57bd0ba525e1a926a3bf64587f28e345b15c88c9b6b2fb3a375e4c0975f92ebdc31dc.-c#print('hello')","argv":["python","-m","ipykernel_launcher","-c","print('hello')","--ip=127.0.0.1","--stdin=9038","--control=9036","--hb=9035","--Session.signature_scheme=\"hmac-sha256\"","--Session.key=b\"f6139d5a-4e35-466f-8fc6-021de3ffffcd\"","--shell=9037","--transport=\"tcp\"","--iopub=9039","--f=/tmp/tmp-234460NCth0Bd2Kkw.json"],"language":"python","path":"python","display_name":"new_kernel","metadata":{"debugger":true},"env":{"PYTHONPATH":"/some/random/path"}}, Arg 4: {"sysPrefix":"/home/tars/workbench/test/venv","envType":"Venv","envName":"venv","envPath":"/home/tars/workbench/test/venv","path":"/home/tars/workbench/test/venv/bin/python","architecture":3,"sysVersion":"3.7.12 (default, Sep 10 2021, 00:20:04) \n[GCC 9.3.0]","version":{"raw":"3.7.12","major":3,"minor":7,"patch":12,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.7.12 64-bit ('venv': venv)"}, Return Value: <Return value cannot be serialized for logging>
Info 2021-12-08 12:33:28: Launching kernel in kernelProcess.ts, Class name = y, completed in 66ms, has a truthy return value, Arg 1: "/home/tars/workbench/test", Return Value: {"proc":{"_events":{},"_eventsCount":2,"_closesNeeded":3,"_closesGot":0,"connected":false,"signalCode":null,"exitCode":null,"killed":false,"spawnfile":"/home/tars/workbench/test/venv/bin/python","_handle":{"pid":24269},"spawnargs":["/home/tars/workbench/test/venv/bin/python","-m","vscode_datascience_helpers.daemon","--daemon-module=vscode_datascience_helpers.kernel_launcher_daemon","-v"],"pid":24269,"stdin":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdout":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{"close":[null,null]},"_eventsCount":4,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stderr":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdio":[{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{"close":[null,null]},"_eventsCount":4,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null}]},"out":{"_isScalar":false,"observers":[],"closed":false,"isStopped":false,"hasError":false,"thrownError":null}}
Info 2021-12-08 12:33:28: KernelProcess output: Content-Length: 366
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "write to stderr: /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2205: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '\"hmac-sha256\"' if you require traitlets >=5.\n", "pid": 24269}}Content-Length: 341
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "output", "params": {"source": "stderr", "out": "/home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2205: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '\"hmac-sha256\"' if you require traitlets >=5.\n"}}
Info 2021-12-08 12:33:28: Python Daemon (pid: 24269): write to stderr: /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2205: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '"hmac-sha256"' if you require traitlets >=5.

Info 2021-12-08 12:33:28: KernelProcess output: Content-Length: 124
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "write to stderr:   FutureWarning)\n", "pid": 24269}}Content-Length: 99
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "output", "params": {"source": "stderr", "out": "  FutureWarning)\n"}}Content-Length: 378
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "write to stderr: /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2160: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use 'f6139d5a-4e35-466f-8fc6-021de3ffffcd' instead of 'b\"f6139d5a-4e35-466f-8fc6-021de3ffffcd\"'.\n", "pid": 24269}}Content-Length: 353
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "output", "params": {"source": "stderr", "out": "/home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2160: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use 'f6139d5a-4e35-466f-8fc6-021de3ffffcd' instead of 'b\"f6139d5a-4e35-466f-8fc6-021de3ffffcd\"'.\n"}}Content-Length: 124
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "write to stderr:   FutureWarning)\n", "pid": 24269}}Content-Length: 99
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "output", "params": {"source": "stderr", "out": "  FutureWarning)\n"}}
Warn 2021-12-08 12:33:28: Kernel 24269 as possibly died, StdErr from Kernel Process /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2205: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '"hmac-sha256"' if you require traitlets >=5.

Warn 2021-12-08 12:33:28: StdErr from Kernel Process /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2205: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '"hmac-sha256"' if you require traitlets >=5.

Info 2021-12-08 12:33:28: Python Daemon (pid: 24269): write to stderr:   FutureWarning)

Warn 2021-12-08 12:33:28: Kernel 24269 as possibly died, StdErr from Kernel Process   FutureWarning)

Warn 2021-12-08 12:33:28: StdErr from Kernel Process   FutureWarning)

Info 2021-12-08 12:33:28: Python Daemon (pid: 24269): write to stderr: /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2160: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use 'f6139d5a-4e35-466f-8fc6-021de3ffffcd' instead of 'b"f6139d5a-4e35-466f-8fc6-021de3ffffcd"'.

Warn 2021-12-08 12:33:28: Kernel 24269 as possibly died, StdErr from Kernel Process /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2160: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use 'f6139d5a-4e35-466f-8fc6-021de3ffffcd' instead of 'b"f6139d5a-4e35-466f-8fc6-021de3ffffcd"'.

Warn 2021-12-08 12:33:28: StdErr from Kernel Process /home/tars/workbench/test/venv/lib/python3.7/site-packages/traitlets/traitlets.py:2160: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use 'f6139d5a-4e35-466f-8fc6-021de3ffffcd' instead of 'b"f6139d5a-4e35-466f-8fc6-021de3ffffcd"'.

Info 2021-12-08 12:33:28: Python Daemon (pid: 24269): write to stderr:   FutureWarning)

Warn 2021-12-08 12:33:28: Kernel 24269 as possibly died, StdErr from Kernel Process   FutureWarning)

Warn 2021-12-08 12:33:28: StdErr from Kernel Process   FutureWarning)

Warn 2021-12-08 12:33:28: Didn't get response for requestKernelInfo
Warn 2021-12-08 12:33:28: Didn't get response for requestKernelInfo
Warn 2021-12-08 12:33:28: Didn't get response for requestKernelInfo
Info 2021-12-08 12:33:28: Raw session started and connected
Started kernel new_kernel
Info 2021-12-08 12:33:28: Finished connecting 3b879182-6cb8-429f-9eb1-9adb053cb8a1
Info 2021-12-08 12:33:28: UpdateWorkingDirectoryAndPath in Kernel
Info 2021-12-08 12:33:28: Executing (status Not Started) silently Code = %config Completer.use_jedi = False
Info 2021-12-08 12:33:28: Executing silently Code (completed) = %config Completer.use_jedi = False
Info 2021-12-08 12:33:28: Executing (status Idle) silently Code = %config InlineBackend.figure_formats = ['png']
Info 2021-12-08 12:33:28: Executing silently Code (completed) = %config InlineBackend.figure_formats = ['png']
Info 2021-12-08 12:33:28: Executing (status Idle) silently Code = import sys\nprint(sys.executable)
Info 2021-12-08 12:33:28: Executing silently Code (completed) = import sys\nprint(sys.executable)
Info 2021-12-08 12:33:28: Waiting for idle on (kernel): 2a40ddc8-feb4-4c04-9803-f9598e5522ed -> idle
Info 2021-12-08 12:33:28: Finished waiting for idle on (kernel): 2a40ddc8-feb4-4c04-9803-f9598e5522ed -> idle
Info 2021-12-08 12:33:28: IPyWidgetScriptSource.initialize
Silly 2021-12-08 12:33:28: IPyWidgetMessageDispatcher.initialize
Silly 2021-12-08 12:33:28: IPyWidgetMessageDispatcher.initialize
Silly 2021-12-08 12:33:28: IPyWidgetMessageDispatcher.initialize
Silly 2021-12-08 12:33:28: IPyWidgetMessageDispatcher.initialize
Silly 2021-12-08 12:33:28: IPyWidgetMessageDispatcher.initialize
Silly 2021-12-08 12:33:28: IPyWidgetMessageDispatcher.initialize
Silly 2021-12-08 12:33:28: IPyWidgetMessageDispatcher.initialize

@saisasidhar
Copy link
Author

There is a bug though. If the custom kernel differs in any other way (like say the environment) it shouldn't be dropped as a duplicate.

I don't think it is being dropped though. It is just coming up with the same name without any way to differentiate..

@DonJayamanne
Copy link
Contributor

I have already created a bug where we don't list the kernel specs with custom env variables, it is already part of the Jan milestone.
I think we can close this as a duplicate of that issue
#7719

@rchiodo rchiodo added this to the January 2022 milestone Dec 9, 2021
@rchiodo
Copy link
Contributor

rchiodo commented Jan 26, 2022

Should be fixed now.

@rchiodo rchiodo closed this as completed Jan 26, 2022
@IanMatthewHuff
Copy link
Member

I don't believe this is fixed.

image

I have two kernelspecs installed into .debugEnv and one of them has a custom display name. But we are not showing that Display name. If I activate .debugEnv in the terminal and start Jupyter it sees the display name of the new kernel that I added:

image

@IanMatthewHuff IanMatthewHuff added verification-found Issue verification failed and removed needs-triage labels Jan 29, 2022
@IanMatthewHuff
Copy link
Member

Reactivating, but doesn't seem like a huge fix this late in release cycle, so moving to Feb.

@DonJayamanne
Copy link
Contributor

Should now be fixed.

@IanMatthewHuff
Copy link
Member

IanMatthewHuff commented Feb 25, 2022

Looks good now:
image
It's listed as New Python Kernel Env not at .debugEnv now.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 26, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug verified Verification succeeded
Projects
None yet
Development

No branches or pull requests

4 participants