-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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
Infinite loop when zone-patch-rxjs is used #12686
Comments
Same bug with mat-menu. |
From looking through the changelog its possible that #12414 caused this change. I am unsure of if this is something we consider an error or simply an incompatibility with our library. |
I'm not super convinced that #12414 could've caused it. The |
@angular/[email protected] and @angular/[email protected] face the same issue.
|
@angular/[email protected] and @angular/[email protected] face the same issue.
|
Fixes the overlay causing the browser to go into an infinite loop if the consumer is using `zone-patch-rxjs`. Fixes angular#12686.
I still get the error with version 7.2.0 |
The problem seems to be the use of onStable here: But putting it into ngZone.runOutsideAngular seems to breaks other stuff. |
I have the same problem, guys. this is happening when I close the mat-menu or when I hover the mat-list-item. I have noticed this in the last 2 months on the development version, now I get the same errors also in the production. overlay.es5.js:1544 Uncaught RangeError: Maximum call stack size exceeded.
at SafeSubscriber._next (overlay.es5.js:1544)
at SafeSubscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub (Subscriber.js:196)
at SafeSubscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next (Subscriber.js:134)
at Subscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next (Subscriber.js:77)
at Subscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (Subscriber.js:54)
at TakeUntilSubscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next (Subscriber.js:77)
at TakeUntilSubscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (Subscriber.js:54)
at SafeSubscriber.schedulerFn [as _next] (core.js:12609)
at SafeSubscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub (Subscriber.js:196)
at SafeSubscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next (Subscriber.js:134)
(anonymous) @ overlay.es5.js:1544
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
schedulerFn @ core.js:12609
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push.../../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:12593
(anonymous) @ core.js:16131
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
push.../../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push.../../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular @ core.js:16115
checkStable @ core.js:16131
onLeave @ core.js:16192
onInvokeTask @ core.js:16150
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:422
push.../../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:195
push.../../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:498
invokeTask @ zone.js:1744
globalZoneAwareCallback @ zone.js:1770
(anonymous) @ overlay.es5.js:1544
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
schedulerFn @ core.js:12609
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push.../../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:12593
(anonymous) @ core.js:16131
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
push.../../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push.../../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular @ core.js:16115
checkStable @ core.js:16131
onLeave @ core.js:16192
onInvokeTask @ core.js:16150
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:422
push.../../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:195
push.../../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:498
invokeTask @ zone.js:1744
globalZoneAwareCallback @ zone.js:1770
(anonymous) @ overlay.es5.js:1544
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
schedulerFn @ core.js:12609
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push.../../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:12593
(anonymous) @ core.js:16131
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
push.../../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push.../../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular @ core.js:16115
checkStable @ core.js:16131
onLeave @ core.js:16192
onInvokeTask @ core.js:16150
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:422
push.../../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:195
push.../../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:498
invokeTask @ zone.js:1744
globalZoneAwareCallback @ zone.js:1770
(anonymous) @ overlay.es5.js:1544
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
schedulerFn @ core.js:12609
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push.../../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:12593
(anonymous) @ core.js:16131
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
push.../../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push.../../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular @ core.js:16115
checkStable @ core.js:16131
onLeave @ core.js:16192
onInvokeTask @ core.js:16150
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:422
push.../../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:195
push.../../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:498
invokeTask @ zone.js:1744
globalZoneAwareCallback @ zone.js:1770
(anonymous) @ overlay.es5.js:1544
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
schedulerFn @ core.js:12609
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push.../../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:12593
(anonymous) @ core.js:16131
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
push.../../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push.../../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular @ core.js:16115
checkStable @ core.js:16131
onLeave @ core.js:16192
onInvokeTask @ core.js:16150
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:422
push.../../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:195
push.../../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:498
invokeTask @ zone.js:1744
globalZoneAwareCallback @ zone.js:1770
(anonymous) @ overlay.es5.js:1544
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
schedulerFn @ core.js:12609
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push.../../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:12593
(anonymous) @ core.js:16131
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
push.../../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push.../../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular @ core.js:16115
checkStable @ core.js:16131
onLeave @ core.js:16192
onInvokeTask @ core.js:16150
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:422
push.../../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:195
push.../../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:498
invokeTask @ zone.js:1744
globalZoneAwareCallback @ zone.js:1770
(anonymous) @ overlay.es5.js:1544
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
schedulerFn @ core.js:12609
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push.../../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:12593
(anonymous) @ core.js:16131
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
push.../../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push.../../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular @ core.js:16115
checkStable @ core.js:16131
onLeave @ core.js:16192
onInvokeTask @ core.js:16150
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:422
push.../../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:195
push.../../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:498
invokeTask @ zone.js:1744
globalZoneAwareCallback @ zone.js:1770
(anonymous) @ overlay.es5.js:1544
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
schedulerFn @ core.js:12609
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:196
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:134
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:77
push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:54
push.../../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
push.../../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:12593
(anonymous) @ core.js:16131
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
push.../../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
push.../../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular @ core.js:16115
17:30:17.267 zone.js:199 Uncaught DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is no longer a child of this node. Perhaps it was moved in response to a mutation?
at SafeSubscriber._next (http://localhost:4200/vendor.js:16554:51)
at SafeSubscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub (http://localhost:4200/vendor.js:181905:16)
at SafeSubscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next (http://localhost:4200/vendor.js:181843:22)
at Subscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next (http://localhost:4200/vendor.js:181786:26)
at Subscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (http://localhost:4200/vendor.js:181763:18)
at TakeUntilSubscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next (http://localhost:4200/vendor.js:181786:26)
at TakeUntilSubscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (http://localhost:4200/vendor.js:181763:18)
at SafeSubscriber.schedulerFn [as _next] (http://localhost:4200/vendor.js:76827:52)
at SafeSubscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub (http://localhost:4200/vendor.js:181905:16)
at SafeSubscriber.push.../../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next (http://localhost:4200/vendor.js:181843:22) |
I'm encountering the same problem. I definitely do not believe this issue should be closed. |
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
Bug
Starting with angular cdk version 6.4.3 there seems to be an incompatibility with zone-patch-rxjs which causes an infinite loop. For this reason some components, in our case the datepicker, won't work as expected.
What is the expected behavior?
When selecting a date in the datepicker (or closing it by clicking outside of the datepicker) it should not cause an error. It should also be possible to open the datepicker a second time.
What is the current behavior?
When selecting a date in the datepicker it throws a "Maximum call stack size exceeded" error. When opening the datepicker the second time it doesn't show the calendar, but an empty flyout.
Note: That's only true for angular cdk versions >= 6.4.3 and if "zone-patch-rxjs" is included. And also it's only broken for non touch-ui mode.
What are the steps to reproduce?
Example on stackblitz which is not working same example with angular cdk version 6.4.2 that is working as expected. You can get from one to the other with installing the dependencies
@angular/[email protected] @angular/[email protected] @angular/[email protected]
or the other way around with 6.4.2. That's the only difference.Which versions of Angular, Material, OS, TypeScript, browsers are affected?
However, the issue doesn't seem to be browser, TypeScript, or OS related. Angular CDK, zone.js and maybe rxjs seem to be the important factors.
The text was updated successfully, but these errors were encountered: