Mattermost, Inc.

One channel unusable after using GitLab slack command

Last night we updated to GitLab 8.17 and started trying the Slack commands this morning. /gitlab issues search just worked fine and listed some issues. Then we tried /gitlab issue show <number> and nothing got displayed. We thought that the command was broken and left it as is.

A couple of hours later we were wondering why that channel did not show any new messages in general and after a while we found out that thius channel throws exceptions in the console of the browser:

Uncaught TypeError: e.replace is not a function
Please report this to https://github.com/chjj/marked.
    at t.lex (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:53:848)
    at Function.t.lex (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:53:801)
    at d (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:52:30809)
    at Object.i [as a] (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:38:3723)
    at Object.a [as f] (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:10:9957)
    at https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:30:8640
    at Array.forEach (native)
    at t.value (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:30:8083)
    at t.value (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:30:10256)
    at u._renderValidatedComponentWithoutOwnerOrContext (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:22556)
    at u._renderValidatedComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:22683)
    at u.performInitialMount (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:18502)
    at u.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:17548)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at u.performInitialMount (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:18662)
    at u.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:17548)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at h.mountChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16196)
    at h._createInitialChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31095)
    at h.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:29247)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at u.performInitialMount (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:18662)
    at u.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:17548)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at h.mountChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16196)
    at h._createInitialChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31095)
    at h.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:29247)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at u.performInitialMount (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:18662)
    at u.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:17548)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at h.mountChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16196)
    at h._createInitialChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31095)
    at h.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:29247)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at h.mountChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16196)
    at h._createInitialChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31095)
    at h.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:29247)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at u.performInitialMount (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:18662)
    at u.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:17548)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at h.mountChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16196)
    at h._createInitialChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31095)
    at h.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:29247)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at h.mountChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16196)
    at h._createInitialChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31095)
    at h.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:29247)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at h.mountChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16196)
    at h._createInitialChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31095)
    at h.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:29247)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at h.mountChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16196)
    at h._createInitialChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31095)
    at h.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:29247)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at u.performInitialMount (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:18662)
    at u.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:17548)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at h.mountChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16196)
    at h._createInitialChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31095)
    at h.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:29247)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at h.mountChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16196)
    at h._createInitialChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31095)
    at h.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:29247)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at h.mountChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16196)
    at h._createInitialChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31095)
    at h.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:29247)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at h.mountChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16196)
    at h._createInitialChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31095)
    at h.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:29247)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at u.performInitialMount (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:18662)
    at u.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:17548)
    at Object.mountComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23553)
    at Object.updateChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:15147)
    at h._reconcilerUpdateChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:15959)
    at h._updateChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16724)
    at h.updateChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:16622)
    at h._updateDOMChildren (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:1446)
    at h.updateComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31693)
    at h.receiveComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:31246)
    at Object.receiveComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:23947)
    at u._updateRenderedComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:22027)
    at u._performComponentUpdate (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:21784)
    at updateComponent (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:21062)
    at u.performUpdateIfNecessary (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:56:20389)
    at Object.performUpdateIfNecessary (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:24129)
    at s (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:9:20220)
    at a.perform (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:13:6143)
    at i.perform (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:13:6143)
    at i.perform (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:9:21307)
    at Object.C [as flushBatchedUpdates] (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:9:21476)
    at a.closeAll (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:13:6737)
    at a.perform (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:13:6226)
    at Object.batchedUpdates (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:57:11662)
    at Object.l [as enqueueUpdate] (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:9:20502)
    at a (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:15:17502)
    at Object.enqueueSetState (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:15:18518)
    at t.a.setState (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:15:28572)
    at t.value (https://mattermost.example.com/static/12.1e0c40e2cab9696388ce.js:1:6423)
    at t.a.emit (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:8:22239)
    at t.value (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:1953)
    at Object.ID_8 (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:11:11983)
    at e._invokeCallback (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:47:30926)
    at e.dispatch (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:47:30728)
    at e.handleServerAction (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:7:2990)
    at https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:10:8012
    at a.value (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:27:19269)
    at p.callback (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:24:16183)
    at p.<anonymous> (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:24:13128)
    at p.a.emit (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:47:12445)
    at XMLHttpRequest.n.onreadystatechange (https://mattermost.example.com/static/main.40a3b202d702380c27ea.js:24:17061)

Now, I don’t know what GitLab did post that results in that mess but even worse, how can I restore my channel such that it displays the other stuff again?

Can I grab the broken messages from the database and maybe delete them there manually? Please help. We’re using that for DevOps and we’re missing status messages.

1 Like

I have no resolution to add at this point but I can confirm the same behavior at my organization. We have two channels (one is a normal channel and the other is a direct message) that are non responsive. Same behavior in either the thick client or via a browser. When I say non-responsive I mean that all the traffic that was in the channel is not displayed and there is a “Loading…” message displayed. The existing messages are never displayed.

I was somehow lucky in that my problematic channel received enough new messages so that the problematic one is now far enough in the past and won’t get loaded initially. So that makes that channel usable again but the problem of course still persists and it would be nice to address both issues:

  • The JS error with its stacktrace printed above
  • The display of the GitLab messages - well that might be solved automatically by solving the first one

My organization is seeing the exact same problem (just piling on…).

We face exactly the same issue :confused:

I opened an issue:

I created issue in GitLab repository cos GitLab Mattermost repository seems dead - 1 year without updates. https://gitlab.com/gitlab-org/gitlab-ce/issues/28640