Skip to content

Fixes#4

Open
tiennou wants to merge 4 commits into
ScreepsMods:masterfrom
tiennou:fixes
Open

Fixes#4
tiennou wants to merge 4 commits into
ScreepsMods:masterfrom
tiennou:fixes

Conversation

@tiennou

@tiennou tiennou commented Feb 14, 2025

Copy link
Copy Markdown
Member

No description provided.

@tiennou

tiennou commented Feb 14, 2025

Copy link
Copy Markdown
Member Author

That's still not perfect, because of

screeps-1  | [backend] TypeError: Cannot read property 'hint' of undefined
screeps-1  |     at FindOperators.update (/screeps/mods/node_modules/mongodb/lib/bulk/common.js:703:24)
screeps-1  |     at bulk.forEach.i (/screeps/mods/node_modules/screepsmod-mongo/lib/common/_connect.js:194:40)
screeps-1  |     at Array.forEach (<anonymous>)
screeps-1  |     at Object.wrap.bulk (/screeps/mods/node_modules/screepsmod-mongo/lib/common/_connect.js:185:20)
screeps-1  |     at dbLookupPromises.push.collection.find.then (/screeps/mods/node_modules/screepsmod-stats/lib/mod.js:175:35)
screeps-1  |     at _fulfilled (/screeps/mods/node_modules/q/q.js:854:54)
screeps-1  |     at /screeps/mods/node_modules/q/q.js:883:30
screeps-1  |     at Promise.promise.promiseDispatch (/screeps/mods/node_modules/q/q.js:816:13)
screeps-1  |     at /screeps/mods/node_modules/q/q.js:624:44
screeps-1  |     at runSingle (/screeps/mods/node_modules/q/q.js:137:13)

which results in broken user stats, but that's enough to give me the ability to run it and have the client show the data (even though it's broken)

@tiennou

tiennou commented Feb 14, 2025

Copy link
Copy Markdown
Member Author

Other errors I'm seeing

screeps-1  | [backend] DBERR { MongoError: query selector must be an object
screeps-1  |     at Function.create (/screeps/mods/node_modules/mongodb/lib/core/error.js:59:12)
screeps-1  |     at Collection.<anonymous> (/screeps/mods/node_modules/mongodb/lib/collection.js:417:24)
screeps-1  |     at Collection.deprecated [as find] (/screeps/mods/node_modules/mongodb/lib/utils.js:611:15)
screeps-1  |     at FindOneOperation.execute (/screeps/mods/node_modules/mongodb/lib/operations/find_one.js:24:10)
screeps-1  |     at callback (/screeps/mods/node_modules/mongodb/lib/operations/execute_operation.js:72:19)
screeps-1  |     at maybePromise (/screeps/mods/node_modules/mongodb/lib/utils.js:692:3)
screeps-1  |     at executeOperation (/screeps/mods/node_modules/mongodb/lib/operations/execute_operation.js:34:10)
screeps-1  |     at Collection.<anonymous> (/screeps/mods/node_modules/mongodb/lib/collection.js:1114:12)
screeps-1  |     at Collection.deprecated [as findOne] (/screeps/mods/node_modules/mongodb/lib/utils.js:591:17)
screeps-1  |     at Object.wrap.(anonymous function).a [as findOne] (/screeps/mods/node_modules/screepsmod-mongo/lib/common/_connect.js:143:47) driver: true, name: 'MongoError' } false [ '2025-02' ]

…not sure about the trailing stuff, looks like something raced with something else while outputting.

screeps-1  | [backend] DBERR { MongoError: E11000 duplicate key error collection: screeps.leaderboard.seasons index: _id_ dup key: { _id: "2025-02" }
screeps-1  |     at Function.create (/screeps/mods/node_modules/mongodb/lib/core/error.js:59:12)
screeps-1  |     at toError (/screeps/mods/node_modules/mongodb/lib/utils.js:130:22)
screeps-1  |     at coll.s.topology.insert (/screeps/mods/node_modules/mongodb/lib/operations/common_functions.js:258:39)
screeps-1  |     at handler (/screeps/mods/node_modules/mongodb/lib/core/sdam/topology.js:961:24)
screeps-1  |     at fn (/screeps/mods/node_modules/mongodb/lib/cmap/connection_pool.js:352:13)
screeps-1  |     at handleOperationResult (/screeps/mods/node_modules/mongodb/lib/core/sdam/server.js:567:5)
screeps-1  |     at MessageStream.messageHandler (/screeps/mods/node_modules/mongodb/lib/cmap/connection.js:308:5)
screeps-1  |     at MessageStream.emit (events.js:198:13)
screeps-1  |     at processIncomingData (/screeps/mods/node_modules/mongodb/lib/cmap/message_stream.js:144:12)
screeps-1  |     at MessageStream._write (/screeps/mods/node_modules/mongodb/lib/cmap/message_stream.js:42:5)

tiennou added 3 commits March 1, 2026 15:31
This is about the `TypeError: Cannot read property 'hint' of undefined`
sort of error. What was happening is that we weren't providing the
proper bulk operation for an update, which led to mongo trying to
access `hint` on an undefined document.
@tiennou

tiennou commented Mar 1, 2026

Copy link
Copy Markdown
Member Author

Okay, fixed the Cannot read property 'hint' of undefined error, which made stats show up in the db.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant