Eui: [EuiSuperDatePicker] Error occurs when changing absolute date

Created on 15 Jul 2020  路  5Comments  路  Source: elastic/eui

@stephmilovic found the following bug when reviewing https://github.com/elastic/kibana/pull/70713. The bug is on master and had nothing to do with the PR.

Steps to reproduce the bug:

  1. Open the date picker
  2. Click Absolute
  3. Select a date
  4. Edit the time

The bug appears randomly and is not always reproducible.

87477416-5146d280-c5e5-11ea-947b-a5152033582d

!urgent! bug

Most helpful comment

(a) This is an EUI bug. I suspect that when you edit the absolute date manually, for a brief moment you have an invalid date and then the function data.format fails.
(b) I also noticed that when I switch to an absolute date, my CPU usage would jump and if my debugger is open, it would often get stuck. Tried this multiple times. Same result. I would check how often the field is being validated (debounce or even validate on blur)

The steps I took to reproduce were

  1. Open discover
  2. Change the date to absolute
  3. Pick a date and a time
  4. Edit the string field in the bottom

Doing that, I got both a React error and the can't call method format of undefined (that can be seen in the gif).

When I opened the debugger and put a conditional break-point in the function formatDate (date == undefined), and repeated the same action, the browser would just hang. I repeated the same flow 3 or 4 time with similar results.

This makes me suspect that the field is being validated very often and that adding a conditional break-point to it made it slower (but I'm obviously not sure).

All 5 comments

Pinging @elastic/siem (Team:SIEM)

Can't reproduce this in EUI, but have been told it is flakey and doesn't always error. @elastic/kibana-app-arch team, please investigate. If you do find it's an issue in EuiSuperDatePicker, please move this issue to EUI.

(a) This is an EUI bug. I suspect that when you edit the absolute date manually, for a brief moment you have an invalid date and then the function data.format fails.
(b) I also noticed that when I switch to an absolute date, my CPU usage would jump and if my debugger is open, it would often get stuck. Tried this multiple times. Same result. I would check how often the field is being validated (debounce or even validate on blur)

The steps I took to reproduce were

  1. Open discover
  2. Change the date to absolute
  3. Pick a date and a time
  4. Edit the string field in the bottom

Doing that, I got both a React error and the can't call method format of undefined (that can be seen in the gif).

When I opened the debugger and put a conditional break-point in the function formatDate (date == undefined), and repeated the same action, the browser would just hang. I repeated the same flow 3 or 4 time with similar results.

This makes me suspect that the field is being validated very often and that adding a conditional break-point to it made it slower (but I'm obviously not sure).

I was able to reproduce with a simple EUI case. Investigating further.

I've tracked down the problem, but am running into some unrelated build side effects from the packaged library. I'll sort it out before opening a PR.

Was this page helpful?
0 / 5 - 0 ratings