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

Pass traceback to ServerConnection.ResponseError #14328

Conversation

a3626a
Copy link
Contributor

@a3626a a3626a commented Apr 5, 2023

In my Jupyter Lab environment, Error: Unhandled Error is reported by monitoring tool. I'm investigating each errors and making some handling for them. However Error: Unhandled Error does not have enough infomation to be handled properly. On jupyter lab side, I found that ServerConnection.ResponseError has a room for server side traceback, but it is not well managed. If trackback works properly, it can give us enough infomation for errors to be handled.

(It is reported as Error, but actually ServerConnection.ResponseError)

References

Code changes

Pass trackback to ServerConnection.ResponseError. I think it is intended behavior of ResponseError at first, but looks like missing somehow.

I wrote the code in a conservative manner to preserve previous behavior as much I can. That is why data['message'] ? data['message'] : undefined comes.

User-facing changes

No

Backwards-incompatible changes

Actually, I found no code that uses traceback of the ResponseError constructor. It is backword compatible.

@jupyterlab-probot
Copy link

Thanks for making a pull request to jupyterlab!
To try out this branch on binder, follow this link: Binder

Copy link
Member

@fcollonval fcollonval left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @a3626a I took the liberty to push an improvement to preserve default values.

@a3626a
Copy link
Contributor Author

a3626a commented Apr 7, 2023

Thanks @a3626a I took the liberty to push an improvement to preserve default values.

My previous implementation preserves default values. undefined function arguments are overriden by default values. I also double checked that following implentation passes your new test.

    static async create(response: Response): Promise<ResponseError> {
      try {
        const data = await response.json();
        const { message, traceback } = data;
        if (traceback) {
          console.error(traceback);
        }
        return new ResponseError(
          response,
          message ? message : undefined,
          traceback ? traceback : undefined
        );
      } catch (e) {
        console.debug(e);
        return new ResponseError(response);
      }
    }

However I don't care about details of implmentation. I'm 100% satisfied if the traceback is passed anyway. Thank you for your feedback and tests.

@fcollonval
Copy link
Member

Thanks @a3626a I learnt something - I was not aware that explicitly passed undefined was still replaced by the default value.

@fcollonval fcollonval modified the milestones: 4.0.0, 3.6.x Apr 12, 2023
@fcollonval fcollonval merged commit 7a1ebea into jupyterlab:master Apr 12, 2023
@fcollonval fcollonval deleted the fix/response-error-traceback branch April 12, 2023 11:22
@fcollonval
Copy link
Member

@meeseeksdev please backport to 3.6.x

@github-actions
Copy link
Contributor

Benchmark report

The execution time (in milliseconds) are grouped by test file, test type and browser.
For each case, the following values are computed: min <- [1st quartile - median - 3rd quartile] -> max.

The mean relative comparison is computed with 95% confidence.

Results table
Test file large_code_notebook large_md_notebook
open
chromium
actual 470 <- [523 - 545 - 581] -> 678 1019 <- [1067 - 1089 - 1116] -> 1226
expected 465 <- [510 - 531 - 558] -> 877 997 <- [1068 - 1094 - 1119] -> 1250
Mean relative change 1.3% ± 2.8% -0.3% ± 1.2%
switch-from
chromium
actual 517 <- [590 - 604 - 623] -> 704 247 <- [294 - 326 - 352] -> 405
expected 506 <- [588 - 604 - 618] -> 825 258 <- [303 - 337 - 356] -> 416
Mean relative change -0.2% ± 1.7% -2.1% ± 3.1%
switch-to
chromium
actual 963 <- [1005 - 1023 - 1057] -> 1163 652 <- [698 - 709 - 719] -> 770
expected 970 <- [1005 - 1022 - 1051] -> 1295 648 <- [697 - 713 - 726] -> 837
Mean relative change -0.3% ± 1.3% -0.7% ± 0.9%
close
chromium
actual 126 <- [141 - 147 - 151] -> 172 156 <- [176 - 186 - 194] -> 227
expected 128 <- [140 - 145 - 149] -> 164 164 <- [179 - 186 - 194] -> 296
Mean relative change 1.7% ± 1.6% -1.1% ± 2.2%

Changes are computed with expected as reference.

@jupyterlab/[email protected] test:mocha
mocha ./tests/

Waiting for localhost:8888
localhost:8888 is up

Cell memory leaks

Create a code cell Memory change: +148 kB Leak detected: Yes

Leaking objects:

Object # added Retained size increase
ArraySearchMarker 1 +5 B
ContentDeleted 1 +16 B
ContentString 1 +66 B
Detached Text 1 +79 B
FocusTracker 1 +276 B
ObservableList 1 +60 B
OutputArea 1 +1.4 kB
OutputAreaModel 1 +115 B
Promise 1 +24 B
PromiseDelegate 1 +128 B
ResizeHandle 1 +47 B
RestorablePool 1 +304 B
UndoManager 1 +1.93 kB
WidgetTracker 1 +980 B
YArray 1 +164 B
YCodeCell 1 +-27 B
YText 1 +564 B
Detached DOMStringMap 2 +96 B
Detached V8EventHandlerNonNull 2 +80 B
Set 2 +1.21 kB
YMap 2 +464 B
StackItem 3 +1.32 kB
ContentAny 4 +238 B
ContentType 4 +64 B
DeleteItem 4 +80 B
DeleteSet 6 +988 B
Detached HTMLCollection 6 +576 B
EventHandler 8 +239 B
ID 10 +320 B
Item 10 +1.2 kB
Detached DOMTokenList 13 +860 B
Detached Attr 14 +1.12 kB
Detached HTMLDivElement 14 +47 kB
Map 17 +2.57 kB
Signal 19 +319 B
Array 44 +5.42 kB
Detached V8EventListener 263 +23.4 kB
Detached EventListener 265 +42.6 kB
(closure) 270 +17.7 kB
Detached InternalNode 323 +45.3 kB

Leaking collections:

Type Change Preview Size increased at
Array +2 [StackItem, ...]
UndoManager.afterTransactionHandler  http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:5064:15
webpack://jupyterlab/node_modules/lib0/observable.js:73:62
Array.forEach <anonymous>
webpack://jupyterlab/node_modules/lib0/observable.js:73:62
Array.<anonymous> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4720:27
webpack://jupyterlab/node_modules/lib0/function.js:19:0
cleanupTransactions http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4722:62
transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4843:9
Doc.transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:2050:5
Array +10 [Item, ...]
addStruct                    http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4295:11
Item.integrate http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:11118:7
<unknown> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:6651:22
Array.forEach <anonymous>
typeListInsertGenericsAfter http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:6624:11
typeListInsertGenerics http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:6711:10
<unknown> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:7039:9
transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4829:14
YArray.insert http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:7038:7
Set +1 Set((anonymous function), ...)
                          webpack://jupyterlab/node_modules/lib0/observable.js:30:56                                                                                     
Doc.on http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:2209:11
new UndoManager http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:5084:14
YCodeCell.setUndoManager http://localhost:8888/static/lab/vendors-node_modules_jupyter_ydoc_lib_index_js-node_modules_process_browser_js.a4c17770813817b2b11a.js:398:33
<unknown> http://localhost:8888/static/lab/vendors-node_modules_jupyter_ydoc_lib_index_js-node_modules_process_browser_js.a4c17770813817b2b11a.js:1589:15
Array.forEach <anonymous>
YNotebook.insertCells http://localhost:8888/static/lab/vendors-node_modules_jupyter_ydoc_lib_index_js-node_modules_process_browser_js.a4c17770813817b2b11a.js:1588:16
YNotebook.insertCell http://localhost:8888/static/lab/vendors-node_modules_jupyter_ydoc_lib_index_js-node_modules_process_browser_js.a4c17770813817b2b11a.js:1569:21
webpack://jupyterlab/packages/notebook/src/actions.tsx:404:22
Create a markdown cell Memory change: -104 kB Leak detected: No

Leaking objects:

Object # added Retained size increase
ActivityMonitor 1 +294 B
ArraySearchMarker 1 +5 B
AttachmentsModel 1 +193 B
AttachmentsResolver 1 +14 B
CodeCellModel 1 +217 B
ContentString 1 +66 B
Debouncer 1 +3.46 kB
Detached HTMLAnchorElement 1 +316 B
Detached HTMLButtonElement 1 +5.32 kB
Detached HTMLHeadingElement 1 +1.04 kB
Error 1 +3.06 kB
MarkdownCell 1 +4.73 kB
MarkdownCellModel 1 +237 B
Poll 1 +3.7 kB
RenderMimeRegistry 1 +227 B
RenderedMarkdown 1 +66 B
Transaction 1 +860 B
TypeError 1 +306 B
YArray 1 +164 B
YArrayEvent 1 +357 B
YCodeCell 1 +107 B
YMarkdownCell 1 +45 B
Detached CSSStyleDeclaration 2 +132 B
Detached HTMLElement 2 +336 B
Detached V8EventHandlerNonNull 2 +5.04 kB
Promise 2 +3.06 kB
PromiseDelegate 2 +3.27 kB
UndoManager 2 +2.38 kB
YText 2 +490 B
Detached DOMStringMap 3 +144 B
ObservableMap 3 +381 B
StackItem 3 +1.33 kB
DeleteItem 4 +80 B
YMap 4 +872 B
ContentAny 5 +454 B
DeleteSet 6 +1 kB
ContentType 7 +112 B
Detached Text 7 +532 B
Set 8 +1.78 kB
Detached HTMLDivElement 10 +30.7 kB
Detached DOMTokenList 13 +852 B
ID 13 +416 B
Item 13 +1.71 kB
EventHandler 14 +459 B
Detached HTMLCollection 17 +1.77 kB
Map 27 +12.3 kB
Signal 28 +628 B
Detached V8EventListener 130 +10.9 kB
Detached EventListener 132 +25.5 kB
(closure) 152 +22.1 kB
Detached InternalNode 162 +28.4 kB

Leaking collections:

Type Change Preview Size increased at
Array +1 [{signal, slot, thisArg}, ...]
Object.connect  http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10491:17
Signal.connect http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10231:24
webpack://jupyterlab/packages/notebook/src/notebooktools.ts:226:33
invokeSlot http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10700:18
Object.emit http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10658:17
Signal.emit http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10257:17
webpack://jupyterlab/packages/notebook/src/tracker.ts:90:30
invokeSlot http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10700:18
Object.emit http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10658:17
Array +1 [d09e08a4-f7e2-4bac-8ba6-471faa6d479d, ...]
                                     webpack://jupyterlab/packages/notebook/src/actions.tsx:2503:37            
Array.forEach <anonymous>
webpack://jupyterlab/packages/notebook/src/actions.tsx:2498:21
webpack://jupyterlab/packages/notebook/src/actions.tsx:350:12
webpack://jupyterlab/packages/notebook-extension/src/index.ts:2653:15
CommandRegistry.execute http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:5748:33
CommandRegistry._executeKeyBinding http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:5906:14
CommandRegistry.processKeydownEvent http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:5846:18
JupyterLab.evtKeydown http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:4660:23
Array +1 [{signal, slot, thisArg}, ...]
Object.connect  http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10491:17
Signal.connect http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10231:24
webpack://jupyterlab/packages/cell-toolbar/src/celltoolbartracker.ts:121:37
invokeSlot http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10700:18
Object.emit http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10658:17
Signal.emit http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10257:17
webpack://jupyterlab/packages/notebook/src/widget.ts:1328:30
webpack://jupyterlab/packages/notebook/src/actions.tsx:408:28
webpack://jupyterlab/packages/notebook-extension/src/index.ts:2722:15
Array +2 [StackItem, ...]
UndoManager.afterTransactionHandler  http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:5064:15
webpack://jupyterlab/node_modules/lib0/observable.js:73:62
Array.forEach <anonymous>
webpack://jupyterlab/node_modules/lib0/observable.js:73:62
Array.<anonymous> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4720:27
webpack://jupyterlab/node_modules/lib0/function.js:19:0
cleanupTransactions http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4722:62
transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4843:9
Doc.transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:2050:5
Array +13 [Item, ...]
addStruct                    http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4295:11
Item.integrate http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:11118:7
<unknown> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:6651:22
Array.forEach <anonymous>
typeListInsertGenericsAfter http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:6624:11
typeListInsertGenerics http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:6711:10
<unknown> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:7039:9
transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4829:14
YArray.insert http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:7038:7
Set +2 Set((anonymous function), ...)
                          webpack://jupyterlab/node_modules/lib0/observable.js:30:56                                                                                     
Doc.on http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:2209:11
new UndoManager http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:5084:14
YCodeCell.setUndoManager http://localhost:8888/static/lab/vendors-node_modules_jupyter_ydoc_lib_index_js-node_modules_process_browser_js.a4c17770813817b2b11a.js:398:33
<unknown> http://localhost:8888/static/lab/vendors-node_modules_jupyter_ydoc_lib_index_js-node_modules_process_browser_js.a4c17770813817b2b11a.js:1589:15
Array.forEach <anonymous>
YNotebook.insertCells http://localhost:8888/static/lab/vendors-node_modules_jupyter_ydoc_lib_index_js-node_modules_process_browser_js.a4c17770813817b2b11a.js:1588:16
YNotebook.insertCell http://localhost:8888/static/lab/vendors-node_modules_jupyter_ydoc_lib_index_js-node_modules_process_browser_js.a4c17770813817b2b11a.js:1569:21
webpack://jupyterlab/packages/notebook/src/actions.tsx:404:22
Create a raw cell Memory change: -176 kB Leak detected: No

Leaking objects:

Object # added Retained size increase
ArraySearchMarker 1 +5 B
CodeCellModel 1 +177 B
ContentString 1 +690 B
Detached CSSStyleDeclaration 1 +60 B
Detached V8EventHandlerNonNull 1 +40 B
ObservableMap 1 +109 B
TypeError 1 +301 B
YArray 1 +164 B
YCodeCell 1 +107 B
YRawCell 1 +45 B
Detached DOMStringMap 2 +100 B
Set 2 +1.33 kB
UndoManager 2 +2.36 kB
YText 2 +462 B
StackItem 3 +1.3 kB
DeleteItem 4 +80 B
YMap 4 +872 B
ContentAny 5 +454 B
Detached HTMLCollection 5 +476 B
DeleteSet 6 +976 B
ContentType 7 +112 B
Detached DOMTokenList 9 +616 B
Detached HTMLDivElement 9 +22.7 kB
Signal 11 +322 B
ID 13 +260 B
Item 13 +2.2 kB
EventHandler 14 +431 B
Map 19 +11.3 kB
Object 35 +184 kB
Detached V8EventListener 130 +10.9 kB
Detached EventListener 131 +20.4 kB
(closure) 140 +3.63 kB
Detached InternalNode 151 +21.6 kB

Leaking collections:

Type Change Preview Size increased at
Array +1 [{signal, slot, thisArg}, ...]
Object.connect  http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10491:17
Signal.connect http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10231:24
webpack://jupyterlab/packages/cell-toolbar/src/celltoolbartracker.ts:121:37
invokeSlot http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10700:18
Object.emit http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10658:17
Signal.emit http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10257:17
webpack://jupyterlab/packages/notebook/src/widget.ts:1328:30
webpack://jupyterlab/packages/notebook/src/actions.tsx:408:28
webpack://jupyterlab/packages/notebook-extension/src/index.ts:2722:15
Array +1 [71a5ce13-008e-4b00-af89-54a134b64770, ...]
                                     webpack://jupyterlab/packages/notebook/src/actions.tsx:2503:37            
Array.forEach <anonymous>
webpack://jupyterlab/packages/notebook/src/actions.tsx:2498:21
webpack://jupyterlab/packages/notebook/src/actions.tsx:350:12
webpack://jupyterlab/packages/notebook-extension/src/index.ts:2653:15
CommandRegistry.execute http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:5748:33
CommandRegistry._executeKeyBinding http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:5906:14
CommandRegistry.processKeydownEvent http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:5846:18
JupyterLab.evtKeydown http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:4660:23
Array +1 [{signal, slot, thisArg}, ...]
Object.connect  http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10491:17
Signal.connect http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10231:24
webpack://jupyterlab/packages/notebook/src/notebooktools.ts:226:33
invokeSlot http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10700:18
Object.emit http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10658:17
Signal.emit http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10257:17
webpack://jupyterlab/packages/notebook/src/tracker.ts:90:30
invokeSlot http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10700:18
Object.emit http://localhost:8888/static/lab/jlab_core.912f2b7e2a9f04feb210.js:10658:17
Array +2 [StackItem, ...]
UndoManager.afterTransactionHandler  http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:5064:15
webpack://jupyterlab/node_modules/lib0/observable.js:73:62
Array.forEach <anonymous>
webpack://jupyterlab/node_modules/lib0/observable.js:73:62
Array.<anonymous> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4720:27
webpack://jupyterlab/node_modules/lib0/function.js:19:0
cleanupTransactions http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4722:62
transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4843:9
Doc.transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:2050:5
Array +13 [Item, ...]
addStruct                    http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4295:11
Item.integrate http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:11118:7
<unknown> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:6651:22
Array.forEach <anonymous>
typeListInsertGenericsAfter http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:6624:11
typeListInsertGenerics http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:6711:10
<unknown> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:7039:9
transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:4829:14
YArray.insert http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:7038:7
Set +2 Set((anonymous function), ...)
                          webpack://jupyterlab/node_modules/lib0/observable.js:30:56                                                                                     
Doc.on http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:2209:11
new UndoManager http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.7c22fc794e51ffbd0e42.js:5084:14
YCodeCell.setUndoManager http://localhost:8888/static/lab/vendors-node_modules_jupyter_ydoc_lib_index_js-node_modules_process_browser_js.a4c17770813817b2b11a.js:398:33
<unknown> http://localhost:8888/static/lab/vendors-node_modules_jupyter_ydoc_lib_index_js-node_modules_process_browser_js.a4c17770813817b2b11a.js:1589:15
Array.forEach <anonymous>
YNotebook.insertCells http://localhost:8888/static/lab/vendors-node_modules_jupyter_ydoc_lib_index_js-node_modules_process_browser_js.a4c17770813817b2b11a.js:1588:16
YNotebook.insertCell http://localhost:8888/static/lab/vendors-node_modules_jupyter_ydoc_lib_index_js-node_modules_process_browser_js.a4c17770813817b2b11a.js:1569:21
webpack://jupyterlab/packages/notebook/src/actions.tsx:404:22
- Drag and drop a cell

File editor memory leaks

Create a file Memory change: -81.3 kB Leak detected: No

Leaking objects:

Object # added Retained size increase
Detached HTMLUListElement 1 +3.43 kB
Detached V8EventHandlerNonNull 1 +40 B
VirtualElementPass 1 +46 B
Detached HTMLButtonElement 2 +23.9 kB
Detached SVGCircleElement 2 +1.12 kB
LabIcon 2 +1.08 kB
Detached CSSStyleDeclaration 3 +228 B
Detached HTMLLIElement 3 +6.38 kB
Detached NodeList 3 +204 B
NavigationHistoryEntry 3 +720 B
VirtualText 3 +109 B
Detached SVGGElement 4 +3 kB
VirtualElement 4 +1.3 kB
Detached SVGAnimatedPreserveAspectRatio 5 +320 B
Detached SVGAnimatedRect 5 +320 B
Detached SVGPathElement 5 +1.81 kB
Detached SVGSVGElement 5 +8.18 kB
Detached HTMLSpanElement 6 +2.43 kB
Detached DOMStringMap 7 +424 B
Detached SVGAnimatedNumber 7 +448 B
Detached Attr 10 +800 B
Detached Text 10 +1.1 kB
Detached HTMLCollection 13 +1.46 kB
Detached DOMTokenList 14 +940 B
Detached HTMLDivElement 15 +34 kB
Detached SVGAnimatedString 16 +896 B
Detached SVGAnimatedTransformList 16 +1.02 kB
Detached SVGAnimatedLength 26 +1.66 kB
Array 42 +24.1 kB
Detached V8EventListener 130 +10.9 kB
Detached EventListener 131 +20.4 kB
(closure) 138 +16.5 kB
✔ Opening a text file (75414ms)

Notebook memory leaks

Create a notebook Memory change: +34.3 kB Leak detected: Yes

Leaking objects:

Object # added Retained size increase
Detached HTMLUListElement 1 +2.39 kB
Detached V8EventHandlerNonNull 1 +40 B
VirtualElementPass 1 +55 B
Detached HTMLButtonElement 2 +23.9 kB
Detached SVGCircleElement 2 +1.12 kB
HTMLDivElement 2 +186 B
LabIcon 2 +1.02 kB
Detached CSSStyleDeclaration 3 +216 B
Detached HTMLLIElement 3 +6.15 kB
Detached NodeList 3 +180 B
NavigationHistoryEntry 3 +720 B
VirtualText 3 +111 B
VirtualElement 4 +1.25 kB
Detached SVGAnimatedPreserveAspectRatio 5 +320 B
Detached SVGAnimatedRect 5 +320 B
Detached SVGSVGElement 5 +9.38 kB
Detached HTMLSpanElement 6 +3.12 kB
Detached SVGGElement 6 +5.02 kB
Detached SVGPathElement 7 +2.53 kB
Detached SVGAnimatedNumber 9 +576 B
Detached Attr 10 +800 B
Detached Text 10 +812 B
Detached HTMLCollection 13 +1.46 kB
Detached DOMTokenList 15 +1.01 kB
Detached HTMLDivElement 15 +33.7 kB
Detached SVGAnimatedString 20 +1.12 kB
Detached SVGAnimatedTransformList 20 +1.28 kB
Detached SVGAnimatedLength 26 +1.66 kB
DOMRectReadOnly 34 +1.9 kB
Detached V8EventListener 130 +10.9 kB
Detached EventListener 131 +20.4 kB
(closure) 138 +43.3 kB
✔ Opening a notebook (79299ms)

2 passing (7m)
1 pending
1 failing

   Adding a cell:

  Create a code cell - Objects leaking
  + expected - actual

  -1322
  +1308
  
  at file:///home/runner/work/_actions/jupyterlab/benchmarks/v1/memory-leaks/tests/utils.mjs:43:16
  at Array.forEach (<anonymous>)
  at expectNoLeaks (file:///home/runner/work/_actions/jupyterlab/benchmarks/v1/memory-leaks/tests/utils.mjs:28:11)
  at testScenario (file:///home/runner/work/_actions/jupyterlab/benchmarks/v1/memory-leaks/tests/utils.mjs:230:3)
  at async Context.<anonymous> (file:///home/runner/work/_actions/jupyterlab/benchmarks/v1/memory-leaks/tests/cell.test.mjs:7:5)

fcollonval pushed a commit that referenced this pull request Apr 12, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants