self-hosted
self-hosted copied to clipboard
sentry reported an error: You do not have permission to perform this action. (http status: 403)
Self-Hosted Version
24.1.0
CPU Architecture
x86_64
Docker Version
24.0.2
Docker Compose Version
2.21.0
Steps to Reproduce
-
Open the minimal implementation repository, https://github.com/kkflie/self-hosted-vue, and reproduce according to the README.md.
-
If using https://sentry.io/, you can see that the exception is located in src/App and pinpointed to the specific source code.
-
If using self-hosted Sentry, you can only locate it to the bundled file, such as assets/index-BckaPTcO, and cannot pinpoint to the source code.
-
I have read through https://docs.sentry.io/platforms/javascript/sourcemaps/troubleshooting_js/. In it, the manual verification steps seem fine. However, when I validate through sentry-cli, I noticed that if using https://sentry.io/, sentry-cli sourcemaps --org orgnization --project project explain eventId can pinpoint to the correct source code. If using self-hosted Sentry, it will issue a warning: "You don't have permission to perform this action."
-
It seems to be an issue related to the token. When using an Organization Auth Token with sentry-cli and writing this token into ~/.sentryclirc, sentry-cli sourcemaps --org organization --project project explain eventId doesn't have permission to access. By the way, when I use https://sentry.io/, I also use a User Auth Token instead of an Organization Auth Token to accurately locate the source code. Otherwise, it throws an error: 'sentry reported an error: You do not have permission to perform this action. (http status: 403)'. Only with the User Auth Token can I get the correct result.
https://sentry.io/, using User Auth Token
https://sentry.io/, using Organization Auth Token
sentry-cli sourcemaps --org gyb --project vue explain d26467f1cfa44e489d9cce19fd4ba4c4 --log-level=debug INFO 2024-02-21 15:06:59.185247 +08:00 Loaded config from /Users/gyb/.sentryclirc DEBUG 2024-02-21 15:06:59.186921 +08:00 sentry-cli version: 2.28.6, platform: "darwin", architecture: "arm64" INFO 2024-02-21 15:06:59.188353 +08:00 sentry-cli was invoked with the following command line: "/Users/gyb/.nvm/versions/node/v21.4.0/lib/node_modules/@sentry/cli/node_modules/@sentry/cli-darwin/bin/sentry-cli" "sourcemaps" "--org" "gyb" "--project" "vue" "explain" "d26467f1cfa44e489d9cce19fd4ba4c4" "--log-level=debug" ⚠ DEPRECATION:
sourcemaps explainhas drifted from how sourcemap processing actually operates and its output may not be accurate. It will be removed in a future version ofsentry-cli. DEBUG 2024-02-21 15:06:59.190265 +08:00 request GET https://sentry.io/api/0/projects/gyb/vue/events/d26467f1cfa44e489d9cce19fd4ba4c4/json/ DEBUG 2024-02-21 15:06:59.190387 +08:00 using token authentication DEBUG 2024-02-21 15:06:59.191364 +08:00 retry number 0, max retries: 0 DEBUG 2024-02-21 15:06:59.203301 +08:00 > CONNECT sentry.io:443 HTTP/1.1 DEBUG 2024-02-21 15:06:59.203339 +08:00 > Host: sentry.io:443 DEBUG 2024-02-21 15:06:59.203347 +08:00 > Proxy-Connection: Keep-Alive DEBUG 2024-02-21 15:06:59.203508 +08:00 < HTTP/1.1 200 Connection established DEBUG 2024-02-21 15:06:59.385266 +08:00 > GET /api/0/projects/gyb/vue/events/d26467f1cfa44e489d9cce19fd4ba4c4/json/ HTTP/1.1 DEBUG 2024-02-21 15:06:59.385303 +08:00 > Host: sentry.io DEBUG 2024-02-21 15:06:59.385311 +08:00 > Accept: / DEBUG 2024-02-21 15:06:59.385317 +08:00 > Connection: TE DEBUG 2024-02-21 15:06:59.385324 +08:00 > TE: gzip DEBUG 2024-02-21 15:06:59.385330 +08:00 > User-Agent: sentry-cli/2.28.6 DEBUG 2024-02-21 15:06:59.386664 +08:00 > Authorization: Bearer sntrys_e*** DEBUG 2024-02-21 15:06:59.749359 +08:00 < HTTP/1.1 403 Forbidden DEBUG 2024-02-21 15:06:59.749425 +08:00 < server: nginx DEBUG 2024-02-21 15:06:59.749447 +08:00 < date: Wed, 21 Feb 2024 07:06:59 GMT DEBUG 2024-02-21 15:06:59.749476 +08:00 < content-type: application/json DEBUG 2024-02-21 15:06:59.749498 +08:00 < Content-Length: 63 DEBUG 2024-02-21 15:06:59.749516 +08:00 < allow: GET, HEAD, OPTIONS DEBUG 2024-02-21 15:06:59.749535 +08:00 < access-control-allow-methods: GET, HEAD, OPTIONS DEBUG 2024-02-21 15:06:59.749592 +08:00 < access-control-allow-headers: X-Sentry-Auth, X-Requested-With, Origin, Accept, Content-Type, Authentication, Authorization, Content-Encoding, sentry-trace, baggage, X-CSRFToken DEBUG 2024-02-21 15:06:59.749615 +08:00 < access-control-expose-headers: X-Sentry-Error, X-Sentry-Direct-Hit, X-Hits, X-Max-Hits, Endpoint, Retry-After, Link DEBUG 2024-02-21 15:06:59.749647 +08:00 < access-control-allow-origin: * DEBUG 2024-02-21 15:06:59.749668 +08:00 < x-sentry-rate-limit-remaining: 39 DEBUG 2024-02-21 15:06:59.749686 +08:00 < x-sentry-rate-limit-limit: 40 DEBUG 2024-02-21 15:06:59.749704 +08:00 < x-sentry-rate-limit-reset: 1708499220 DEBUG 2024-02-21 15:06:59.749722 +08:00 < x-sentry-rate-limit-concurrentremaining: 24 DEBUG 2024-02-21 15:06:59.749740 +08:00 < x-sentry-rate-limit-concurrentlimit: 25 DEBUG 2024-02-21 15:06:59.749761 +08:00 < vary: Accept-Language, Cookie DEBUG 2024-02-21 15:06:59.749779 +08:00 < content-language: en DEBUG 2024-02-21 15:06:59.749796 +08:00 < x-frame-options: deny DEBUG 2024-02-21 15:06:59.749812 +08:00 < x-content-type-options: nosniff DEBUG 2024-02-21 15:06:59.749831 +08:00 < x-xss-protection: 1; mode=block DEBUG 2024-02-21 15:06:59.749859 +08:00 < content-security-policy: object-src 'none'; img-src blob: data: *; base-uri 'none'; frame-src app.pendo.io demo.arcade.software js.stripe.com sentry.io; default-src 'none'; media-src *; worker-src blob:; frame-ancestors 'self' *.sentry.io; font-src * data:; connect-src 'self' *.algolia.net *.algolianet.com *.algolia.io sentry.io *.sentry.io s1.sentry-cdn.com o1.ingest.sentry.io api2.amplitude.com app.pendo.io data.pendo.io reload.getsentry.net t687h3m0nh65.statuspage.io sentry.zendesk.com ekr.zdassets.com maps.googleapis.com; style-src 'unsafe-inline' *; script-src 'self' 'unsafe-inline' 'report-sample' s1.sentry-cdn.com js.sentry-cdn.com browser.sentry-cdn.com statuspage-production.s3.amazonaws.com static.zdassets.com aui-cdn.atlassian.com connect-cdn.atl-paas.net js.stripe.com 'strict-dynamic' cdn.pendo.io data.pendo.io pendo-io-static.storage.googleapis.com pendo-static-5634074999128064.storage.googleapis.com; report-uri https://o1.ingest.sentry.io/api/54785/security/?sentry_key=f724a8a027db45f5b21507e7142ff78e&sentry_release=8e295afd447b465f9e24531ed4952817acd322b8 DEBUG 2024-02-21 15:06:59.750273 +08:00 < x-envoy-attempt-count: 1 DEBUG 2024-02-21 15:06:59.750297 +08:00 < x-envoy-upstream-service-time: 24 DEBUG 2024-02-21 15:06:59.750316 +08:00 < x-served-by: getsentry-web-default-common-production-86546768d4-6t4hg DEBUG 2024-02-21 15:06:59.750334 +08:00 < x-served-by: frontend-default-674fcd6f55-dxdj8 DEBUG 2024-02-21 15:06:59.750352 +08:00 < strict-transport-security: max-age=31536000; includeSubDomains; preload DEBUG 2024-02-21 15:06:59.750370 +08:00 < via: 1.1 google DEBUG 2024-02-21 15:06:59.750387 +08:00 < Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 DEBUG 2024-02-21 15:06:59.750469 +08:00 response status: 403 DEBUG 2024-02-21 15:06:59.750497 +08:00 body: {"detail":"You do not have permission to perform this action."} error: API request failed caused by: sentry reported an error: You do not have permission to perform this action. (http status: 403) INFO 2024-02-21 15:06:59.753276 +08:00 Skipping update nagger update check
self-hosted sentry, using User Auth Token
❯ sentry-cli sourcemaps --org sentry --project self-ip explain 9f774c796f1161923cc20aa37a21149c532d67fcf0f1b35807e144ba78ca8a17 --log-level=debug INFO 2024-02-21 15:11:26.674557 +08:00 Loaded config from /Users/gyb/.sentryclirc DEBUG 2024-02-21 15:11:26.675684 +08:00 sentry-cli version: 2.28.6, platform: "darwin", architecture: "arm64" INFO 2024-02-21 15:11:26.677306 +08:00 sentry-cli was invoked with the following command line: "/Users/gyb/.nvm/versions/node/v21.4.0/lib/node_modules/@sentry/cli/node_modules/@sentry/cli-darwin/bin/sentry-cli" "sourcemaps" "--org" "sentry" "--project" "self-ip" "explain" "9f774c796f1161923cc20aa37a21149c532d67fcf0f1b35807e144ba78ca8a17" "--log-level=debug" ⚠ DEPRECATION:
sourcemaps explainhas drifted from how sourcemap processing actually operates and its output may not be accurate. It will be removed in a future version ofsentry-cli. DEBUG 2024-02-21 15:11:26.679667 +08:00 request GET https://sentry.io/api/0/projects/sentry/self-ip/events/9f774c796f1161923cc20aa37a21149c532d67fcf0f1b35807e144ba78ca8a17/json/ DEBUG 2024-02-21 15:11:26.679805 +08:00 using token authentication DEBUG 2024-02-21 15:11:26.680874 +08:00 retry number 0, max retries: 0 DEBUG 2024-02-21 15:11:26.692392 +08:00 > CONNECT sentry.io:443 HTTP/1.1 DEBUG 2024-02-21 15:11:26.692419 +08:00 > Host: sentry.io:443 DEBUG 2024-02-21 15:11:26.692425 +08:00 > Proxy-Connection: Keep-Alive DEBUG 2024-02-21 15:11:26.692648 +08:00 < HTTP/1.1 200 Connection established DEBUG 2024-02-21 15:11:26.838757 +08:00 > GET /api/0/projects/sentry/self-ip/events/9f774c796f1161923cc20aa37a21149c532d67fcf0f1b35807e144ba78ca8a17/json/ HTTP/1.1 DEBUG 2024-02-21 15:11:26.838792 +08:00 > Host: sentry.io DEBUG 2024-02-21 15:11:26.838801 +08:00 > Accept: / DEBUG 2024-02-21 15:11:26.838808 +08:00 > Connection: TE DEBUG 2024-02-21 15:11:26.838814 +08:00 > TE: gzip DEBUG 2024-02-21 15:11:26.838821 +08:00 > User-Agent: sentry-cli/2.28.6 DEBUG 2024-02-21 15:11:26.839999 +08:00 > Authorization: Bearer 9f774c79*** DEBUG 2024-02-21 15:11:27.143607 +08:00 < HTTP/1.1 401 Unauthorized DEBUG 2024-02-21 15:11:27.143651 +08:00 < server: nginx DEBUG 2024-02-21 15:11:27.143661 +08:00 < date: Wed, 21 Feb 2024 07:11:26 GMT DEBUG 2024-02-21 15:11:27.143688 +08:00 < content-type: application/json DEBUG 2024-02-21 15:11:27.143700 +08:00 < Content-Length: 26 DEBUG 2024-02-21 15:11:27.143712 +08:00 < www-authenticate: xBasic realm="api" DEBUG 2024-02-21 15:11:27.143721 +08:00 < allow: GET, HEAD, OPTIONS DEBUG 2024-02-21 15:11:27.143732 +08:00 < access-control-allow-methods: GET, HEAD, OPTIONS DEBUG 2024-02-21 15:11:27.143749 +08:00 < access-control-allow-headers: X-Sentry-Auth, X-Requested-With, Origin, Accept, Content-Type, Authentication, Authorization, Content-Encoding, sentry-trace, baggage, X-CSRFToken DEBUG 2024-02-21 15:11:27.143761 +08:00 < access-control-expose-headers: X-Sentry-Error, X-Sentry-Direct-Hit, X-Hits, X-Max-Hits, Endpoint, Retry-After, Link DEBUG 2024-02-21 15:11:27.143775 +08:00 < access-control-allow-origin: * DEBUG 2024-02-21 15:11:27.143784 +08:00 < x-sentry-rate-limit-remaining: 39 DEBUG 2024-02-21 15:11:27.143795 +08:00 < x-sentry-rate-limit-limit: 40 DEBUG 2024-02-21 15:11:27.143804 +08:00 < x-sentry-rate-limit-reset: 1708499487 DEBUG 2024-02-21 15:11:27.143812 +08:00 < x-sentry-rate-limit-concurrentremaining: 24 DEBUG 2024-02-21 15:11:27.143822 +08:00 < x-sentry-rate-limit-concurrentlimit: 25 DEBUG 2024-02-21 15:11:27.143831 +08:00 < vary: Accept-Language, Cookie DEBUG 2024-02-21 15:11:27.143840 +08:00 < content-language: en DEBUG 2024-02-21 15:11:27.143848 +08:00 < x-frame-options: deny DEBUG 2024-02-21 15:11:27.143856 +08:00 < x-content-type-options: nosniff DEBUG 2024-02-21 15:11:27.143864 +08:00 < x-xss-protection: 1; mode=block DEBUG 2024-02-21 15:11:27.143878 +08:00 < content-security-policy: default-src 'none'; object-src 'none'; frame-src app.pendo.io demo.arcade.software js.stripe.com sentry.io; img-src blob: data: *; style-src 'unsafe-inline' *; worker-src blob:; media-src *; font-src * data:; script-src 'self' 'unsafe-inline' 'report-sample' s1.sentry-cdn.com js.sentry-cdn.com browser.sentry-cdn.com statuspage-production.s3.amazonaws.com static.zdassets.com aui-cdn.atlassian.com connect-cdn.atl-paas.net js.stripe.com 'strict-dynamic' cdn.pendo.io data.pendo.io pendo-io-static.storage.googleapis.com pendo-static-5634074999128064.storage.googleapis.com; connect-src 'self' *.algolia.net *.algolianet.com *.algolia.io sentry.io *.sentry.io s1.sentry-cdn.com o1.ingest.sentry.io api2.amplitude.com app.pendo.io data.pendo.io reload.getsentry.net t687h3m0nh65.statuspage.io sentry.zendesk.com ekr.zdassets.com maps.googleapis.com; base-uri 'none'; frame-ancestors 'self' *.sentry.io; report-uri https://o1.ingest.sentry.io/api/54785/security/?sentry_key=f724a8a027db45f5b21507e7142ff78e&sentry_release=8e295afd447b465f9e24531ed4952817acd322b8 DEBUG 2024-02-21 15:11:27.143931 +08:00 < x-envoy-attempt-count: 1 DEBUG 2024-02-21 15:11:27.143942 +08:00 < x-envoy-upstream-service-time: 36 DEBUG 2024-02-21 15:11:27.143952 +08:00 < x-served-by: getsentry-web-default-common-production-86546768d4-mr5dr DEBUG 2024-02-21 15:11:27.143960 +08:00 < x-served-by: frontend-default-674fcd6f55-cn7hc DEBUG 2024-02-21 15:11:27.143969 +08:00 < strict-transport-security: max-age=31536000; includeSubDomains; preload DEBUG 2024-02-21 15:11:27.143977 +08:00 < via: 1.1 google DEBUG 2024-02-21 15:11:27.143985 +08:00 < Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 DEBUG 2024-02-21 15:11:27.144033 +08:00 response status: 401 DEBUG 2024-02-21 15:11:27.144046 +08:00 body: {"detail":"Invalid token"} error: API request failed caused by: sentry reported an error: Invalid token (http status: 401) INFO 2024-02-21 15:11:27.148489 +08:00 Skipping update nagger update check
self-hosted, using Organization Auth Token
❯ sentry-cli sourcemaps --org sentry --project self-ip explain b2be6f5a --log-level=debug INFO 2024-02-21 15:16:59.150582 +08:00 Loaded config from /Users/gyb/.sentryclirc DEBUG 2024-02-21 15:16:59.151639 +08:00 sentry-cli version: 2.28.6, platform: "darwin", architecture: "arm64" INFO 2024-02-21 15:16:59.153173 +08:00 sentry-cli was invoked with the following command line: "/Users/gyb/.nvm/versions/node/v21.4.0/lib/node_modules/@sentry/cli/node_modules/@sentry/cli-darwin/bin/sentry-cli" "sourcemaps" "--org" "sentry" "--project" "self-ip" "explain" "b2be6f5a" "--log-level=debug" ⚠ DEPRECATION:
sourcemaps explainhas drifted from how sourcemap processing actually operates and its output may not be accurate. It will be removed in a future version ofsentry-cli. DEBUG 2024-02-21 15:16:59.155427 +08:00 request GET http://120.25.153.194:9000/api/0/projects/sentry/self-ip/events/b2be6f5a/json/ DEBUG 2024-02-21 15:16:59.155575 +08:00 using token authentication DEBUG 2024-02-21 15:16:59.156438 +08:00 retry number 0, max retries: 0 DEBUG 2024-02-21 15:16:59.167819 +08:00 > GET http://120.25.153.194:9000/api/0/projects/sentry/self-ip/events/b2be6f5a/json/ HTTP/1.1 DEBUG 2024-02-21 15:16:59.167860 +08:00 > Host: 120.25.153.194:9000 DEBUG 2024-02-21 15:16:59.167869 +08:00 > Accept: / DEBUG 2024-02-21 15:16:59.167876 +08:00 > Connection: TE DEBUG 2024-02-21 15:16:59.167882 +08:00 > TE: gzip DEBUG 2024-02-21 15:16:59.167889 +08:00 > Proxy-Connection: Keep-Alive DEBUG 2024-02-21 15:16:59.167896 +08:00 > User-Agent: sentry-cli/2.28.6 DEBUG 2024-02-21 15:16:59.169295 +08:00 > Authorization: Bearer sntrys_e*** DEBUG 2024-02-21 15:16:59.230834 +08:00 < HTTP/1.1 403 Forbidden DEBUG 2024-02-21 15:16:59.230864 +08:00 < Content-Length: 63 DEBUG 2024-02-21 15:16:59.231275 +08:00 < Access-Control-Allow-Headers: X-Sentry-Auth, X-Requested-With, Origin, Accept, Content-Type, Authentication, Authorization, Content-Encoding, sentry-trace, baggage, X-CSRFToken DEBUG 2024-02-21 15:16:59.231295 +08:00 < Access-Control-Allow-Methods: GET, HEAD, OPTIONS DEBUG 2024-02-21 15:16:59.231302 +08:00 < Access-Control-Allow-Origin: * DEBUG 2024-02-21 15:16:59.231308 +08:00 < Access-Control-Expose-Headers: X-Sentry-Error, X-Sentry-Direct-Hit, X-Hits, X-Max-Hits, Endpoint, Retry-After, Link DEBUG 2024-02-21 15:16:59.231320 +08:00 < Allow: GET, HEAD, OPTIONS DEBUG 2024-02-21 15:16:59.231327 +08:00 < Connection: keep-alive DEBUG 2024-02-21 15:16:59.231333 +08:00 < Content-Language: en DEBUG 2024-02-21 15:16:59.231340 +08:00 < Content-Security-Policy-Report-Only: connect-src 'self' *.algolia.net *.algolianet.com *.algolia.io; object-src 'none'; frame-ancestors 'none'; style-src 'unsafe-inline' *; default-src 'none'; img-src blob: data: *; font-src 'self' data:; base-uri 'none'; media-src *; script-src 'self' 'unsafe-inline' 'report-sample' DEBUG 2024-02-21 15:16:59.231367 +08:00 < Content-Type: application/json DEBUG 2024-02-21 15:16:59.231426 +08:00 < Date: Wed, 21 Feb 2024 07:16:59 GMT DEBUG 2024-02-21 15:16:59.231449 +08:00 < Keep-Alive: timeout=4 DEBUG 2024-02-21 15:16:59.231459 +08:00 < Proxy-Connection: keep-alive DEBUG 2024-02-21 15:16:59.231468 +08:00 < Server: nginx DEBUG 2024-02-21 15:16:59.231476 +08:00 < Vary: Accept-Language, Cookie DEBUG 2024-02-21 15:16:59.231485 +08:00 < X-Content-Type-Options: nosniff DEBUG 2024-02-21 15:16:59.231496 +08:00 < X-Frame-Options: deny DEBUG 2024-02-21 15:16:59.231522 +08:00 < X-Xss-Protection: 1; mode=block DEBUG 2024-02-21 15:16:59.231563 +08:00 response status: 403 DEBUG 2024-02-21 15:16:59.231576 +08:00 body: {"detail":"You do not have permission to perform this action."} error: API request failed caused by: sentry reported an error: You do not have permission to perform this action. (http status: 403) INFO 2024-02-21 15:16:59.233408 +08:00 Skipping update nagger update check
Expected Result
Self-hosted Sentry can use sourcemaps to pinpoint errors to specific source code locations.
Actual Result
Self-hosted Sentry can only pinpoint errors to bundled files.
Event ID
No response
Do other actions that rely on an org auth token work?
Do other actions that rely on an org auth token work?
@azaslavsky I have a Spring Boot project integrated with Sentry, which allows me to pinpoint errors back to the source code. It works well with the organization token.
@azaslavsky Hi, in the self-hosted Sentry, I added a URL pointing to my own Sentry address in ~/.sentryclirc under [default], and then changed the token under [auth] to User Auth Token. Now the token has permissions, but it shows [missing context line].
Is there a way to map errors back to the source code?
full DEBUG output:
sentry-cli sourcemaps --org sentry --project dms-frontend explain 34e0c4acf5294e9d9d1ae532bbe11705 --log-level=debug INFO 2024-02-23 14:12:30.113545 +08:00 Loaded config from /Users/gyb/.sentryclirc DEBUG 2024-02-23 14:12:30.114131 +08:00 sentry-cli version: 2.28.6, platform: "darwin", architecture: "arm64" INFO 2024-02-23 14:12:30.114910 +08:00 sentry-cli was invoked with the following command line: "/Users/gyb/.nvm/versions/node/v21.4.0/lib/node_modules/@sentry/cli/node_modules/@sentry/cli-darwin/bin/sentry-cli" "sourcemaps" "--org" "sentry" "--project" "dms-frontend" "explain" "34e0c4acf5294e9d9d1ae532bbe11705" "--log-level=debug" ⚠ DEPRECATION:
sourcemaps explainhas drifted from how sourcemap processing actually operates and its output may not be accurate. It will be removed in a future version ofsentry-cli. DEBUG 2024-02-23 14:12:30.115877 +08:00 request GET https://sentry.hctcchina.com/api/0/projects/sentry/dms-frontend/events/34e0c4acf5294e9d9d1ae532bbe11705/json/ DEBUG 2024-02-23 14:12:30.115919 +08:00 using token authentication DEBUG 2024-02-23 14:12:30.116541 +08:00 retry number 0, max retries: 0 DEBUG 2024-02-23 14:12:30.122188 +08:00 > CONNECT sentry.hctcchina.com:443 HTTP/1.1 DEBUG 2024-02-23 14:12:30.122196 +08:00 > Host: sentry.hctcchina.com:443 DEBUG 2024-02-23 14:12:30.122199 +08:00 > Proxy-Connection: Keep-Alive DEBUG 2024-02-23 14:12:30.122265 +08:00 < HTTP/1.1 200 Connection established DEBUG 2024-02-23 14:12:30.224224 +08:00 > GET /api/0/projects/sentry/dms-frontend/events/34e0c4acf5294e9d9d1ae532bbe11705/json/ HTTP/1.1 DEBUG 2024-02-23 14:12:30.224247 +08:00 > Host: sentry.hctcchina.com DEBUG 2024-02-23 14:12:30.224253 +08:00 > Accept: / DEBUG 2024-02-23 14:12:30.224257 +08:00 > Connection: TE DEBUG 2024-02-23 14:12:30.224261 +08:00 > TE: gzip DEBUG 2024-02-23 14:12:30.224265 +08:00 > User-Agent: sentry-cli/2.28.6 DEBUG 2024-02-23 14:12:30.225401 +08:00 > Authorization: Bearer d9e2c7cd*** DEBUG 2024-02-23 14:12:30.328836 +08:00 < HTTP/1.1 200 OK DEBUG 2024-02-23 14:12:30.328873 +08:00 < Server: nginx DEBUG 2024-02-23 14:12:30.328898 +08:00 < Date: Fri, 23 Feb 2024 06:12:30 GMT DEBUG 2024-02-23 14:12:30.328914 +08:00 < Content-Type: application/json DEBUG 2024-02-23 14:12:30.328926 +08:00 < Content-Length: 6997 DEBUG 2024-02-23 14:12:30.328938 +08:00 < Connection: keep-alive DEBUG 2024-02-23 14:12:30.328949 +08:00 < Allow: GET, HEAD, OPTIONS DEBUG 2024-02-23 14:12:30.328962 +08:00 < Access-Control-Allow-Methods: GET, HEAD, OPTIONS DEBUG 2024-02-23 14:12:30.328987 +08:00 < Access-Control-Allow-Headers: X-Sentry-Auth, X-Requested-With, Origin, Accept, Content-Type, Authentication, Authorization, Content-Encoding, sentry-trace, baggage, X-CSRFToken DEBUG 2024-02-23 14:12:30.329001 +08:00 < Access-Control-Expose-Headers: X-Sentry-Error, X-Sentry-Direct-Hit, X-Hits, X-Max-Hits, Endpoint, Retry-After, Link DEBUG 2024-02-23 14:12:30.329014 +08:00 < Access-Control-Allow-Origin: * DEBUG 2024-02-23 14:12:30.329027 +08:00 < Vary: Accept-Language, Cookie DEBUG 2024-02-23 14:12:30.329038 +08:00 < Content-Language: en DEBUG 2024-02-23 14:12:30.329048 +08:00 < X-Frame-Options: deny DEBUG 2024-02-23 14:12:30.329058 +08:00 < X-Content-Type-Options: nosniff DEBUG 2024-02-23 14:12:30.329071 +08:00 < X-XSS-Protection: 1; mode=block DEBUG 2024-02-23 14:12:30.329086 +08:00 < Content-Security-Policy-Report-Only: img-src blob: data: *; connect-src 'self' *.algolia.net *.algolianet.com *.algolia.io; object-src 'none'; script-src 'self' 'unsafe-inline' 'report-sample'; frame-ancestors 'none'; base-uri 'none'; style-src 'unsafe-inline' *; default-src 'none'; font-src 'self' data:; media-src * DEBUG 2024-02-23 14:12:30.329101 +08:00 < Strict-Transport-Security: max-age=31536000 DEBUG 2024-02-23 14:12:30.329136 +08:00 response status: 200 DEBUG 2024-02-23 14:12:30.329162 +08:00 body: {"event_id":"34e0c4acf5294e9d9d1ae532bbe11705","project":26,"release":"0d420f09c9f3ecee64cb77f86200e46c6f6cef81","dist":null,"platform":"javascript","message":"","datetime":"2024-02-23T03:03:22+00:00","tags":[["browser","Chrome 121.0.0"],["browser.name","Chrome"],["device","Mac"],["device.family","Mac"],["environment","production"],["handled","no"],["level","error"],["mechanism","generic"],["os","Mac OS X >=10.15.7"],["os.name","Mac OS X"],["replayId","1dc4f716d9084a6da804ccc54da803e2"],["release","0d420f09c9f3ecee64cb77f86200e46c6f6cef81"],["user","ip:172.31.0.1"],["url","http://localhost:5173/dashboard"]],"_metrics":{"bytes.ingested.event":2785,"bytes.stored.event":10195},"breadcrumbs":{"values":[{"timestamp":1708657398.526,"type":"default","category":"navigation","level":"info","data":{"from":"/dashboard","to":"/dashboard"}},{"timestamp":1708657398.722,"type":"http","category":"xhr","level":"info","data":{"method":"POST","response_body_size":141,"status_code":200,"url":"https://frdtest.hctcchina.com/dms-backend-v2/index/report"}},{"timestamp":1708657399.767,"type":"default","category":"sentry.transaction","level":"info","message":"d51fd87a29ec46c79512e51d78032cd9","event_id":"d51fd87a29ec46c79512e51d78032cd9"},{"timestamp":1708657402.186,"type":"default","category":"ui.click","level":"info","message":"div.dashboard-editor-container > div.board > p.board_title"}]},"contexts":{"browser":{"name":"Chrome","version":"121.0.0","type":"browser"},"device":{"family":"Mac","model":"Mac","brand":"Apple","type":"device"},"os":{"name":"Mac OS X","version":">=10.15.7","type":"os"},"replay":{"replay_id":"1dc4f716d9084a6da804ccc54da803e2","type":"replay"},"trace":{"trace_id":"91f2a1695cd14b65903a081685177deb","span_id":"ae3e3453dc13b70a","status":"unknown","type":"trace"},"vue":{"componentName":"<DashboardEditor>","lifecycleHook":"native event handler","propsData":{},"trace":"\n\nfound in\n\n---> <DashboardEditor> at /Users/gyb/projects/purchase-b2b-project/admin-new-frontend/src/views/dashboard/editor/index.vue... (10 recursive calls)\n <Root>","type":"vue"}},"culprit":"Proxy.myUndefinedFunction(src/views/dashboard/editor/index)","environment":"production","errors":[{"type":"js_no_source","symbolicator_type":"missing_source","url":"http://localhost:5173/node_modules/.vite/deps/chunk-BTB7T7D5.js?v=d3925998"},{"type":"js_no_source","symbolicator_type":"missing_source","url":"http://localhost:5173/src/views/dashboard/editor/index.vue?t=1708657397196"}],"exception":{"values":[{"type":"ReferenceError","value":"myUndefinedFunction is not defined","stacktrace":{"frames":[{"function":"HTMLParagraphElement.invoker","module":"deps/chunk-BTB7T7D5","filename":"/node_modules/.vite/deps/chunk-BTB7T7D5.js","abs_path":"http://localhost:5173/node_modules/.vite/deps/chunk-BTB7T7D5.js?v=d3925998","lineno":10144,"colno":5,"in_app":false,"data":{"orig_in_app":1}},{"function":"callWithAsyncErrorHandling","module":"deps/chunk-BTB7T7D5","filename":"/node_modules/.vite/deps/chunk-BTB7T7D5.js","abs_path":"http://localhost:5173/node_modules/.vite/deps/chunk-BTB7T7D5.js?v=d3925998","lineno":1642,"colno":17,"in_app":false,"data":{"orig_in_app":1}},{"function":"callWithErrorHandling","module":"deps/chunk-BTB7T7D5","filename":"/node_modules/.vite/deps/chunk-BTB7T7D5.js","abs_path":"http://localhost:5173/node_modules/.vite/deps/chunk-BTB7T7D5.js?v=d3925998","lineno":1634,"colno":18,"in_app":false,"data":{"orig_in_app":1}},{"function":"_createElementVNode.onClick._cache.._cache. ","module":"src/views/dashboard/editor/index","filename":"/src/views/dashboard/editor/index.vue","abs_path":"http://localhost:5173/src/views/dashboard/editor/index.vue?t=1708657397196","lineno":142,"colno":99,"in_app":true},{"function":"Proxy.myUndefinedFunction","module":"src/views/dashboard/editor/index","filename":"/src/views/dashboard/editor/index.vue","abs_path":"http://localhost:5173/src/views/dashboard/editor/index.vue?t=1708657397196","lineno":50,"colno":7,"in_app":true}]},"raw_stacktrace":{"frames":[{"function":"HTMLParagraphElement.invoker","filename":"/node_modules/.vite/deps/chunk-BTB7T7D5.js","abs_path":"http://localhost:5173/node_modules/.vite/deps/chunk-BTB7T7D5.js?v=d3925998","lineno":10144,"colno":5,"in_app":false,"data":{"orig_in_app":1}},{"function":"callWithAsyncErrorHandling","filename":"/node_modules/.vite/deps/chunk-BTB7T7D5.js","abs_path":"http://localhost:5173/node_modules/.vite/deps/chunk-BTB7T7D5.js?v=d3925998","lineno":1642,"colno":17,"in_app":false,"data":{"orig_in_app":1}},{"function":"callWithErrorHandling","filename":"/node_modules/.vite/deps/chunk-BTB7T7D5.js","abs_path":"http://localhost:5173/node_modules/.vite/deps/chunk-BTB7T7D5.js?v=d3925998","lineno":1634,"colno":18,"in_app":false,"data":{"orig_in_app":1}},{"function":"_createElementVNode.onClick._cache. ._cache. ","filename":"/src/views/dashboard/editor/index.vue","abs_path":"http://localhost:5173/src/views/dashboard/editor/index.vue?t=1708657397196","lineno":142,"colno":99,"in_app":true},{"function":"Proxy.myUndefinedFunction","filename":"/src/views/dashboard/editor/index.vue","abs_path":"http://localhost:5173/src/views/dashboard/editor/index.vue?t=1708657397196","lineno":50,"colno":7,"in_app":true}]},"mechanism":{"type":"generic","handled":false}}]},"fingerprint":["{{ default }}"],"grouping_config":{"enhancements":"eJybzDRxc15qeXFJZU6qlZGBkbGugaGuoeEEAHJMCAM","id":"newstyle:2023-01-11"},"hashes":["ef3d0427cb60158ce787ab28b4b1ade5","c7bcfae836e7bd732038859bda6c87ab"],"key_id":"26","level":"error","location":"/src/views/dashboard/editor/index.vue","logger":"","metadata":{"display_title_with_tree_label":false,"filename":"/src/views/dashboard/editor/index.vue","function":"Proxy.myUndefinedFunction","in_app_frame_mix":"mixed","type":"ReferenceError","value":"myUndefinedFunction is not defined"},"nodestore_insert":1708657402.489397,"received":1708657402.32592,"request":{"url":"http://localhost:5173/dashboard","headers":[["Referer","http://localhost:5173/dashboard"],["User-Agent","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"]]},"scraping_attempts":[{"details":"Can't connect to restricted host localhost","reason":"invalid_host","status":"failure","url":"http://localhost:5173/node_modules/.vite/deps/chunk-BTB7T7D5.js?v=d3925998"},{"details":"Can't connect to restricted host localhost","reason":"invalid_host","status":"failure","url":"http://localhost:5173/src/views/dashboard/editor/index.vue?t=1708657397196"}],"sdk":{"name":"sentry.javascript.vue","version":"7.102.0","integrations":["InboundFilters","FunctionToString","TryCatch","Breadcrumbs","GlobalHandlers","LinkedErrors","Dedupe","HttpContext","Vue","BrowserTracing","Replay"],"packages":[{"name":"npm:@sentry/vue","version":"7.102.0"}]},"timestamp":1708657402.194,"title":"ReferenceError: myUndefinedFunction is not defined","type":"error","user":{"ip_address":"172.31.0.1"},"version":"7"} ✔ Fetched data for event: 34e0c4acf5294e9d9d1ae532bbe11705 ✔ Event has release name: 0d420f09c9f3ecee64cb77f86200e46c6f6cef81 ✔ Event has a valid exception present ✔ Event has a valid stacktrace present ⚠ Exception is already source mapped and first resolved frame points to:
[missing context line] INFO 2024-02-23 14:12:30.334634 +08:00 Skipping update nagger update check
I am guessing there still is some sort of configuration issue on your side since this is working in SaaS for you. If you go to your project settings -> Source Maps. What do you see?
@hubertdeng123 Thank you for your reply, I have solved this problem. I found the cause by using docker compose logs -f. When I reported the error, I noticed that the requests were going through Docker's proxy port, thus failing to connect to the symbolicator. After I disabled the proxy in ~/.docker/config.json and /etc/systemd/system/docker.service.d/http-proxy.conf, and ran docker compose down && docker compose up -d, I reported the error again. Now, the error can be traced back to the source code.