Skip to content
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

Adding "Public" fails in the Web UI #1216

Open
clacke opened this issue Oct 9, 2016 · 8 comments
Open

Adding "Public" fails in the Web UI #1216

clacke opened this issue Oct 9, 2016 · 8 comments
Labels

Comments

@clacke
Copy link

clacke commented Oct 9, 2016

This is on https://microca.st/clacke .

I write a post in the Web UI, and I want to make it public. I type "ub" in the "To:" field. The spinner starts. Nothing happens. I type "pu". Same result. I type "public". No change.

Now I've taken a look at the web console, and here is what I see. It's trying to get following?q=public and it gets a 500:

NoSuchThingError: No such 'person' with id '164974'
    at /opt/pump.io/node_modules/databank/node_modules/databank-mongodb/lib/mongodb.js:360:30
    at /opt/pump.io/node_modules/databank/node_modules/databank-mongodb/node_modules/mongodb/lib/mongodb/collection/query.js:159:5
    at /opt/pump.io/node_modules/databank/node_modules/databank-mongodb/node_modules/mongodb/lib/mongodb/cursor.js:747:35
    at Cursor.close (/opt/pump.io/node_modules/databank/node_modules/databank-mongodb/node_modules/mongodb/lib/mongodb/cursor.js:972:5)
    at Cursor.nextObject (/opt/pump.io/node_modules/databank/node_modules/databank-mongodb/node_modules/mongodb/lib/mongodb/cursor.js:747:17)
    at commandHandler (/opt/pump.io/node_modules/databank/node_modules/databank-mongodb/node_modules/mongodb/lib/mongodb/cursor.js:716:14)
    at /opt/pump.io/node_modules/databank/node_modules/databank-mongodb/node_modules/mongodb/lib/mongodb/db.js:1846:9
    at Server.Base._callHandler (/opt/pump.io/node_modules/databank/node_modules/databank-mongodb/node_modules/mongodb/lib/mongodb/connection/base.js:445:41)
    at /opt/pump.io/node_modules/databank/node_modules/databank-mongodb/node_modules/mongodb/lib/mongodb/connection/server.js:478:18
    at MongoReply.parseBody (/opt/pump.io/node_modules/databank/node_modules/databank-mongodb/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
@clacke
Copy link
Author

clacke commented Oct 9, 2016

This could be considered two issues:

  • The front-end does not handle a back-end 500 -- does not stop the spinner and does not report an error.
  • The back-end 500 happens.

@clacke
Copy link
Author

clacke commented Oct 9, 2016

Confirmed that whatever I type, I get the same 500.

@strugee
Copy link
Member

strugee commented Oct 9, 2016

Sounds like some db corruption... probably extremely tricky to debug. Can anyone confirm whether this happens with a different microca.st account?

@clacke
Copy link
Author

clacke commented Oct 9, 2016

https://microca.st/clacke_testing has no trouble.

@jankusanagi
Copy link
Contributor

My microca.st alter ego has no issues with adding "Public" to the "To" field, and it's basically instantaneous.

@clacke, did you try with a completely new browser profile/different "OS user", etc?

@clacke
Copy link
Author

clacke commented Oct 9, 2016

I tried two different browsers. But reading the stacktrace tea leaves, it really looks like a join-like operation in mongo-databank is not robust enough. I am following some person who has disappeared from the database.

EDIT: No, that's too fast of a conclusion. The lookup of this unknown user seems to be coming from Pump, not from the databank internally.

@strugee
Copy link
Member

strugee commented Oct 9, 2016

If you're following some person who has disappeared from the database, they clearly have not completely disappeared. This of strongly indicative of database inconsistency which suggests corruption. That being said, the fact that it's corrupt in the first place is clearly a bug that we should fix.

@clacke
Copy link
Author

clacke commented Oct 22, 2016

Just going to plain https://microca.st/clacke/following produces a different error:

TypeError: Cannot read property 'id' of null
    at /opt/pump.io/lib/finishers.js:61:42
    at Array.map (native)
    at addFollowed (/opt/pump.io/lib/finishers.js:60:23)
    at /opt/pump.io/lib/streams.js:700:9
    at Function.collection.links.self.href.URLMaker.makeURL.offset (/opt/pump.io/lib/streams.js:250:17)
    at next (/opt/pump.io/node_modules/step/lib/step.js:51:23)
    at Function.<anonymous> (/opt/pump.io/node_modules/databank/lib/databankobject.js:238:21)
    at next (/opt/pump.io/node_modules/step/lib/step.js:51:23)
    at Function.<anonymous> (/opt/pump.io/node_modules/databank/lib/databankobject.js:218:21)
    at next (/opt/pump.io/node_modules/step/lib/step.js:51:23)

EDIT: No, it's the same with or without ?q=..., just the corruption has changed shape, or maybe pump.io was upgraded to do something slightly different, since last time I looked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants