ampproject / error-reporting

Contains production error tracking issues.
Apache License 2.0
2 stars 5 forks source link

🚨 Error: Doc factory failed: amp-mustache: Cannot read property 'amp-mustache' of undefined #58

Closed ampprojectbot closed 3 years ago

ampprojectbot commented 3 years ago

Details

Error report: link First seen: Feb 25, 2021 Frequency: ~ 452/day

Stacktrace

Error: Doc factory failed:  amp-mustache: Cannot read property 'amp-mustache' of undefined
    at name (src/service/extensions-impl.js:349:45)
    at factory (src/service/extensions-impl.js:491:10)
    at forEach (src/service/extensions-impl.js:489:26)

Notes

@dvoytenko modified src/service/extensions-impl.js:339-352 in #32853 (Feb 24, 2021) @dvoytenko modified src/service/extensions-impl.js:490-495 in #10992 (Aug 28, 2017) @renovate-bot modified src/service/extensions-impl.js:489-489 in #27350 (Mar 30, 2020)

Seen in:

Possible assignees: @dvoytenko

/cc @ampproject/release-on-duty

rcebulko commented 3 years ago

/cc @dvoytenko This seems like it may be directly related to https://github.com/ampproject/amphtml/pull/32853

rcebulko commented 3 years ago

/cc reviewers @calebcordry @jridgewell for visibility since it looks like Dima is OOO atm

ampprojectbot commented 3 years ago

A duplicate error report was linked to this issue (link)

ampprojectbot commented 3 years ago

A duplicate error report was linked to this issue (link)

jridgewell commented 3 years ago

Investigating now. It only affects nightly, so if I can land a fix we should be ok.

jridgewell commented 3 years ago

This is a really fun cross-module private name mangling issue. We seem to have multiple copies of the registerTemplate_ function, each with a different name, in any binary using mustache.

jridgewell commented 3 years ago

Reverted the PR, so this should disappear. But I'm going to leave this open while I try to fix the real underlying issues so we can rollfoward.

dvoytenko commented 3 years ago

Ugh. I saw that private registerTemplate_. There's just no need for it to be private.