-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
testSerialConsole fails on XTerm.js crash: Cannot read property 'dimensions' of undefined #9641
Comments
I tried to disconnect and reconnect in rapid succession in an interactive browser, and don't get this exception. It just works fine. On disconnect the whole |
There is a race condition, where during disconnection, certain events can cause addMinWidth to dereference a null renderer object. And we see an error like: Cannot read property 'dimensions' of undefined This has happened reproducibly in Cockpit's integration testing. See: cockpit-project/cockpit#9641
Submitted this pull request: patternfly/patternfly-react#471 @martinpitt Any ideas on how to test this? |
I'm fine with treating this as a known issue, until such a time as it is fixed. |
Apply the fix from patternfly/patternfly-react#471 to PatternFly react-console. Fixes cockpit-project#9641
@stefwalter : I sent PR #9650 to test it. It's an utter hack of course, so not sure if we actually want to land this. But it should at least tell us if that fix works and if it's sufficient. |
Fixed in pf/react-console in cockpit-project#9650 Known issue cockpit-project#9641
verify/ubuntu-1604
First occurrence: 2018-07-12T09:40:17.614674 | revision e7984d5, logs
First occurrence: 2018-07-12T13:02:38.782182 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T13:15:34.464572 | revision 0b7e15a, logs
First occurrence: 2018-07-12T14:07:30.064692 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb, logs
First occurrence: 2018-07-12T15:09:46.388300 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T15:14:59.084630 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb, logs
First occurrence: 2018-07-12T16:48:16.475825 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb, logs
First occurrence: 2018-07-12T22:06:01.364056 | revision 37302e7, logs
First occurrence: 2018-07-13T06:29:46.401081 | revision 37302e7, logs
First occurrence: 2018-09-22T22:00:06.862213 | revision 2ed67fd
|
verify/fedora-i386
First occurrence: 2018-07-12T09:42:57.650491 | revision e7984d5, logs
First occurrence: 2018-07-12T12:55:00.902031 | revision 3096616, logs
First occurrence: 2018-07-12T12:59:24.878974 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T14:01:28.328188 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb, logs
First occurrence: 2018-07-12T15:19:00.536276 | revision 3096616, logs
First occurrence: 2018-07-12T15:41:51.447642 | revision 2124a82, logs
First occurrence: 2018-07-12T15:56:44.208499 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb, logs
First occurrence: 2018-07-12T16:07:58.400226 | revision 0b7e15a, logs
First occurrence: 2018-07-12T17:23:20.153551 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb, logs
First occurrence: 2018-09-22T20:06:46.617136 | revision 2ed67fd, logs |
verify/ubuntu-stable
First occurrence: 2018-07-12T09:42:22.982028 | revision e7984d5, logs
First occurrence: 2018-07-12T13:04:18.832261 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb, logs
First occurrence: 2018-07-12T13:44:00.092547 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T15:13:07.340174 | revision 0b7e15a, logs
First occurrence: 2018-07-12T16:35:13.578924 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T16:50:02.359267 | revision 0b7e15a, logs
First occurrence: 2018-07-12T22:00:12.777753 | revision 37302e7, logs
First occurrence: 2018-07-13T06:36:27.168248 | revision 37302e7, logs
First occurrence: 2018-07-13T12:25:04.583476 | revision d09eb577fc00f0a89353493354f96cce2f0c30f3, logs
First occurrence: 2018-09-22T20:04:27.251742 | revision 2ed67fd, logs |
verify/rhel-7-5
First occurrence: 2018-07-12T09:50:03.069326 | revision e7984d5, logs
First occurrence: 2018-07-12T13:48:46.913678 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T15:34:08.785727 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T16:53:32.445189 | revision 0b7e15a, logs
First occurrence: 2018-07-12T20:05:29.551918 | revision 0b7e15a, logs
First occurrence: 2018-07-12T21:47:35.195266 | revision f6aac19, logs
First occurrence: 2018-07-12T22:15:18.332219 | revision 37302e7, logs
First occurrence: 2018-07-12T23:19:23.213839 | revision 0b7e15a, logs
First occurrence: 2018-07-13T00:12:20.012303 | revision 0b7e15a
First occurrence: 2018-09-21T14:26:44.627330 | revision bc07816, logs |
verify/debian-stable
First occurrence: 2018-07-12T10:57:52.326860 | revision e7984d5, logs
First occurrence: 2018-07-12T12:59:31.238470 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T13:27:20.856976 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb, logs
First occurrence: 2018-07-12T14:10:09.797865 | revision 0b7e15a, logs
First occurrence: 2018-07-12T21:55:07.620075 | revision 37302e7, logs
First occurrence: 2018-07-12T22:42:39.330543 | revision 37302e7, logs
First occurrence: 2018-07-13T19:20:52.051527 | revision f9e0c31407c6ddb2450d8e67b33b7f1ecbc30c25, logs
First occurrence: 2018-07-14T00:39:33.056803 | revision d09eb577fc00f0a89353493354f96cce2f0c30f3, logs
First occurrence: 2018-07-14T07:31:43.120104 | revision 2ec98d4, logs
First occurrence: 2018-09-22T20:02:42.504421 | revision 2ed67fd, logs |
verify/debian-testing
First occurrence: 2018-07-12T11:00:00.778588 | revision e7984d5, logs
First occurrence: 2018-07-12T13:15:26.065932 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T13:46:24.501694 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb, logs
First occurrence: 2018-07-12T15:28:45.183513 | revision 0b7e15a, logs
First occurrence: 2018-07-12T16:28:46.321708 | revision 0b7e15a, logs
First occurrence: 2018-07-12T17:05:07.403736 | revision 0b7e15a, logs
First occurrence: 2018-07-12T18:26:09.093077 | revision 0b7e15a, logs
First occurrence: 2018-07-12T22:58:03.656775 | revision 37302e7, logs
First occurrence: 2018-07-13T06:48:21.299348 | revision 37302e7, logs
First occurrence: 2018-09-22T22:01:11.836644 | revision 2ed67fd, logs |
verify/rhel-x
First occurrence: 2018-07-12T11:08:16.375062 | revision e7984d5, logs
First occurrence: 2018-07-12T13:46:12.562119 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T15:26:27.622345 | revision 0b7e15a, logs
First occurrence: 2018-07-12T16:47:38.390608 | revision 0b7e15a, logs
First occurrence: 2018-07-12T18:17:52.683332 | revision 0b7e15a, logs
First occurrence: 2018-07-13T01:07:00.543281 | revision 0b7e15a, logs
First occurrence: 2018-07-13T06:43:24.867992 | revision 37302e7, logs
First occurrence: 2018-07-13T07:57:14.805268 | revision 37302e7, logs
First occurrence: 2018-07-13T12:31:07.348660 | revision d09eb577fc00f0a89353493354f96cce2f0c30f3, logs
First occurrence: 2018-09-22T20:04:33.098456 | revision 2ed67fd, logs |
verify/fedora-28
First occurrence: 2018-07-12T11:19:55.668775 | revision e7984d5, logs
First occurrence: 2018-07-12T13:24:10.426412 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T13:44:00.863038 | revision 2565304, logs
First occurrence: 2018-07-12T15:39:47.625876 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T15:40:26.701459 | revision 2565304
First occurrence: 2018-07-12T15:54:58.409372 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb, logs
First occurrence: 2018-07-12T16:21:15.842150 | revision 0b7e15a
First occurrence: 2018-07-12T16:53:09.145164 | revision 2565304, logs
First occurrence: 2018-07-12T19:35:50.129560 | revision 0b7e15a
First occurrence: 2018-09-22T20:30:11.228065 | revision 2ed67fd, logs |
verify/rhel-7
First occurrence: 2018-07-12T11:34:02.407831 | revision e7984d5, logs
First occurrence: 2018-07-12T14:05:52.562442 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T14:29:52.075988 | revision 0b7e15a
First occurrence: 2018-07-12T16:01:32.011417 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T17:01:59.253824 | revision 28aae47, logs
First occurrence: 2018-07-12T17:18:00.688815 | revision 0b7e15a
First occurrence: 2018-07-13T04:53:17.011892 | revision 37302e7, logs
First occurrence: 2018-07-13T06:57:28.144322 | revision 37302e7, logs
First occurrence: 2018-07-13T08:23:35.323663 | revision 37302e7, logs
First occurrence: 2018-07-19T16:13:39.085310 | revision 616f6ab, logs |
verify/centos-7
First occurrence: 2018-07-12T12:14:16.661969 | revision e7984d5, logs
First occurrence: 2018-07-12T13:19:39.734162 | revision c7de51a3559095a01a6c3678255244ec9d74d6f1, logs
First occurrence: 2018-07-12T15:21:47.136468 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb, logs
First occurrence: 2018-07-12T15:34:59.676276 | revision 2124a82, logs
First occurrence: 2018-07-12T15:40:36.852660 | revision 0b7e15a, logs
First occurrence: 2018-07-12T16:09:46.236511 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb, logs
First occurrence: 2018-07-12T16:26:28.094909 | revision 0b7e15a, logs
First occurrence: 2018-07-12T17:22:30.137440 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb
First occurrence: 2018-07-12T18:07:33.874810 | revision 0efd56f3ac20604a0605d32eb8648b6e55d85dfb, logs
``` # ---------------------------------------------------------------------- # testSerialConsole (check_machines_virsh.TestMachinesVirsh) # error: package libvirt-dbus is not installed ls: cannot access /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_NESTED: No such file or directory [0921/170854.500287:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context. DevTools listening on ws://127.0.0.1:9723/devtools/browser/85f708a1-6faf-44d0-a342-6e5aad8aa8b2
not ok 109 testSerialConsole (check_machines_virsh.TestMachinesVirsh) # duration: 40s
|
Fixed in pf/react-console in patternfly/patternfly-react#471 Known issue #9641 Closes #9651
verify/fedora-27
First occurrence: 2018-07-23T19:56:40.007136 | revision 362bf5b, logs
First occurrence: 2018-07-27T17:22:26.864823 | revision 0b402d6, logs
First occurrence: 2018-08-07T15:45:14.125495 | revision 6ed0df3, logs
First occurrence: 2018-08-03T22:25:19.634613 | revision 6ed0df3, logs
First occurrence: 2018-08-27T21:07:33.189987 | revision 32633bd, logs
First occurrence: 2018-08-28T21:15:01.862668 | revision 32633bd, logs
``` # ---------------------------------------------------------------------- # testSerialConsole (check_machines.TestMachines) # ls: cannot access '/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_NESTED': No such file or directory [0904/135719.706584:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context. DevTools listening on ws://127.0.0.1:9802/devtools/browser/53a3e776-fdcc-4587-ac3a-bb20f34ad547 not ok 71 testSerialConsole (check_machines.TestMachines) # duration: 49s
|
verify/fedora-testing
First occurrence: 2018-09-03T08:52:48.783389 | revision 98d3557e77a79b6f87e0370ff38ac2fef6e21d99, logs
First occurrence: 2018-09-03T15:54:38.797808 | revision 26b7a7d, logs
First occurrence: 2018-09-05T09:23:59.663278 | revision 679fda4acdf1f45945706f6ef7a22f2c05d96c0b, logs
First occurrence: 2018-09-10T07:34:05.841149 | revision 6073d60
First occurrence: 2018-09-18T19:53:22.377239 | revision b7296ae, logs
First occurrence: 2018-09-18T20:03:39.474737 | revision b7296ae, logs |
verify/rhel-7-5-distropkg
First occurrence: 2018-07-18T09:49:37.654318 | revision ccd719a30c5f203f8daa531831da2af36e886396, logs
First occurrence: 2018-07-18T11:16:45.688137 | revision ccd719a30c5f203f8daa531831da2af36e886396, logs
First occurrence: 2018-07-18T12:02:19.362188 | revision ccd719a30c5f203f8daa531831da2af36e886396, logs
First occurrence: 2018-07-18T13:51:04.727818 | revision ccd719a30c5f203f8daa531831da2af36e886396, logs
First occurrence: 2018-07-18T14:44:16.203989 | revision ccd719a30c5f203f8daa531831da2af36e886396, logs
First occurrence: 2018-07-20T07:20:29.217160 | revision d6b6427, logs
First occurrence: 2018-07-20T07:56:13.642928 | revision 23e6f326ab06905a7583c463821b1bf81bffe662, logs
First occurrence: 2018-07-20T10:18:30.215204 | revision 501edba6775a88f3170bd1abeadbe39aea51b636, logs
First occurrence: 2018-07-20T11:05:20.992693 | revision da3ef46
First occurrence: 2018-09-22T20:24:43.098218 | revision 2ed67fd, logs |
Install a Chrome Devtools Protocol handler for unhandled exceptions, and fail the next CDP command with it. This got lost with the move from PhantomJS to Chrome. Some of our tests rely on failed ph_* function invocations, so we must not log failures of ph_wait_cond(); these are also technically unhandled exceptions. So turn this into a proper `PhWaitCondTimeout` error class, so that it can be identified reliably. Handle cases where undefined value is passed to fail/success in cdp-driver.js. Adjust the naughty override for the XTerm.js crash (cockpit-project#9641) as this now shows the actual underlying crash instead of just the followup element wait timeout. Closes cockpit-project#9639
verify/rhel-7-6
First occurrence: 2018-07-25T10:48:12.159940 | revision 9affa15, logs
First occurrence: 2018-07-25T11:19:42.736805 | revision 9affa15, logs
First occurrence: 2018-07-25T12:54:36.578084 | revision 9affa15, logs
First occurrence: 2018-07-25T13:56:26.621766 | revision 9affa15, logs
First occurrence: 2018-07-25T15:12:10.964494 | revision 9affa15, logs
First occurrence: 2018-07-25T16:47:15.363801 | revision 9affa15, logs
First occurrence: 2018-07-26T08:39:36.254629 | revision cd1e8dba08b304487e1dfcecf4b96d567379ac41, logs
First occurrence: 2018-07-26T11:19:57.983086 | revision c1b4bb6, logs
First occurrence: 2018-07-26T20:50:17.331738 | revision da82270011d85317fa3f1b2ea68ca01a17996d1d, logs
First occurrence: 2018-10-30T09:56:20.540908 | revision f834301, logs |
Install a Chrome Devtools Protocol handler for unhandled exceptions, and fail the next CDP command with it. This got lost with the move from PhantomJS to Chrome. Some of our tests rely on failed ph_* function invocations, so we must not log failures of ph_wait_cond(); these are also technically unhandled exceptions. So turn this into a proper `PhWaitCondTimeout` error class, so that it can be identified reliably. Handle cases where undefined value is passed to fail/success in cdp-driver.js. Adjust the naughty override for the XTerm.js crash (#9641) as this now shows the actual underlying crash instead of just the followup element wait timeout. Closes #9639
Install a Chrome Devtools Protocol handler for unhandled exceptions, and fail the next CDP command with it. This got lost with the move from PhantomJS to Chrome. Some of our tests rely on failed ph_* function invocations, so we must not log failures of ph_wait_cond(); these are also technically unhandled exceptions. So turn this into a proper `PhWaitCondTimeout` error class, so that it can be identified reliably. Handle cases where undefined value is passed to fail/success in cdp-driver.js. Adjust the naughty override for the XTerm.js crash (cockpit-project#9641) as this now shows the actual underlying crash instead of just the followup element wait timeout. Closes cockpit-project#9639 Cherry-picked from upstream master commit 9d3c17b, so that the naughty overrides match correctly.
Install a Chrome Devtools Protocol handler for unhandled exceptions, and fail the next CDP command with it. This got lost with the move from PhantomJS to Chrome. Some of our tests rely on failed ph_* function invocations, so we must not log failures of ph_wait_cond(); these are also technically unhandled exceptions. So turn this into a proper `PhWaitCondTimeout` error class, so that it can be identified reliably. Handle cases where undefined value is passed to fail/success in cdp-driver.js. Adjust the naughty override for the XTerm.js crash (#9641) as this now shows the actual underlying crash instead of just the followup element wait timeout. Closes #9639 Cherry-picked from upstream master commit 9d3c17b, so that the naughty overrides match correctly.
verify/rhel-7-6-distropkg
First occurrence: 2018-09-20T14:03:33.596785 | revision d137092, logs
First occurrence: 2018-09-21T13:39:54.986505 | revision cc8c922f06bb843e89da7891135cca238a855621, logs
First occurrence: 2018-09-21T14:40:46.952297 | revision 450218d6f90975f1cdde92f6d75156036bd90ade, logs
First occurrence: 2018-09-20T12:47:56.158340 | revision 8ce42bfd71ad046547460faa76c7b14ee109a9dd, logs
First occurrence: 2018-09-21T17:19:36.404456 | revision 966821a, logs ``` # ---------------------------------------------------------------------- # testSerialConsole (check_machines_virsh.TestMachinesVirsh) # error: package libvirt-dbus is not installed ls: cannot access /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_NESTED: No such file or directory [0920/165306.279688:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context. DevTools listening on ws://127.0.0.1:9330/devtools/browser/fc7da550-d462-44d2-879d-86bc6b7f8ac2
not ok 109 testSerialConsole (check_machines_virsh.TestMachinesVirsh) # duration: 48s
|
verify/fedora-29
First occurrence: 2018-09-21T14:49:22.146777 | revision 41e9211, logs
First occurrence: 2018-09-20T13:15:08.700844 | revision f86495322dada1a7b8dc4ca28de984e52b28eb61, logs
First occurrence: 2018-09-21T16:56:24.753717 | revision 966821a, logs
First occurrence: 2018-09-21T16:59:35.305430 | revision 966821a, logs
First occurrence: 2018-09-20T10:57:45.453594 | revision 8cf1482, logs
First occurrence: 2018-09-22T20:21:01.823218 | revision 2ed67fd, logs |
This was fixed a long time ago, so let's close this. |
Since last night
test/verify/check-machines TestMachines.testSerialConsole
consistently fails on CI like this:This happens on every OS and every PR. It is most likely triggered by landing the throttling patches, as this introduced subtle timing differences - although these by themselves don't (or shouldn't) break this particular behaviour. The test succeeds locally for both @stefwalter and me.
The screenshot shows an oops. In #9639 I was able to expose that properly, and now it fails more meaningfully:
Our own code doesn't actually access any
.dimensions
property anywhere; this comes from the PatternFly react-console, in particular the addMinWidth() function. Obviouslythis.state.terminal.renderer
is null or undefined. This sort of makes sense, as in that test it happens after clicking the "Disconnect" button.The text was updated successfully, but these errors were encountered: