Sentry version: Sentry 20.11.1 14468076 (on-premise)
Operating system:
- Operating System: Debian GNU/Linux 9 (stretch)
- Kernel: Linux version 4.9.0-14-amd64
- Architecture: x86-64
Sentry does not use source maps uploaded in artifacts. I’ve been trying to find out the reason for almost two days, but without success. My configuration seems to be all right.
Webpack plugin
Source maps are uploaded with Webpack plugin:
new SentryWebpackPlugin({
authToken,
org,
project,
urlPrefix: "~/ng-maps/",
release,
url: "http://owtest.example.com:9000/",
dist,
include: "dist",
}),
Source maps are not available online
After the source maps are uploaded to Sentry, we remove them so that they are not available online.
Release exists
When I check Sentry, there is a new release ow-5.2.1-20201120-343-gd58898f0c4f8
Artifacts are uploaded
When I check the artifacts in the release ow-5.2.1-20201120-343-gd58898f0c4f8
, they are successfully uploaded:
For example, there is:
~/ng-maps/js/12.e13162ee90fd43b4654a.js
~/ng-maps/js/12.e13162ee90fd43b4654a.js.map
The sourceMappingURL
is present
The following line is at the bottom of http://owtest.example.com/ng-maps/js/12.e13162ee90fd43b4654a.js
:
//# sourceMappingURL=12.e13162ee90fd43b4654a.js.map
The artifact ~/ng-maps/js/12.e13162ee90fd43b4654a.js
in Sentry has the same line at the bottom.
The source map file is valid
When I check the 12.e13162ee90fd43b4654a.js.map
source map, I can see sourcesContent
inside. The source map file is valid because Sentry loads it correctly when it is available online.
The source map file is small enough
$ du -bh 12.e13162ee90fd43b4654a.js*
48K 12.e13162ee90fd43b4654a.js
95K 12.e13162ee90fd43b4654a.js.map
The source map file is not gzipped
The source map file is not gzipped:
$ file 12.e13162ee90fd43b4654a.js*
12.e13162ee90fd43b4654a.js: exported SGML document, ASCII text, with very long lines
12.e13162ee90fd43b4654a.js.map: JSON data
Issue and event JSON
When I simulate an exception in the application, I can see it as a new issue in Sentry:
Here is the event JSON. The abs_path
contains “online” URL, but if I understand it correctly, it should pick the file from artifacts just by replacing the domain with ~
.
The docker volumes are shared
The Sentry
is installed in docker
the common way (I followed the official guide and ran install.sh
). I checked volumes of sentry_onpremise_cron_1
, sentry_onpremise_web_1
and sentry_onpremise_worker_1
. All point to the same directory on the filesystem /var/lib/docker/volumes/sentry-data/_data
.
I have no idea what else I should check. I’m almost sure everything is set up correctly. But apparently I missed out something.