Closed hassanelnajjar closed 11 months ago
Priority-1 (Critical e.g. the website is down, multiple users unable to log into platform)
This is the full JSON object from Sentry
{ "event_id": "a2f650de6eb744d1ba7475b4f025ed72", "project": 4504276397981696, "release": null, "dist": null, "platform": "node", "message": "", "datetime": "2023-09-29T09:29:58+00:00", "tags": [ ["browser", "Googlebot 2.1"], ["browser.name", "Googlebot"], ["environment", "production"], ["handled", "yes"], ["level", "error"], ["mechanism", "generic"], ["os", "Ubuntu Linux 22.04"], ["os.name", "Ubuntu Linux"], ["runtime", "node v14.21.3"], ["runtime.name", "node"], ["server_name", "5cea30a9-ba0c-44c4-9521-ccb223aa9f61"], ["transaction", "GET /"], ["url", "http://col-helper.co.uk/api/sections"] ], "_meta": { "request": { "cookies": { "1": { "1": { "": { "rem": [["@password:filter", "s", 0, 10]], "len": 36 } } }, "2": { "1": { "": { "rem": [["@anything:filter", "s", 0, 10]], "len": 24 } } } }, "headers": { "23": { "1": { "": { "rem": [["@password:filter", "s", 0, 10]], "len": 36 } } } } } }, "_metrics": { "bytes.ingested.event": 10938, "bytes.stored.event": 23452 }, "contexts": { "app": { "app_start_time": "2023-09-28T21:47:05.917Z", "app_memory": 63418368, "type": "app" }, "browser": { "name": "Googlebot", "version": "2.1", "type": "browser" }, "culture": { "locale": "en-US", "timezone": "UTC", "type": "culture" }, "device": { "arch": "x64", "memory_size": 66350264320, "free_memory": 4167561216, "boot_time": "2023-09-26T20:07:53.141Z", "processor_count": 8, "cpu_description": "Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz", "processor_frequency": 2899, "type": "device" }, "os": { "name": "Ubuntu Linux", "version": "22.04", "kernel_version": "5.15.0-1041-aws", "type": "os" }, "runtime": { "name": "node", "version": "v14.21.3", "type": "runtime" }, "trace": { "trace_id": "7aae8b109caf492088d4b719202dccbe", "span_id": "81bb2e169e9d3073", "parent_span_id": "bedd7ae6933963c0", "op": "http.server", "status": "unknown", "type": "trace" } }, "culprit": "GET /", "environment": "production", "errors": [ { "type": "js_no_source", "symbolicator_type": "missing_source", "url": "/app/server/node_modules/pg-protocol/dist/index.js" }, { "type": "js_no_source", "symbolicator_type": "missing_source", "url": "/app/server/node_modules/pg-protocol/dist/parser.js" } ], "exception": { "values": [ { "type": "error", "value": "column s.theme_key does not exist", "stacktrace": { "frames": [ { "function": "TLSWrap.onStreamRead", "module": "stream_base_commons", "filename": "internal/stream_base_commons.js", "abs_path": "internal/stream_base_commons.js", "lineno": 188, "colno": 23, "in_app": false }, { "function": "TLSSocket.Readable.push", "module": "readable", "filename": "internal/streams/readable.js", "abs_path": "internal/streams/readable.js", "lineno": 206, "colno": 10, "in_app": false }, { "function": "readableAddChunk", "module": "readable", "filename": "internal/streams/readable.js", "abs_path": "internal/streams/readable.js", "lineno": 267, "colno": 9, "in_app": false }, { "function": "addChunk", "module": "readable", "filename": "internal/streams/readable.js", "abs_path": "internal/streams/readable.js", "lineno": 293, "colno": 12, "in_app": false }, { "function": "TLSSocket.emit", "module": "domain", "filename": "domain.js", "abs_path": "domain.js", "lineno": 537, "colno": 15, "in_app": false }, { "function": "TLSSocket.emit", "module": "events", "filename": "events.js", "abs_path": "events.js", "lineno": 400, "colno": 28, "in_app": false }, { "function": "TLSSocket.<anonymous>", "module": "pg-protocol.dist:index", "filename": "/app/server/node_modules/pg-protocol/dist/index.js", "abs_path": "/app/server/node_modules/pg-protocol/dist/index.js", "lineno": 11, "colno": 42, "pre_context": [ "const messages_1 = require(\"./messages\");", "Object.defineProperty(exports, \"DatabaseError\", { enumerable: true, get: function () { return messages_1.DatabaseError; } });", "const serializer_1 = require(\"./serializer\");", "Object.defineProperty(exports, \"serialize\", { enumerable: true, get: function () { return serializer_1.serialize; } });", "const parser_1 = require(\"./parser\");", "function parse(stream, callback) {", " const parser = new parser_1.Parser();" ], "context_line": " stream.on('data', (buffer) => parser.parse(buffer, callback));", "post_context": [ " return new Promise((resolve) => stream.on('end', () => resolve()));", "}", "exports.parse = parse;", "//# sourceMappingURL=index.js.map" ], "in_app": false }, { "function": "Parser.parse", "module": "pg-protocol.dist:parser", "filename": "/app/server/node_modules/pg-protocol/dist/parser.js", "abs_path": "/app/server/node_modules/pg-protocol/dist/parser.js", "lineno": 39, "colno": 38, "pre_context": [ " while (offset + HEADER_LENGTH <= bufferFullLength) {", " // code is 1 byte long - it identifies the message type", " const code = this.buffer[offset];", " // length is 1 Uint32BE - it is the length of the message EXCLUDING the code", " const length = this.buffer.readUInt32BE(offset + CODE_LENGTH);", " const fullMessageLength = CODE_LENGTH + length;", " if (fullMessageLength + offset <= bufferFullLength) {" ], "context_line": " const message = this.handlePacket(offset + HEADER_LENGTH, code, length, this.buffer);", "post_context": [ " callback(message);", " offset += fullMessageLength;", " }", " else {", " break;", " }", " }" ], "in_app": false }, { "function": "Parser.handlePacket", "module": "pg-protocol.dist:parser", "filename": "/app/server/node_modules/pg-protocol/dist/parser.js", "abs_path": "/app/server/node_modules/pg-protocol/dist/parser.js", "lineno": 126, "colno": 29, "pre_context": [ " case 82 /* AuthenticationResponse */:", " return this.parseAuthenticationResponse(offset, length, bytes);", " case 83 /* ParameterStatus */:", " return this.parseParameterStatusMessage(offset, length, bytes);", " case 75 /* BackendKeyData */:", " return this.parseBackendKeyData(offset, length, bytes);", " case 69 /* ErrorMessage */:" ], "context_line": " return this.parseErrorMessage(offset, length, bytes, 'error');", "post_context": [ " case 78 /* NoticeMessage */:", " return this.parseErrorMessage(offset, length, bytes, 'notice');", " case 84 /* RowDescriptionMessage */:", " return this.parseRowDescriptionMessage(offset, length, bytes);", " case 116 /* ParameterDescriptionMessage */:", " return this.parseParameterDescriptionMessage(offset, length, bytes);", " case 71 /* CopyIn */:" ], "in_app": false }, { "function": "Parser.parseErrorMessage", "module": "pg-protocol.dist:parser", "filename": "/app/server/node_modules/pg-protocol/dist/parser.js", "abs_path": "/app/server/node_modules/pg-protocol/dist/parser.js", "lineno": 287, "colno": 98, "pre_context": [ " const fields = {};", " let fieldType = this.reader.string(1);", " while (fieldType !== '\\0') {", " fields[fieldType] = this.reader.cstring();", " fieldType = this.reader.string(1);", " }", " const messageValue = fields.M;" ], "context_line": "'{snip} message = name === 'notice' ? new messages_1.NoticeMessage(length, messageValue) : new messages_1.DatabaseError(messageValue, length, name);", "post_context": [ " message.severity = fields.S;", " message.code = fields.C;", " message.detail = fields.D;", " message.hint = fields.H;", " message.position = fields.P;", " message.internalPosition = fields.p;", " message.internalQuery = fields.q;" ], "in_app": false } ] }, "raw_stacktrace": { "frames": [ { "function": "TLSWrap.onStreamRead", "module": "stream_base_commons", "filename": "internal/stream_base_commons.js", "abs_path": "internal/stream_base_commons.js", "lineno": 188, "colno": 23, "in_app": false }, { "function": "TLSSocket.Readable.push", "module": "readable", "filename": "internal/streams/readable.js", "abs_path": "internal/streams/readable.js", "lineno": 206, "colno": 10, "in_app": false }, { "function": "readableAddChunk", "module": "readable", "filename": "internal/streams/readable.js", "abs_path": "internal/streams/readable.js", "lineno": 267, "colno": 9, "in_app": false }, { "function": "addChunk", "module": "readable", "filename": "internal/streams/readable.js", "abs_path": "internal/streams/readable.js", "lineno": 293, "colno": 12, "in_app": false }, { "function": "TLSSocket.emit", "module": "domain", "filename": "domain.js", "abs_path": "domain.js", "lineno": 537, "colno": 15, "in_app": false }, { "function": "TLSSocket.emit", "module": "events", "filename": "events.js", "abs_path": "events.js", "lineno": 400, "colno": 28, "in_app": false }, { "function": "TLSSocket.<anonymous>", "module": "pg-protocol.dist:index", "filename": "/app/server/node_modules/pg-protocol/dist/index.js", "abs_path": "/app/server/node_modules/pg-protocol/dist/index.js", "lineno": 11, "colno": 42, "pre_context": [ "const messages_1 = require(\"./messages\");", "Object.defineProperty(exports, \"DatabaseError\", { enumerable: true, get: function () { return messages_1.DatabaseError; } });", "const serializer_1 = require(\"./serializer\");", "Object.defineProperty(exports, \"serialize\", { enumerable: true, get: function () { return serializer_1.serialize; } });", "const parser_1 = require(\"./parser\");", "function parse(stream, callback) {", " const parser = new parser_1.Parser();" ], "context_line": " stream.on('data', (buffer) => parser.parse(buffer, callback));", "post_context": [ " return new Promise((resolve) => stream.on('end', () => resolve()));", "}", "exports.parse = parse;", "//# sourceMappingURL=index.js.map" ], "in_app": false }, { "function": "Parser.parse", "module": "pg-protocol.dist:parser", "filename": "/app/server/node_modules/pg-protocol/dist/parser.js", "abs_path": "/app/server/node_modules/pg-protocol/dist/parser.js", "lineno": 39, "colno": 38, "pre_context": [ " while (offset + HEADER_LENGTH <= bufferFullLength) {", " // code is 1 byte long - it identifies the message type", " const code = this.buffer[offset];", " // length is 1 Uint32BE - it is the length of the message EXCLUDING the code", " const length = this.buffer.readUInt32BE(offset + CODE_LENGTH);", " const fullMessageLength = CODE_LENGTH + length;", " if (fullMessageLength + offset <= bufferFullLength) {" ], "context_line": " const message = this.handlePacket(offset + HEADER_LENGTH, code, length, this.buffer);", "post_context": [ " callback(message);", " offset += fullMessageLength;", " }", " else {", " break;", " }", " }" ], "in_app": false }, { "function": "Parser.handlePacket", "module": "pg-protocol.dist:parser", "filename": "/app/server/node_modules/pg-protocol/dist/parser.js", "abs_path": "/app/server/node_modules/pg-protocol/dist/parser.js", "lineno": 126, "colno": 29, "pre_context": [ " case 82 /* AuthenticationResponse */:", " return this.parseAuthenticationResponse(offset, length, bytes);", " case 83 /* ParameterStatus */:", " return this.parseParameterStatusMessage(offset, length, bytes);", " case 75 /* BackendKeyData */:", " return this.parseBackendKeyData(offset, length, bytes);", " case 69 /* ErrorMessage */:" ], "context_line": " return this.parseErrorMessage(offset, length, bytes, 'error');", "post_context": [ " case 78 /* NoticeMessage */:", " return this.parseErrorMessage(offset, length, bytes, 'notice');", " case 84 /* RowDescriptionMessage */:", " return this.parseRowDescriptionMessage(offset, length, bytes);", " case 116 /* ParameterDescriptionMessage */:", " return this.parseParameterDescriptionMessage(offset, length, bytes);", " case 71 /* CopyIn */:" ], "in_app": false }, { "function": "Parser.parseErrorMessage", "module": "pg-protocol.dist:parser", "filename": "/app/server/node_modules/pg-protocol/dist/parser.js", "abs_path": "/app/server/node_modules/pg-protocol/dist/parser.js", "lineno": 287, "colno": 98, "pre_context": [ " const fields = {};", " let fieldType = this.reader.string(1);", " while (fieldType !== '\\0') {", " fields[fieldType] = this.reader.cstring();", " fieldType = this.reader.string(1);", " }", " const messageValue = fields.M;" ], "context_line": "'{snip} message = name === 'notice' ? new messages_1.NoticeMessage(length, messageValue) : new messages_1.DatabaseError(messageValue, length, name);", "post_context": [ " message.severity = fields.S;", " message.code = fields.C;", " message.detail = fields.D;", " message.hint = fields.H;", " message.position = fields.P;", " message.internalPosition = fields.p;", " message.internalQuery = fields.q;" ], "in_app": false } ] }, "mechanism": { "type": "generic", "handled": true } } ] }, "fingerprint": ["{{ default }}", "column s.theme_key does not exist"], "grouping_config": { "enhancements": "eJybzDRxc15qeXFJZU6qlZGBkbGugaGuoeEEAHJMCAM", "id": "newstyle:2023-01-11" }, "hashes": ["d71cf75493da82e48938a35398933590"], "ingest_path": [ { "version": "23.9.1", "public_key": "XE7QiyuNlja9PZ7I9qJlwQotzecWrUIN91BAO7Q5R38" } ], "key_id": "2773060", "level": "error", "location": "/app/server/node_modules/pg-protocol/dist/parser.js", "logger": "", "metadata": { "display_title_with_tree_label": false, "filename": "/app/server/node_modules/pg-protocol/dist/parser.js", "function": "Parser.parseErrorMessage", "in_app_frame_mix": "system-only", "type": "error", "value": "column s.theme_key does not exist" }, "modules": { "accepts": "1.3.8", "array-flatten": "1.1.1", "aws-sdk": "2.1267.0", "basic-auth": "2.0.1", "bcryptjs": "2.4.3", "body-parser": "1.20.1", "buffer-equal-constant-time": "1.0.1", "bytes": "3.1.2", "call-bind": "1.0.2", "content-disposition": "0.5.4", "content-type": "1.0.4", "cookie": "0.4.2", "cookie-parser": "1.4.6", "cookie-signature": "1.0.6", "cors": "2.8.5", "csrf": "3.1.0", "csurf": "1.11.0", "debug": "4.3.4", "deepmerge": "4.2.2", "depd": "1.1.2", "destroy": "1.2.0", "dotenv": "16.0.3", "ecdsa-sig-formatter": "1.0.11", "ee-first": "1.1.1", "encodeurl": "1.0.2", "escape-html": "1.0.3", "etag": "1.8.1", "express": "4.18.2", "finalhandler": "1.2.0", "follow-redirects": "1.15.2", "forwarded": "0.2.0", "fresh": "0.5.2", "function-bind": "1.1.1", "get-intrinsic": "1.1.3", "has": "1.0.3", "has-flag": "4.0.0", "has-symbols": "1.0.3", "helmet": "4.6.0", "http-errors": "1.7.3", "iconv-lite": "0.4.24", "inherits": "2.0.4", "ipaddr.js": "1.9.1", "jmespath": "0.16.0", "json2csv": "5.0.7", "jsonparse": "1.3.1", "jsonwebtoken": "8.5.1", "jwa": "1.4.1", "jws": "3.2.2", "lodash": "4.17.21", "lodash.get": "4.4.2", "lodash.includes": "4.3.0", "lodash.isboolean": "3.0.3", "lodash.isinteger": "4.0.4", "lodash.isnumber": "3.0.3", "lodash.isplainobject": "4.0.6", "lodash.isstring": "4.0.1", "lodash.once": "4.1.1", "lru_map": "0.3.3", "media-typer": "0.3.0", "merge-descriptors": "1.0.1", "methods": "1.1.2", "mime": "1.6.0", "mime-db": "1.52.0", "mime-types": "2.1.35", "moment": "2.29.4", "morgan": "1.10.0", "ms": "2.1.2", "nanoclone": "0.2.1", "negotiator": "0.6.3", "object-assign": "4.1.1", "object-inspect": "1.12.2", "on-finished": "2.4.1", "on-headers": "1.0.2", "parseurl": "1.3.3", "path-to-regexp": "0.1.7", "pg": "8.8.0", "pg-connection-string": "2.5.0", "pg-cursor": "2.7.4", "pg-int8": "1.0.1", "pg-pool": "3.5.2", "pg-protocol": "1.5.0", "pg-query-stream": "4.2.4", "pg-types": "2.2.0", "pgpass": "1.0.5", "postgres-array": "2.0.0", "postgres-bytea": "1.0.0", "postgres-date": "1.0.7", "postgres-interval": "1.2.0", "property-expr": "2.0.5", "proxy-addr": "2.0.7", "qs": "6.11.0", "random-bytes": "1.0.0", "range-parser": "1.2.1", "raw-body": "2.5.1", "rndm": "1.2.0", "safe-buffer": "5.2.1", "safer-buffer": "2.1.2", "sax": "1.2.1", "semver": "5.7.1", "send": "0.18.0", "serve-favicon": "2.5.0", "serve-static": "1.15.0", "setprototypeof": "1.1.1", "side-channel": "1.0.4", "split2": "4.1.0", "statuses": "1.5.0", "supports-color": "7.2.0", "toidentifier": "1.0.0", "toposort": "2.0.2", "tsscmp": "1.0.6", "type-is": "1.6.18", "uid-safe": "2.1.5", "uniqid": "5.4.0", "unpipe": "1.0.0", "utils-merge": "1.0.1", "uuid": "8.3.2", "vary": "1.1.2", "xml2js": "0.4.19", "xmlbuilder": "9.0.7", "xtend": "4.0.2", "yup": "0.32.11" }, "nodestore_insert": 1695979800.386605, "received": 1695979798.440398, "request": { "url": "http://col-helper.co.uk/api/sections", "method": "GET", "query_string": [ ["forPublic", "true"], ["lng", "en"], ["uniqueSlug", "hyde"] ], "cookies": [ [ "CookieConsent", "{stamp:'-1',necessary:true,preferences:true,statistics:true,marketing:true,method:'implied',ver:1,utc:1695945600084}" ], ["XSRF-TOKEN", "[Filtered]"], ["_csrf", "[Filtered]"], ["_ga", "GA1.1.1974271762.1695945600"], ["_ga_QMPGXZJ6LR", "GS1.1.1695945600.1.1.1695945600.0.0.0"] ], "headers": [ ["Accept", "application/json,text/plain,*/*"], ["Accept-Encoding", "gzip"], ["Accept-Language", "en-US"], [ "Baggage", "sentry-public_key=cb939e80e4f8490ba2604461546a481f,sentry-trace_id=7aae8b109caf492088d4b719202dccbe,sentry-sample_rate=0.5" ], ["Cdn-Loop", "cloudflare"], ["Cf-Connecting-Ip", "66.249.66.169"], ["Cf-Ipcountry", "US"], ["Cf-Ray", "80e3346a2fc40853-IAD"], ["Cf-Visitor", "{\"scheme\":\"https\"}"], ["Connect-Time", "0"], ["Connection", "close"], ["From", "googlebot(at)googlebot.com"], ["Host", "col-helper.co.uk"], ["Referer", "https://col-helper.co.uk/"], ["Sentry-Trace", "7aae8b109caf492088d4b719202dccbe-bedd7ae6933963c0-0"], ["Total-Route-Time", "0"], [ "User-Agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/117.0.5938.92 Safari/537.36" ], ["Via", "1.1 vegur"], ["X-Forwarded-For", "66.249.66.169, 172.70.38.243"], ["X-Forwarded-Port", "443"], ["X-Forwarded-Proto", "https"], ["X-Request-Id", "09f4644b-c44f-4ae4-b84d-d687f63cf4a1"], ["X-Request-Start", "1695979798343"], ["X-Xsrf-Token", "[Filtered]"] ] }, "sdk": { "name": "sentry.javascript.node", "version": "7.23.0", "integrations": [ "InboundFilters", "FunctionToString", "Console", "Http", "OnUncaughtException", "OnUnhandledRejection", "ContextLines", "Context", "Modules", "RequestData", "LinkedErrors", "Postgres", "Express" ], "packages": [{ "name": "npm:@sentry/node", "version": "7.23.0" }] }, "timestamp": 1695979798.36, "title": "error: column s.theme_key does not exist", "transaction": "GET /", "type": "error", "version": "7" }
Production Env GET http://col-helper.co.uk/api/sections
No response
confirmed as fixed by Hassan
Please select the priority level by adding one of the following labels to this issue?
Priority-1 (Critical e.g. the website is down, multiple users unable to log into platform)
Describe the bug and the expected behaviour.
This is the full JSON object from Sentry
Steps To Reproduce
Production Env GET http://col-helper.co.uk/api/sections
Screenshots or a link to a Loom Recording
No response
What browsers are you seeing the problem on?
No response
Anything else?
No response