Kibana version: 6.8.1
Elasticsearch version: 6.8.1
APM Server version: 6.8.1
APM Agent language and version: JS RUM  "@elastic/apm-rum": "^4.3.1",
Original install method and version:
Yarn 1.7.0
Node 8.14.0
Webpack 4
Symfony Webpack Encore 0.26
Is there anything special in your setup?
I have multiple endpoints in my webpack, so I am trying to upload multiple sourcemaps. For example:
app.js
vendor.js
home.js
search.js
Description of the problem including expected versus actual behavior. Please include screenshots (if relevant):
I have followed these two guides.
Sourcemap Upload API | APM Server Reference [6.8] | Elastic'
When I try to upload a single sourcemap file from cURL I get a 202 Accepted, but the exptected sourcemap index is not created and cannot be found in Kibana (apm-(version)-sourcemaps). The error is also not using the sourcemap.
curl -v -X POST http://apm:8200/assets/v1/sourcemaps   -F service_name="test-js"   -F service_version="314d1f2"   -F bundle_filepath="http://www.local.test/build/amp/search.314d1f2.js"   -F sourcemap=@/var/www/html/symfony/web/build/amp/search.314d1f2.js.map
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying 172.18.0.7...
* TCP_NODELAY set
* Connected to apm (172.18.0.7) port 8200 (#0)
> POST /assets/v1/sourcemaps HTTP/1.1
> Host: apm:8200
> User-Agent: curl/7.61.1
> Accept: */*
> Content-Length: 159441
> Content-Type: multipart/form-data; boundary=------------------------d63c0681f0af8df2
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
< HTTP/1.1 202 Accepted
< Date: Fri, 09 Aug 2019 20:13:43 GMT
< Content-Length: 0
<
* Connection #0 to host apm left intact
Here is the relevant JSON produced by the APM error caused by a JS error:
{ "exception": { "message": "Uncaught TypeError: Cannot read property 'currentIndex' of undefined", "type": "TypeError", "stacktrace": [ { "line": { "number": 1, "column": 8703 }, "sourcemap": { "updated": false, "error": "No Sourcemap available for Service Name: 'test-js', Service Version: '314d1f2' and Path: 'http://www.local.test/build/amp/search.314d1f2.js'." }, "filename": "build/amp/search.314d1f2.js", "abs_path": "http://www.local.test/build/amp/search.314d1f2.js", "function": "V", "library_frame": false, "exclude_from_grouping": false }, { "abs_path": "http://www.local.test/build/amp/search.314d1f2.js", "function": "<anonymous>", "library_frame": false, "exclude_from_grouping": false, "line": { "number": 1, "column": 6002 }, "sourcemap": { "updated": false, "error": "No Sourcemap available for Service Name: 'test-js', Service Version: '314d1f2' and Path: 'http://www.local.test/build/amp/search.314d1f2.js'." }, "filename": "build/amp/search.314d1f2.js" } ] }, "culprit": "build/amp/search.314d1f2.js" },
According to this docs: https://www.elastic.co/guide/en/apm/server/current/sourcemap-indices.html#sourcemap-example there should be a index:
Source maps are stored in separate indices of the format
apm-[version]-sourcemap.
But this is not the case, even though the file is successfully uploaded:

In addition to the cURL command, I have tried following the guide's advice and using Node to upload the sourcemaps.
console.log('Uploading sourcemaps!');
var request = require('request');
var path = require('path');
var fs = require('fs');
var git = require('git-rev-sync')
var serviceVersion = git.short('./../');
var directory = './web/build/amp';
var directoryPath = path.join(__dirname, directory);
//GET MAPPED FILENAMES
var urls = [];
var files = fs.readdirSync(directoryPath);
files.forEach(function(file) {
    if (file.includes(serviceVersion) && file.includes('.map')) {
        urls.push({
            map: file,
            url: file.replace('.map', '')
        });
    }
});
//SUBMIT FILES TO ELASTIC APM
urls.forEach(function(url) {
    var formData = {
        sourcemap: fs.createReadStream(directoryPath + '/' + url.map),
        service_version: serviceVersion,
        bundle_filepath: 'http://www.local.test/build/amp/'+url.url,
        service_name: 'test-js'
    }
    request.post({url: 'http://apm:8200/assets/v1/sourcemaps',formData: formData}, function (err, resp, body) {
        if (err) {
            console.log('Error while uploading sourcemaps!', err)
        } else {
            console.log('Sourcemap uploaded: http://www.local.test/build/amp/'+url.url)
        }
    })
});
The results for this file are as follows, which indicates successful upload.
Sourcemap uploaded: http://www.local.test/build/amp/vendor.314d1f2.js Sourcemap uploaded: http://www.local.test/build/amp/log.314d1f2.js Sourcemap uploaded: http://www.local.test/build/amp/local.314d1f2.js Sourcemap uploaded: http://www.local.test/build/amp/images.314d1f2.js Sourcemap uploaded: http://www.local.test/build/amp/runtime.314d1f2.js Sourcemap uploaded: http://www.local.test/build/amp/blog.314d1f2.js Sourcemap uploaded: http://www.local.test/build/amp/apm.314d1f2.js Sourcemap uploaded: http://www.local.test/build/amp/app.314d1f2.js Sourcemap uploaded: http://www.local.test/build/amp/search.314d1f2.js Sourcemap uploaded: http://www.local.test/build/amp/videos.314d1f2.js Sourcemap uploaded: http://www.local.test/build/amp/home.314d1f2.js
I am using these two docker images:
image: docker.elastic.co/elasticsearch/elasticsearch:6.8.1
image: docker.elastic.co/apm/apm-server:6.8.1
I don't know where to go from here, or how to further debug why my sourcemaps aren't taking effect even on successful upload.
Thank you!