Generally source map feature works for me on sentry.io, however stack trace is not mapped correctly. For example on chrome I see this:

And when I click that error code in vue component is highlighted correctly which means that chrome parses source map correctly:

On sentry however I see this: (as you can see it does not refer to TestErrors.vue component code but instead to some "file" ./src/pages/TestErrors.vue?06aa

And here is what sentry shows when "minified" is clicked:

I checked with some sourcemap visualization tool and here is how it looks like:

Why sentry is loading TestErrors.vue?06aa instead of TestErrors.vue? What is exactly TestErrors.vue?06aa? Why it works in chrome and not with sentry?
I use source maps hosted next to their original files, I also ensured that the map file downloaded by sentry matches original file.
Guys any idea what might be wrong? I would like to use Sentry in prod but there is no point if I am not able to track errors correctly...
@alekbarszczewski Do you have a reproduction repo handy that I can take a look at?
@billyvg I was able to reproduce it: https://github.com/alekbarszczewski/sentry-test.
Instructions are in a README. Just tested it and again source mapping looks incorrect.
I'm confused. Your visualization tool appears to have output the same result for the stack frame with TestErrors.vue?06aa. Ours just snips the context because we can't store the entire lines, which is thousands of characters.
Re: TestErrors.vue?06aa 鈥撀爄n your screenshot at the top, Chrome generates that same value, so again this is not the case that Sentry is generating that value.
Ah 鈥撀營 see it looks like some frames are "missing" to you. Did you click "Full" frames to make sure we haven't attributed some of these to Vue? Applying a source map does not alter the number of frames.

Hmm, you are right, after clicking on "full" and expanding first stack entry I see correct code that caused the error:

Strange, I could have sworn that before there wasn't such entry there... Anyway, thanks, it works as expected now :)
^I'm a little concerned that we tagged that as in_app=False (meaning, not your application code). That might be something worth exploring.
cc @kamilogorek
@benvinegar @alekbarszczewski this is a very odd issue, which seems to be broken on the webpack/vue side.
When you investigate stack trace of the error, you can see that first two frames, despite coming from the same file, have different absolute paths:
first: webpack:///src/TestErrors.vue'
second: 'webpack:///./src/TestErrors.vue?da2d'
In addition to this, when you dig into source maps, it appears that TestErrors file is mapped multiple times, where it definitely shouldn't.
{
"sources": [
"webpack:///webpack/bootstrap",
"webpack:///./src/TestErrors.vue?6f0c",
"webpack:///src/TestErrors.vue",
"webpack:///./src/TestErrors.vue",
"webpack:///./src/TestErrors.vue?da2d",
"webpack:///./src/App.vue",
"webpack:///./src/App.vue?d096",
"webpack:///./src/app.js"
]
}
We cannot easily fix this, as webpack:///<anything other than . or ~> is a reserved pattern, which we use to detect internal webpack frames (which is why the top-most frame is guessed as not in_app one), see: https://github.com/getsentry/sentry/blob/1976f480c9fbe46515f2c3a61558fdc691bfc5f3/src/sentry/lang/javascript/processor.py#L667-L712
Thanks for investigating, @kamilogorek.