I am getting the following error for certain pages on my website. It is related to Webpack.
TypeError: Cannot read property 'call' of undefined
Why is this error happening?
The stack trace doesn't show any of my code. It is happening in Webpack code:
function webpackAsyncContext(e) {
if (!n.o(r, e))
return Promise.resolve().then((function() {
var t = new Error("Cannot find module '" + e + "'");
throw t.code = "MODULE_NOT_FOUND",
t
}
));
var t = r[e]
, o = t[0];
return Promise.all(t.slice(1).map(n.e)).then((function() {
return n(o) // <---- ERROR HAPPENING HERE
}
))
}
UPDATE 1:
Error stacktrace is as follows:
main-client.js?v=HBU…YpSTrLMew46Jy0:1644 ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'call' of undefined
TypeError: Cannot read property 'call' of undefined
at __webpack_require__ (main-client.js?v=HBU…HNYpSTrLMew46Jy0:20)
at main-client.js?v=HBU…pSTrLMew46Jy0:38946
at ZoneDelegate.invoke (main-client.js?v=HBU…pSTrLMew46Jy0:39643)
at Object.onInvoke (main-client.js?v=HBU…YpSTrLMew46Jy0:7197)
at ZoneDelegate.invoke (main-client.js?v=HBU…pSTrLMew46Jy0:39643)
at Zone.run (main-client.js?v=HBU…pSTrLMew46Jy0:39537)
at main-client.js?v=HBU…pSTrLMew46Jy0:40017
at ZoneDelegate.invokeTask (main-client.js?v=HBU…pSTrLMew46Jy0:39656)
at Object.onInvokeTask (main-client.js?v=HBU…YpSTrLMew46Jy0:7189)
at ZoneDelegate.invokeTask (main-client.js?v=HBU…pSTrLMew46Jy0:39656)
at resolvePromise (main-client.js?v=HBU…pSTrLMew46Jy0:39975)
at resolvePromise (main-client.js?v=HBU…pSTrLMew46Jy0:39952)
at main-client.js?v=HBU…pSTrLMew46Jy0:40018
at ZoneDelegate.invokeTask (main-client.js?v=HBU…pSTrLMew46Jy0:39656)
at Object.onInvokeTask (main-client.js?v=HBU…YpSTrLMew46Jy0:7189)
at ZoneDelegate.invokeTask (main-client.js?v=HBU…pSTrLMew46Jy0:39656)
at Zone.runTask (main-client.js?v=HBU…pSTrLMew46Jy0:39568)
at drainMicroTaskQueue (main-client.js?v=HBU…pSTrLMew46Jy0:39754)
defaultErrorLogger @ main-client.js?v=HBU…YpSTrLMew46Jy0:1644
ErrorHandler.handleError @ main-client.js?v=HBU…YpSTrLMew46Jy0:1663
next @ main-client.js?v=HBU…YpSTrLMew46Jy0:7472
i @ main-client.js?v=HBU…YpSTrLMew46Jy0:6748
SafeSubscriber.__tryOrUnsub @ main-client.js?v=HBU…pSTrLMew46Jy0:27250
SafeSubscriber.next @ main-client.js?v=HBU…pSTrLMew46Jy0:27224
Subscriber._next @ main-client.js?v=HBU…pSTrLMew46Jy0:27204
Subscriber.next @ main-client.js?v=HBU…pSTrLMew46Jy0:27196
Subject.next @ main-client.js?v=HBU…pSTrLMew46Jy0:36275
EventEmitter.emit @ main-client.js?v=HBU…YpSTrLMew46Jy0:6735
(anonymous) @ main-client.js?v=HBU…YpSTrLMew46Jy0:7207
ZoneDelegate.invoke @ main-client.js?v=HBU…pSTrLMew46Jy0:39643
Zone.run @ main-client.js?v=HBU…pSTrLMew46Jy0:39537
NgZone.runOutsideAngular @ main-client.js?v=HBU…YpSTrLMew46Jy0:7232
onHandleError @ main-client.js?v=HBU…YpSTrLMew46Jy0:7206
ZoneDelegate.handleError @ main-client.js?v=HBU…pSTrLMew46Jy0:39645
Zone.runGuarded @ main-client.js?v=HBU…pSTrLMew46Jy0:39550
_loop_1 @ main-client.js?v=HBU…pSTrLMew46Jy0:39890
Zone.__load_patch.n.microtaskDrainDone @ main-client.js?v=HBU…pSTrLMew46Jy0:39896
drainMicroTaskQueue @ main-client.js?v=HBU…pSTrLMew46Jy0:39760
Promise.then (async)
scheduleMicroTask @ main-client.js?v=HBU…pSTrLMew46Jy0:39741
ZoneDelegate.scheduleTask @ main-client.js?v=HBU…pSTrLMew46Jy0:39652
onScheduleTask @ main-client.js?v=HBU…pSTrLMew46Jy0:39617
ZoneDelegate.scheduleTask @ main-client.js?v=HBU…pSTrLMew46Jy0:39648
Zone.scheduleTask @ main-client.js?v=HBU…pSTrLMew46Jy0:39586
Zone.scheduleMicroTask @ main-client.js?v=HBU…pSTrLMew46Jy0:39592
scheduleResolveOrReject @ main-client.js?v=HBU…pSTrLMew46Jy0:40011
resolvePromise @ main-client.js?v=HBU…pSTrLMew46Jy0:39971
(anonymous) @ main-client.js?v=HBU…pSTrLMew46Jy0:39928
webpackJsonpCallback @ main-client.js?v=HBU…YHNYpSTrLMew46Jy0:5
(anonymous) @ 0.js:formatted:1
UPDATE 2:
Error stacktrace after upgrading from Angular 7.2 to 9.1. Still the same issue.
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'call' of undefined
TypeError: Cannot read property 'call' of undefined
at __webpack_require__ (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:24)
at Module.280 (3.js:1)
at __webpack_require__ (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:24)
at main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:57250
at ZoneDelegate.invoke (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:58417)
at Object.onInvoke (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:13800)
at ZoneDelegate.invoke (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:58417)
at Zone.run (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:58227)
at main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:58839
at ZoneDelegate.invokeTask (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:58440)
at resolvePromise (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:58793)
at resolvePromise (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:58761)
at main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:58840
at ZoneDelegate.invokeTask (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:58440)
at Object.onInvokeTask (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:13791)
at ZoneDelegate.invokeTask (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:58440)
at Zone.runTask (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:58267)
at drainMicroTaskQueue (main-client.js?v=En9ov5sOxlQIVwZOduy8ehlKv7mPkjk-C6t7aJXanQY:formatted:58572)
UPDATE 3:
It has something to do with lazy loading. When I changed it to default loading (importing modules directly), it worked. (I have also updated hrefs and replaced them with routerLink.)
Right now, it has default loading.