-
Notifications
You must be signed in to change notification settings - Fork 379
Description
Description
Hi All,
I have been using the Jupiter/minimal-notebook image and have noticed a distinct change in behavior across the last few versions (6.4.0 versus the behavior of both 6.4.2 and 6.4.3). Any of my markdown that uses html elements with style parameters are not working correctly -- style parameters are ignored. It seems like a bug to me but perhaps it was intentional change.
The following simple markdown illustrates the problem:
Putting this into a markdown cell
<p style="background-color:powderblue;"> HELLO WORLD </p>
On versions prior to jupyter-notebook 6.4.2 this produces as expected Hello World with a blue background:
HELLO WORLD
However, on 6.4.2 and 6.4.3 this no long works and all my notebooks that use style specifications fail to render correctly. The problem seems to be localized to Jupiter-notebook classic as I tested with Lab and it worked as expected.
Based on the Javascript console output from the working to non-work version it looks like the style string is not being processed in the same way anymore A working version produced [Log] HTML Sanitizer – "p.style changed" (main.min.js, line 27218).... -- which seems to be generated from the following code:
var sanitize_html = function(html, allow_css) {
/**
* sanitize HTML
* if allow_css is true (default: false), CSS is sanitized as well.
* otherwise, CSS elements and attributes are simply removed.
*/
var html4 = caja.html4;
if (allow_css) {
// allow sanitization of style tags,
// not just scrubbing
html4.ELEMENTS.style &= ~html4.eflags.UNSAFE;
html4.ATTRIBS.style = html4.atype.STYLE;
} else {
// scrub all CSS
html4.ELEMENTS.style |= html4.eflags.UNSAFE;
html4.ATTRIBS.style = html4.atype.SCRIPT;
}
var record_messages = function(msg, opts) {
console.log("HTML Sanitizer", msg, opts);
};
A non-working version seem to have quite a bit of change in the css sanitization code paths ... I can't tell if this is intentional to disallow things or a change to default behavior? Is this a intentional change or a bug?
Thanks for all your help.
Details below:
My testing procedure was to launch version of the jupiter/minimal-notebook from dock hub to find which version did not produce the expected styled output.
- start container
- create notebook
- create markdown cell
- paste in the following html:
<p style="background-color:powderblue;"> HELLO WORLD </p> - render the cell using shift-enter
- note if the output was correct or not
- grab the output of
juypter --version
Not working: Jupyter-Classic:
docker run -it --rm -p 8888:8888 jupyter/minimal-notebook@sha256:546fa003e5c439b57a108499b668747e449d95b743ade37d8ddc839fa7a63954
jupyter core : 4.7.1
jupyter-notebook : 6.4.3
qtconsole : not installed
ipython : 7.26.0
ipykernel : 6.2.0
jupyter client : 7.0.1
jupyter lab : 3.1.9
nbconvert : 6.1.0
ipywidgets : not installed
nbformat : 5.1.3
traitlets : 5.0.5
Not working: Jupyter-Classic: docker run -it --rm -p 8888:8888 jupyter/minimal-notebook@sha256:75f17231d7208be15c72ee6bc679a3ff6487b0e88503ea8d0f27995e19bd5790
jupyter core : 4.7.1
jupyter-notebook : 6.4.2
qtconsole : not installed
ipython : 7.26.0
ipykernel : 6.0.3
jupyter client : 6.1.12
jupyter lab : 3.1.4
nbconvert : 6.1.0
ipywidgets : not installed
nbformat : 5.1.3
traitlets : 5.0.5
Working: Jupyter-Classic: docker run -it --rm -p 8888:8888 jupyter/minimal-notebook@sha256:4e21f5507949fe2327420f8caf3cd850a87b13aaea0fe8ed3717e369497d4f54
jupyter core : 4.7.1
jupyter-notebook : 6.4.0
qtconsole : not installed
ipython : 7.25.0
ipykernel : 6.0.3
jupyter client : 6.1.12
jupyter lab : 3.0.16
nbconvert : 6.1.0
ipywidgets : not installed
nbformat : 5.1.3
traitlets : 5.0.5
Working: Jupiter-Lab: docker run -e JUPYTER_ENABLE_LAB=yes -it --rm -p 8888:8888 jupyter/minimal-notebook@sha256:75f17231d7208be15c72ee6bc679a3ff6487b0e88503ea8d0f27995e19bd5790
jupyter core : 4.7.1
jupyter-notebook : 6.4.2
qtconsole : not installed
ipython : 7.26.0
ipykernel : 6.0.3
jupyter client : 6.1.12
jupyter lab : 3.1.4
nbconvert : 6.1.0
ipywidgets : not installed
nbformat : 5.1.3
traitlets : 5.0.5
Thanks.
- Operating System and version: OSX 11.4 (20F71)
- Browser and version: 14.1.1 (16611.2.7.1.4)
- Jupyter Server version: used Jupyter Notebook 6.4.3 for the below output:
Troubleshoot Output
Paste the output from running `jupyter troubleshoot` from the command line here. You may want to sanitize the paths in the output.CondaEnvException: Unable to determine environment
Please re-run this command with one of the following options:
- Provide an environment name via --name or -n
- Re-run this command inside an activated conda environment.
$PATH:
/opt/conda/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
sys.path:
/opt/conda/bin
/opt/conda/lib/python39.zip
/opt/conda/lib/python3.9
/opt/conda/lib/python3.9/lib-dynload
/opt/conda/lib/python3.9/site-packages
sys.executable:
/opt/conda/bin/python
sys.version:
3.9.6 | packaged by conda-forge | (default, Jul 11 2021, 03:39:48)
[GCC 9.3.0]
platform.platform():
Linux-5.10.25-linuxkit-x86_64-with-glibc2.31
which -a jupyter:
/opt/conda/bin/jupyter
pip list:
Package Version
----------------------------- -------------------
alembic 1.6.5
anyio 3.3.0
argon2-cffi 20.1.0
async-generator 1.10
attrs 21.2.0
Babel 2.9.1
backcall 0.2.0
backports.functools-lru-cache 1.6.4
bleach 4.0.0
blinker 1.4
brotlipy 0.7.0
certifi 2021.5.30
certipy 0.1.3
cffi 1.14.6
chardet 4.0.0
charset-normalizer 2.0.0
colorama 0.4.4
conda 4.10.3
conda-package-handling 1.7.3
cryptography 3.4.7
debugpy 1.4.1
decorator 5.0.9
defusedxml 0.7.1
entrypoints 0.3
greenlet 1.1.1
idna 3.1
importlib-metadata 4.6.4
ipykernel 6.1.0
ipython 7.26.0
ipython-genutils 0.2.0
jedi 0.18.0
Jinja2 3.0.1
json5 0.9.5
jsonschema 3.2.0
jupyter-client 6.1.12
jupyter-core 4.7.1
jupyter-server 1.10.2
jupyter-telemetry 0.1.0
jupyterhub 1.4.2
jupyterlab 3.1.6
jupyterlab-pygments 0.1.2
jupyterlab-server 2.7.0
Mako 1.1.4
mamba 0.15.2
MarkupSafe 2.0.1
matplotlib-inline 0.1.2
mistune 0.8.4
nbclassic 0.3.1
nbclient 0.5.3
nbconvert 6.1.0
nbformat 5.1.3
nest-asyncio 1.5.1
notebook 6.4.3
oauthlib 3.1.1
packaging 21.0
pamela 1.0.0
pandocfilters 1.4.2
parso 0.8.2
pexpect 4.8.0
pickleshare 0.7.5
pip 21.2.4
prometheus-client 0.11.0
prompt-toolkit 3.0.19
ptyprocess 0.7.0
pycosat 0.6.3
pycparser 2.20
pycurl 7.44.1
Pygments 2.9.0
PyJWT 2.1.0
pyOpenSSL 20.0.1
pyparsing 2.4.7
pyrsistent 0.17.3
PySocks 1.7.1
python-dateutil 2.8.2
python-editor 1.0.4
python-json-logger 2.0.1
pytz 2021.1
pyzmq 22.2.1
requests 2.26.0
requests-unixsocket 0.2.0
ruamel.yaml 0.17.10
ruamel.yaml.clib 0.2.2
ruamel-yaml-conda 0.15.80
Send2Trash 1.8.0
setuptools 49.6.0.post20210108
six 1.16.0
sniffio 1.2.0
SQLAlchemy 1.4.22
terminado 0.10.1
testpath 0.5.0
tornado 6.1
tqdm 4.62.1
traitlets 5.0.5
urllib3 1.26.6
wcwidth 0.2.5
webencodings 0.5.1
websocket-client 0.57.0
wheel 0.37.0
zipp 3.5.0
conda list:
# packages in environment at /opt/conda:
#
# Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 1_gnu conda-forge
alembic 1.6.5 pyhd8ed1ab_0 conda-forge
anyio 3.3.0 py39hf3d152e_0 conda-forge
argon2-cffi 20.1.0 py39h3811e60_2 conda-forge
async_generator 1.10 py_0 conda-forge
attrs 21.2.0 pyhd8ed1ab_0 conda-forge
babel 2.9.1 pyh44b312d_0 conda-forge
backcall 0.2.0 pyh9f0ad1d_0 conda-forge
backports 1.0 py_2 conda-forge
backports.functools_lru_cache 1.6.4 pyhd8ed1ab_0 conda-forge
bleach 4.0.0 pyhd8ed1ab_0 conda-forge
blinker 1.4 py_1 conda-forge
brotlipy 0.7.0 py39h3811e60_1001 conda-forge
bzip2 1.0.8 h7f98852_4 conda-forge
c-ares 1.17.2 h7f98852_0 conda-forge
ca-certificates 2021.5.30 ha878542_0 conda-forge
certifi 2021.5.30 py39hf3d152e_0 conda-forge
certipy 0.1.3 py_0 conda-forge
cffi 1.14.6 py39he32792d_0 conda-forge
chardet 4.0.0 py39hf3d152e_1 conda-forge
charset-normalizer 2.0.0 pyhd8ed1ab_0 conda-forge
colorama 0.4.4 pyh9f0ad1d_0 conda-forge
conda 4.10.3 py39hf3d152e_0 conda-forge
conda-package-handling 1.7.3 py39h3811e60_0 conda-forge
configurable-http-proxy 4.5.0 node14_hfc12e6c_0 conda-forge
cryptography 3.4.7 py39hbca0aa6_0 conda-forge
debugpy 1.4.1 py39he80948d_0 conda-forge
decorator 5.0.9 pyhd8ed1ab_0 conda-forge
defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge
entrypoints 0.3 pyhd8ed1ab_1003 conda-forge
greenlet 1.1.1 py39he80948d_0 conda-forge
icu 68.1 h58526e2_0 conda-forge
idna 3.1 pyhd3deb0d_0 conda-forge
importlib-metadata 4.6.4 py39hf3d152e_0 conda-forge
ipykernel 6.1.0 py39hef51801_0 conda-forge
ipython 7.26.0 py39hef51801_0 conda-forge
ipython_genutils 0.2.0 py_1 conda-forge
jedi 0.18.0 py39hf3d152e_2 conda-forge
jinja2 3.0.1 pyhd8ed1ab_0 conda-forge
json5 0.9.5 pyh9f0ad1d_0 conda-forge
jsonschema 3.2.0 pyhd8ed1ab_3 conda-forge
jupyter_client 6.1.12 pyhd8ed1ab_0 conda-forge
jupyter_core 4.7.1 py39hf3d152e_0 conda-forge
jupyter_server 1.10.2 pyhd8ed1ab_0 conda-forge
jupyter_telemetry 0.1.0 pyhd8ed1ab_1 conda-forge
jupyterhub 1.4.2 py39hf3d152e_0 conda-forge
jupyterhub-base 1.4.2 py39hf3d152e_0 conda-forge
jupyterlab 3.1.6 pyhd8ed1ab_0 conda-forge
jupyterlab_pygments 0.1.2 pyh9f0ad1d_0 conda-forge
jupyterlab_server 2.7.0 pyhd8ed1ab_0 conda-forge
krb5 1.19.2 hcc1bbae_0 conda-forge
ld_impl_linux-64 2.36.1 hea4e1c9_2 conda-forge
libarchive 3.5.1 hccf745f_2 conda-forge
libcurl 7.78.0 h2574ce0_0 conda-forge
libedit 3.1.20191231 he28a2e2_2 conda-forge
libev 4.33 h516909a_1 conda-forge
libffi 3.3 h58526e2_2 conda-forge
libgcc-ng 11.1.0 hc902ee8_8 conda-forge
libgomp 11.1.0 hc902ee8_8 conda-forge
libiconv 1.16 h516909a_0 conda-forge
libnghttp2 1.43.0 h812cca2_0 conda-forge
libsodium 1.0.18 h36c2ea0_1 conda-forge
libsolv 0.7.19 h780b84a_5 conda-forge
libssh2 1.9.0 ha56f1ee_6 conda-forge
libstdcxx-ng 11.1.0 h56837e0_8 conda-forge
libuv 1.42.0 h7f98852_0 conda-forge
libxml2 2.9.12 h72842e0_0 conda-forge
lz4-c 1.9.3 h9c3ff4c_1 conda-forge
lzo 2.10 h516909a_1000 conda-forge
mako 1.1.4 pyh44b312d_0 conda-forge
mamba 0.15.2 py39h951de11_0 conda-forge
markupsafe 2.0.1 py39h3811e60_0 conda-forge
matplotlib-inline 0.1.2 pyhd8ed1ab_2 conda-forge
mistune 0.8.4 py39h3811e60_1004 conda-forge
nbclassic 0.3.1 pyhd8ed1ab_1 conda-forge
nbclient 0.5.3 pyhd8ed1ab_0 conda-forge
nbconvert 6.1.0 py39hf3d152e_0 conda-forge
nbformat 5.1.3 pyhd8ed1ab_0 conda-forge
ncurses 6.2 h58526e2_4 conda-forge
nest-asyncio 1.5.1 pyhd8ed1ab_0 conda-forge
nodejs 14.17.4 h92b4a50_0 conda-forge
notebook 6.4.3 pyha770c72_0 conda-forge
oauthlib 3.1.1 pyhd8ed1ab_0 conda-forge
openssl 1.1.1k h7f98852_0 conda-forge
packaging 21.0 pyhd8ed1ab_0 conda-forge
pamela 1.0.0 py_0 conda-forge
pandoc 2.14.1 h7f98852_0 conda-forge
pandocfilters 1.4.2 py_1 conda-forge
parso 0.8.2 pyhd8ed1ab_0 conda-forge
pexpect 4.8.0 pyh9f0ad1d_2 conda-forge
pickleshare 0.7.5 py_1003 conda-forge
pip 21.2.4 pyhd8ed1ab_0 conda-forge
prometheus_client 0.11.0 pyhd8ed1ab_0 conda-forge
prompt-toolkit 3.0.19 pyha770c72_0 conda-forge
ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge
pycosat 0.6.3 py39h3811e60_1006 conda-forge
pycparser 2.20 pyh9f0ad1d_2 conda-forge
pycurl 7.44.1 py39h72e3413_0 conda-forge
pygments 2.9.0 pyhd8ed1ab_0 conda-forge
pyjwt 2.1.0 pyhd8ed1ab_0 conda-forge
pyopenssl 20.0.1 pyhd8ed1ab_0 conda-forge
pyparsing 2.4.7 pyh9f0ad1d_0 conda-forge
pyrsistent 0.17.3 py39h3811e60_2 conda-forge
pysocks 1.7.1 py39hf3d152e_3 conda-forge
python 3.9.6 h49503c6_1_cpython conda-forge
python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge
python-editor 1.0.4 py_0 conda-forge
python-json-logger 2.0.1 pyh9f0ad1d_0 conda-forge
python_abi 3.9 2_cp39 conda-forge
pytz 2021.1 pyhd8ed1ab_0 conda-forge
pyzmq 22.2.1 py39h37b5a0c_0 conda-forge
readline 8.1 h46c0cb4_0 conda-forge
reproc 14.2.1 h36c2ea0_0 conda-forge
reproc-cpp 14.2.1 h58526e2_0 conda-forge
requests 2.26.0 pyhd8ed1ab_0 conda-forge
requests-unixsocket 0.2.0 py_0 conda-forge
ruamel.yaml 0.17.10 py39h3811e60_0 conda-forge
ruamel.yaml.clib 0.2.2 py39h3811e60_2 conda-forge
ruamel_yaml 0.15.80 py39h3811e60_1004 conda-forge
send2trash 1.8.0 pyhd8ed1ab_0 conda-forge
setuptools 49.6.0 py39hf3d152e_3 conda-forge
six 1.16.0 pyh6c4a22f_0 conda-forge
sniffio 1.2.0 py39hf3d152e_1 conda-forge
sqlalchemy 1.4.22 py39h3811e60_0 conda-forge
sqlite 3.36.0 h9cd32fc_0 conda-forge
terminado 0.10.1 py39hf3d152e_0 conda-forge
testpath 0.5.0 pyhd8ed1ab_0 conda-forge
tk 8.6.10 h21135ba_1 conda-forge
tornado 6.1 py39h3811e60_1 conda-forge
tqdm 4.62.1 pyhd8ed1ab_0 conda-forge
traitlets 5.0.5 py_0 conda-forge
tzdata 2021a he74cb21_1 conda-forge
urllib3 1.26.6 pyhd8ed1ab_0 conda-forge
wcwidth 0.2.5 pyh9f0ad1d_2 conda-forge
webencodings 0.5.1 py_1 conda-forge
websocket-client 0.57.0 py39hf3d152e_4 conda-forge
wheel 0.37.0 pyhd8ed1ab_1 conda-forge
xz 5.2.5 h516909a_1 conda-forge
yaml 0.2.5 h516909a_0 conda-forge
zeromq 4.3.4 h9c3ff4c_0 conda-forge
zipp 3.5.0 pyhd8ed1ab_0 conda-forge
zlib 1.2.11 h516909a_1010 conda-forge
zstd 1.5.0 ha95c52a_0 conda-forge
Command Line Output
Paste the output from your command line running `jupyter lab` here, use `--debug` if possible.docker run -it --rm -p 8888:8888 -v "/Users/jonathan":"/home/jovyan/work" jupyter/minimal-notebook@sha256:546fa003e5c439b57a108499b668747e449d95b743ade37d8ddc839fa7a63954
WARN: Jupyter Notebook deprecation notice https://github.com/jupyter/docker-stacks#jupyter-notebook-deprecation-notice.
Executing the command: jupyter notebook
[I 13:58:34.422 NotebookApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret
[W 2021-08-26 13:58:35.279 LabApp] 'ip' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[W 2021-08-26 13:58:35.279 LabApp] 'port' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[W 2021-08-26 13:58:35.279 LabApp] 'port' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[W 2021-08-26 13:58:35.279 LabApp] 'port' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[I 2021-08-26 13:58:35.288 LabApp] JupyterLab extension loaded from /opt/conda/lib/python3.9/site-packages/jupyterlab
[I 2021-08-26 13:58:35.288 LabApp] JupyterLab application directory is /opt/conda/share/jupyter/lab
[I 13:58:35.294 NotebookApp] Serving notebooks from local directory: /home/jovyan
[I 13:58:35.295 NotebookApp] Jupyter Notebook 6.4.3 is running at:
[I 13:58:35.295 NotebookApp] http://39fb8debbd5d:8888/?token=7d3292aec106af30617b1ab197ba6c2323c9abe9f04f50d7
[I 13:58:35.295 NotebookApp] or http://127.0.0.1:8888/?token=7d3292aec106af30617b1ab197ba6c2323c9abe9f04f50d7
[I 13:58:35.295 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 13:58:35.299 NotebookApp]To access the notebook, open this file in a browser: file:///home/jovyan/.local/share/jupyter/runtime/nbserver-7-open.html Or copy and paste one of these URLs: http://39fb8debbd5d:8888/?token=7d3292aec106af30617b1ab197ba6c2323c9abe9f04f50d7 or http://127.0.0.1:8888/?token=7d3292aec106af30617b1ab197ba6c2323c9abe9f04f50d7
Browser Output
Paste the output from your browser Javascript console here, if applicable. Relevant Output from working version 6.4.0:[Log] HTML Sanitizer – "p.style changed" – {change: "changed", tagName: "p", attribName: "style", …} (main.min.js, line 27218)
{change: "changed", tagName: "p", attribName: "style", oldValue: "background-color:powderblue;", newValue: "background-color: powderblue"}ObjectattribName: "style"change: "changed"newValue: "background-color: powderblue"oldValue: "background-color:powderblue;"tagName: "p"Object Prototype__defineGetter__(propertyName, getterFunction)defineSetter(propertyName, setterFunction)lookupGetter(propertyName)lookupSetter(propertyName)constructor: function()arguments: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.assign(target, ...sources)caller: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.create(prototype, [propertiesObject])defineProperties(object, properties)defineProperty(object, propertyName, descriptor)entries()freeze(object)fromEntries()getOwnPropertyDescriptor(object, propertyName)getOwnPropertyDescriptors()getOwnPropertyNames(object)getOwnPropertySymbols(object)getPrototypeOf(object)is(value1, value2)isExtensible(object)isFrozen(object)isSealed(object)keys(object)length: 1name: "Object"preventExtensions(object)prototype: {}Object__defineGetter__()defineSetter()lookupGetter()lookupSetter()constructor: function()hasOwnProperty()isPrototypeOf()propertyIsEnumerable()toLocaleString()toString()valueOf()seal(object)setPrototypeOf(object, prototype)values()Function Prototypeapply(thisObject, [argumentsArray])argumentsbind(thisObject, ...arguments)call(thisObject, ...arguments)callerconstructor: function()arguments: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.caller: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.length: 1name: "Function"prototype()Function Prototypeapply(thisObject, [argumentsArray])argumentsbind(thisObject, ...arguments)call(thisObject, ...arguments)callerconstructor: function()arguments: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.caller: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.length: 1name: "Function"prototype()Function Prototypeapply(thisObject, [argumentsArray])argumentsbind(thisObject, ...arguments)call(thisObject, ...arguments)callerconstructor: function()arguments: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.caller: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.length: 1name: "Function"prototype()Function Prototypeapply(thisObject, [argumentsArray])argumentsbind(thisObject, ...arguments)call(thisObject, ...arguments)callerconstructor: function()arguments: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.caller: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.length: 1name: "Function"prototype()Function Prototypeapply(thisObject, [argumentsArray])argumentsbind(thisObject, ...arguments)call(thisObject, ...arguments)callerconstructor: function()arguments: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.caller: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.length: 1name: "Function"prototype()Function Prototypeapply(thisObject, [argumentsArray])argumentsbind(thisObject, ...arguments)call(thisObject, ...arguments)callerconstructor: function()arguments: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.caller: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.length: 1name: "Function"prototype()Function Prototypeapply(thisObject, [argumentsArray])argumentsbind(thisObject, ...arguments)call(thisObject, ...arguments)callerconstructor: function()arguments: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.caller: TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context. TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.length: 1name: "Function"prototype()Function Prototypelength: 0name: ""toString()Symbol(Symbol.hasInstance)()Object Prototypelength: 0name: ""toString()Symbol(Symbol.hasInstance)()Object Prototypelength: 0name: ""toString()Symbol(Symbol.hasInstance)()Object Prototypelength: 0name: ""toString()Symbol(Symbol.hasInstance)()Object Prototypelength: 0name: ""toString()Symbol(Symbol.hasInstance)()Object Prototypelength: 0name: ""toString()Symbol(Symbol.hasInstance)()Object Prototypelength: 0name: ""toString()Symbol(Symbol.hasInstance)()Object PrototypehasOwnProperty(propertyName)isPrototypeOf(property)propertyIsEnumerable(propertyName)toLocaleString()toString()valueOf()The broken version 6.4.3 does not produce any similar output.