element-hq / element-web

A glossy Matrix collaboration client for the web.
https://element.io
GNU Affero General Public License v3.0
11.03k stars 1.96k forks source link

I have a special room that makes Chrome on Ubuntu stop working. #6164

Closed lampholder closed 5 years ago

lampholder commented 6 years ago

Trying to reproduce https://github.com/vector-im/riot-web/issues/6145, I:

Don't know if it's related, but my Riot on another box just got knifed by Chrome, too

turt2live commented 6 years ago

Changed the power level to speak Clicked save Opened settings Observed that the power level change hadn't persisted

This part feels like you were able to race the power level state change request. The rest is just a disaster it seems.

lampholder commented 6 years ago

Yeah, a puzzling disaster too. Switching to that particular room is game over, but if I use an incognito chrome it's fine. Also doesn't seem to affect any of my other chromes/whatever on any other machines.

lukebarnard1 commented 6 years ago

In [the logs](), we see a tight loop add 501+ event emitters:

2018-02-15T15:05:22.321Z I Switching to room id !fuZaVqmpqEMYoaXNcJ:lant.uk at event undefined
2018-02-15T15:05:22.328Z I newscreen room/!fuZaVqmpqEMYoaXNcJ:lant.uk
2018-02-15T15:05:34.297Z E (node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit. 501

which takes 12s.

Then we hit a bunch of CORS errors where it seems Riot has request profile information infinitely. This starts 23s after switching to the room.

2018-02-15T15:05:45.706Z E Failed to load user settings: Error: CORS request rejected: https://matrix.lant.uk/_matrix/client/r0/account/3pid?
2018-02-15T15:05:45.708Z I Starting load of AsyncWrapper for modal
2018-02-15T15:05:45.708Z I AsyncWrapper load completed with ErrorDialog
2018-02-15T15:05:45.734Z E Failed to load user settings: Error: CORS request rejected: https://matrix.lant.uk/_matrix/client/r0/profile/%40tom%3Alant.uk?

Unrelated bug that shows up in logs:

Looking at the related logs for this (that occurred prior to this issue being filed), one error comes up repeatedly:

2018-02-15T15:17:06.960Z W %cUnhandled rejection TypeError: _this.props.onWidgetLoad is not a function
    at Object.<anonymous> (https://riot.im/develop/bundles/d73789921a08c2a82bec/bundle.js:157965:46)

which is actually https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/components/views/rooms/EventTile.js#L224

Looks like Quote and QuotePreview do not specify onWidgetLoad, causing an NPE. Unfortunately, onWidgetLoad is not marked as required.

lampholder commented 6 years ago

This looks like a whole mix of stuffs, and (after having deactivated and reactivated the 'replies' option in labs) my 'special room' no longer causes said explosions.

@lukebarnard1 do you think this issue is likely to resolve into something useful, or can I kill it?

lukebarnard1 commented 6 years ago

@lampholder I honestly don't know. It's probably worth having a place for further reports if we ever see this again.

turt2live commented 5 years ago

We haven't had reports of this since, so closing as a one-off-hopefully-fixed bug

jomat commented 3 years ago

Perhaps I have the same issue. Firefox 84.0.1, Element Web v1.7.34-rc.1.

The browser works. Then I open element, it loads some time, then it adds 501 sync listeners, FF says "A web page is slowing down your browser", no further console output, and opening other web pages in new tabs results in infinite loading. Also element still has a spinning circle where the text input fiel should be, and the room list is still "blurred".


Decrypted event on retry (id=$redactedq2o) rageshake.js:52:4
Decrypted event on retry (id=$redactedsRE) rageshake.js:52:4
Decrypted event on retry (id=$redacted_PA) rageshake.js:52:4
Decrypted event on retry (id=$redactedqvM) rageshake.js:52:4
Decrypted event on retry (id=$redacted1xs) rageshake.js:52:4
Presence: online rageshake.js:52:4
Unknown property ‘-moz-osx-font-smoothing’.  Declaration dropped. theme-dark-custom.css:1:2831
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:4455
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:4524
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:7405
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:7982
Error in parsing value for ‘cursor’.  Declaration dropped. theme-dark-custom.css:1:49896
Error in parsing value for ‘cursor’.  Declaration dropped. theme-dark-custom.css:1:49933
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:63860
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:63976
Error in parsing value for ‘-webkit-transition’.  Declaration dropped. theme-dark-custom.css:1:74636
Error in parsing value for ‘transition’.  Declaration dropped. theme-dark-custom.css:1:74697
Unknown property ‘content-visibility’.  Declaration dropped. theme-dark-custom.css:1:76117
Unknown property ‘contain-intrinsic-size’.  Declaration dropped. theme-dark-custom.css:1:76145
Unknown property ‘-moz-column-gap’.  Declaration dropped. theme-dark-custom.css:1:112912
Unknown pseudo-class or pseudo-element ‘-moz-placeholder-shown’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:133283
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:133464
Error in parsing value for ‘border-radius’.  Declaration dropped. theme-dark-custom.css:1:140707
Error in parsing value for ‘border-radius’.  Declaration dropped. theme-dark-custom.css:1:140783
Error in parsing value for ‘border-radius’.  Declaration dropped. theme-dark-custom.css:1:140923
Unknown property ‘speak’.  Declaration dropped. theme-dark-custom.css:1:142658
Error in parsing value for ‘vertical-align’.  Declaration dropped. theme-dark-custom.css:1:148129
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:154891
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:154993
Error in parsing value for ‘word-wrap’.  Declaration dropped. theme-dark-custom.css:1:165107
Ruleset ignored due to bad selector. theme-dark-custom.css:1:178749
Ruleset ignored due to bad selector. theme-dark-custom.css:1:179026
Unknown property ‘-moz-column-gap’.  Declaration dropped. theme-dark-custom.css:1:201466
Error in parsing value for ‘overflow’.  Declaration dropped. theme-dark-custom.css:1:244736
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:254135
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:254302
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:255139
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:255381
Unknown pseudo-class or pseudo-element ‘-moz-placeholder-shown’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:255601
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:255836
Unknown pseudo-class or pseudo-element ‘-moz-placeholder-shown’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:256808
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:257259
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:270772
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector. theme-dark-custom.css:1:270878
Unknown property ‘size’.  Declaration dropped. theme-dark-custom.css:1:276985
Expected color but found ‘-webkit-focus-ring-color’.  Error in parsing value for ‘outline-color’.  Declaration dropped. theme-dark-custom.css:1:278073
Expected color but found ‘-webkit-focus-ring-color’.  Error in parsing value for ‘outline-color’.  Declaration dropped. theme-dark-custom.css:1:279642
Error in parsing value for ‘-webkit-box-shadow’.  Declaration dropped. theme-dark-custom.css:1:343235
Error in parsing value for ‘box-shadow’.  Declaration dropped. theme-dark-custom.css:1:343270
Error in parsing value for ‘overflow-x’.  Declaration dropped. theme-dark-custom.css:1:371141
Error in parsing value for ‘text-align’.  Declaration dropped. theme-dark-custom.css:1:373881
Error in parsing value for ‘-webkit-box-shadow’.  Declaration dropped. theme-dark-custom.css:1:404110
Error in parsing value for ‘box-shadow’.  Declaration dropped. theme-dark-custom.css:1:404145
Error in parsing value for ‘-webkit-box-sizing’.  Declaration dropped. theme-dark-custom.css:1:418265
Error in parsing value for ‘box-sizing’.  Declaration dropped. theme-dark-custom.css:1:418284
Error in parsing value for ‘-webkit-box-pack’.  Declaration dropped. theme-dark-custom.css:1:462524
Error in parsing value for ‘direction’.  Declaration dropped. theme-dark-custom.css:1:475483
Error in parsing value for ‘-webkit-box-pack’.  Declaration dropped. theme-dark-custom.css:1:480913
Unknown property ‘-moz-column-gap’.  Declaration dropped. theme-dark-custom.css:1:485242
Unknown property ‘-moz-column-gap’.  Declaration dropped. theme-dark-custom.css:1:486439
Error in parsing value for ‘-webkit-text-size-adjust’.  Declaration dropped. bundle.css:1:67
Analytics error:  TypeError: NetworkError when attempting to fetch resource. rageshake.js:52:4
XHRGEThttps://piwik.asra.gr/piwik.php?rec=1&idsite=1&apiv=1&send_image=0&_id=redacted
Blocked By Extension

XHRGEThttps://asra.gr/_matrix/client/r0/sync?filter=51&timeout=0&since=s70177524_533303873_32489_53123489_4055417_6175_4467915_33379493_431
received to_device m.room.encrypted from: @redacted:redacted.nl id: undefined rageshake.js:52:4
received to_device m.room.encrypted from: @redacted.redacted.gr id: undefined 2 rageshake.js:52:4
received to_device m.room.encrypted from: @redacted:redacted.space id: undefined 2 rageshake.js:52:4
Request to reset timeline in room  !redactedcpt:nheko.im  viewing: !aCZVNIEPccNAHritsP:asra.gr rageshake.js:52:4
Request to reset timeline in room  !redactedIXc:devlol.org  viewing: !aCZVNIEPccNAHritsP:asra.gr rageshake.js:52:4
Request to reset timeline in room  !redactedgAg:matrix.org  viewing: !aCZVNIEPccNAHritsP:asra.gr rageshake.js:52:4
Request to reset timeline in room  !redactedSKB:midov.pl  viewing: !aCZVNIEPccNAHritsP:asra.gr rageshake.js:52:4
Request to reset timeline in room  !redactedjrK:techlore.net  viewing: !aCZVNIEPccNAHritsP:asra.gr rageshake.js:52:4
Request to reset timeline in room  !redactedRCI:libera.chat  viewing: !aCZVNIEPccNAHritsP:asra.gr rageshake.js:52:4
Marking device list outdated for @redacted:redacted.gr rageshake.js:52:4
Marking device list outdated for @redacted:redacted.space rageshake.js:52:4
Marking device list outdated for @redacted:redacted.org rageshake.js:52:4
MatrixClient sync state => PREPARED rageshake.js:52:4
Starting key download for 
Array(3) [ "@redacted:redacted.gr", "@redacted:redacted.space", "@redacted:redacted.org" ]
rageshake.js:52:4
MatrixClient sync state => SYNCING rageshake.js:52:4
Advanced room list logging is enabled rageshake.js:52:4
Regenerating room lists: Startup rageshake.js:52:4
Returning cached capabilities rageshake.js:52:4
MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 501 accountData listeners added. Use emitter.setMaxListeners() to increase limit
    d events.js:211
    addListener events.js:227
    _ RoomNotificationState.ts:36
    getRoomState RoomNotificationStateStore.ts:87
    get globalState RoomNotificationStateStore.ts:52
    C SpacePanel.tsx:122
    React 9
    unstable_runWithPriority scheduler.production.min.js:18
    React 5
    n useEventEmitter.ts:38
    emit events.js:158
    X SpaceStore.tsx:467
    Lodash 3
    X SpaceStore.tsx:475
    onReady SpaceStore.tsx:763
    onReady AsyncStoreWithClient.ts:37
    s ReadyWatchingStore.ts:67
    _invokeCallback Dispatcher.js:171
    dispatch Dispatcher.js:154
    dispatch dispatcher.ts:44
    r MatrixActionCreators.ts:279
    emit events.js:158
    updateSyncState sync.ts:1696
    doSync sync.ts:821
rageshake.js:52:4
MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 501 Event.decrypted listeners added. Use emitter.setMaxListeners() to increase limit
    d events.js:211
    addListener events.js:227
    _ RoomNotificationState.ts:35
    getRoomState RoomNotificationStateStore.ts:87
    get globalState RoomNotificationStateStore.ts:52
    C SpacePanel.tsx:122
    React 9
    unstable_runWithPriority scheduler.production.min.js:18
    React 5
    n useEventEmitter.ts:38
    emit events.js:158
    X SpaceStore.tsx:467
    Lodash 3
    X SpaceStore.tsx:475
    onReady SpaceStore.tsx:763
    onReady AsyncStoreWithClient.ts:37
    s ReadyWatchingStore.ts:67
    _invokeCallback Dispatcher.js:171
    dispatch Dispatcher.js:154
    dispatch dispatcher.ts:44
    r MatrixActionCreators.ts:279
    emit events.js:158
    updateSyncState sync.ts:1696
    doSync sync.ts:821
rageshake.js:52:4
Regenerating all room lists rageshake.js:52:4
Resetting known rooms, initiating regeneration rageshake.js:52:4
Underlying algorithm has triggered a list update - marking rageshake.js:52:4
Resetting known rooms, initiating regeneration rageshake.js:52:4
Changing sticky room to !redactedtsP:asra.gr rageshake.js:52:4
Handle room update for !redactedtsP:asra.gr called with cause ROOM_REMOVED rageshake.js:52:4
[RoomListDebug] Reached algorithmic handling for !redactedtsP:asra.gr and cause ROOM_REMOVED rageshake.js:52:4
[RoomListDebug] Finished handling !redactedtsP:asra.gr with cause ROOM_REMOVED (changed=true) rageshake.js:52:4
Generating clone of cached rooms for sticky room handling rageshake.js:52:4
Inserting sticky room !redactedtsP:asra.gr at position 164 in im.vector.fake.recent rageshake.js:52:4
Underlying algorithm has triggered a list update - marking 2 rageshake.js:52:4
MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 update listeners added. Use emitter.setMaxListeners() to increase limit
    d events.js:211
    addListener events.js:227
    setRooms ListNotificationState.ts:57
    T RoomListStore.ts:65
    trigger MarkedExecution.ts:56
    makeReady RoomListStore.ts:139
    onReady RoomListStore.ts:185
    onReady AsyncStoreWithClient.ts:37
    s ReadyWatchingStore.ts:67
    _invokeCallback Dispatcher.js:171
    dispatch Dispatcher.js:154
    dispatch dispatcher.ts:44
    r MatrixActionCreators.ts:279
    emit events.js:158
    updateSyncState sync.ts:1696
    doSync sync.ts:821
rageshake.js:52:4
MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 501 sync listeners added. Use emitter.setMaxListeners() to increase limit
    d events.js:211
    addListener events.js:227
    o useEventEmitter.ts:41
    Dc React
    unstable_runWithPriority scheduler.production.min.js:18
    React 4
    unstable_runWithPriority scheduler.production.min.js:18
    React 6
    t RoomSublist.tsx:280
    emit events.js:158
    T RoomListStore.ts:67
    trigger MarkedExecution.ts:56
    makeReady RoomListStore.ts:139
    onReady RoomListStore.ts:185
    onReady AsyncStoreWithClient.ts:37
    s ReadyWatchingStore.ts:67
    _invokeCallback Dispatcher.js:171
    dispatch Dispatcher.js:154
    dispatch dispatcher.ts:44
    r MatrixActionCreators.ts:279
    emit events.js:158
    updateSyncState sync.ts:1696
    doSync sync.ts:821
rageshake.js:52:4
new lists 
Object { "im.vector.fake.invite": [], "m.favourite": (7) […], "im.vector.fake.direct": (352) […], "im.vector.fake.recent": (559) […], "m.lowpriority": (86) […], "m.server_notice": [], "im.vector.fake.suggested": [], "im.vector.fake.archived": [] }
rageshake.js:52:4
SimonBrandner commented 3 years ago

@jomat, open a new issue please