SAST nodejs-scan out of memory error
Summary
I receive JavaScript heap out of memory
when running the SAST job on my NodeJS app. My jobs are run are large runner instances that have 8GB of RAM, and only 1 job is scheduled per runner. There should be plenty of memory available to my stage.
Is there a way to increase the heap size for the nodejs-scan
container via ENV variable?
Steps to reproduce
Run a very large NodeJS project with the SAST job in GitLab CI, and it uses nodejs-scan
What is the current bug behavior?
Javascript out of memory error causes job to fail.
What is the expected correct behavior?
I would expect the job to use all the available memory of the runner.
Relevant logs and/or screenshots
Output from my GitLab CI:
Pulling docker image docker:stable ...
Using docker image sha256:7c1527e8e59b80ed43f6c425c03cd9cb46b873d7db02d0c47db01b5f58839c8d for docker:stable ...
Running on runner-1904eebd-project-107-concurrent-0 via build...
Fetching changes...
Removing dist/demo/default/.heroku/
Removing dist/demo/default/.profile.d/
Removing dist/demo/default/dist/
Removing dist/demo/default/node_modules/
Removing dist/demo/default/src/assets/
Removing gl-dependency-scanning-report.json
Removing tools/node_modules/
HEAD is now at d083819 Added static code scanner
Checking out d083819e as gitlab-ultimate-features...
Skipping Git submodules setup
Checking cache for gitlab-ultimate-features-2...
Downloading cache.zip from https://patrocinium-gitlab-runner.s3.amazonaws.com/project/107/gitlab-ultimate-features-2
Successfully extracted cache
Downloading artifacts for build:feature (45548)...
Downloading artifacts from coordinator... ok id=45548 responseStatus=200 OK token=v1WwzTQr
$ cd ./dist/demo/default
$ docker run --env SAST_CONFIDENCE_LEVEL="${SAST_CONFIDENCE_LEVEL:-3}" --volume "$PWD:/code" --volume /var/run/docker.sock:/var/run/docker.sock "registry.gitlab.com/gitlab-org/security-products/sast:11-1-stable" /app/bin/run /code
Unable to find image 'registry.gitlab.com/gitlab-org/security-products/sast:11-1-stable' locally
11-1-stable: Pulling from gitlab-org/security-products/sast
c898a138ee8e: Pulling fs layer
c898a138ee8e: Download complete
c898a138ee8e: Pull complete
Digest: sha256:0f07fff8b4a3ba20b6080e252397187766b2dfcb113f7e2f414334ef3a2063f7
Status: Downloaded newer image for registry.gitlab.com/gitlab-org/security-products/sast:11-1-stable
2018/07/11 23:05:42 Copy project directory to containers
2018/07/11 23:05:42 [bandit] Detect project using plugin
2018/07/11 23:05:42 [bandit] Project not compatible
2018/07/11 23:05:42 [brakeman] Detect project using plugin
2018/07/11 23:05:42 [brakeman] Project not compatible
2018/07/11 23:05:42 [find-sec-bugs] Detect project using plugin
2018/07/11 23:05:42 [find-sec-bugs] Project not compatible
2018/07/11 23:05:42 [find-sec-bugs-gradle] Detect project using plugin
2018/07/11 23:05:42 [find-sec-bugs-gradle] Project not compatible
2018/07/11 23:05:42 [find-sec-bugs-sbt] Detect project using plugin
2018/07/11 23:05:42 [find-sec-bugs-sbt] Project not compatible
2018/07/11 23:05:42 [flawfinder] Detect project using plugin
2018/07/11 23:05:42 [flawfinder] Project not compatible
2018/07/11 23:05:42 [go-ast-scanner] Detect project using plugin
2018/07/11 23:05:42 [go-ast-scanner] Project not compatible
2018/07/11 23:05:42 [nodejs-scan] Detect project using plugin
2018/07/11 23:05:42 [nodejs-scan] Project is compatible
2018/07/11 23:05:42 [nodejs-scan] Starting analyzer...
11-1-stable: Pulling from gitlab-org/security-products/analyzers/nodejs-scan
a073c86ecf9e: Pulling fs layer
0e28711eb56d: Pulling fs layer
e460dd483fdd: Pulling fs layer
91ee038e9fa4: Pulling fs layer
67ab50174db6: Pulling fs layer
bf02e8a8c7e4: Pulling fs layer
67ab50174db6: Waiting
bf02e8a8c7e4: Waiting
91ee038e9fa4: Waiting
e460dd483fdd: Download complete
a073c86ecf9e: Download complete
67ab50174db6: Verifying Checksum
67ab50174db6: Download complete
a073c86ecf9e: Pull complete
bf02e8a8c7e4: Verifying Checksum
bf02e8a8c7e4: Download complete
91ee038e9fa4: Verifying Checksum
91ee038e9fa4: Download complete
0e28711eb56d: Verifying Checksum
0e28711eb56d: Download complete
0e28711eb56d: Pull complete
e460dd483fdd: Pull complete
91ee038e9fa4: Pull complete
67ab50174db6: Pull complete
bf02e8a8c7e4: Pull complete
Digest: sha256:a312de5fac4c6395c2d74ed872f86f45e3c24bd16e994571b9bfb64998d9e0c6
Status: Downloaded newer image for registry.gitlab.com/gitlab-org/security-products/analyzers/nodejs-scan:11-1-stable
Found project in /tmp/app
30 rules loaded
in/dist/assets/app/js/dashboard.js -> out/in/dist/assets/app/js/dashboard.js
in/dist/assets/app/js/layout-builder.js -> out/in/dist/assets/app/js/layout-builder.js
in/dist/assets/demo/default/base/scripts.bundle.js -> out/in/dist/assets/demo/default/base/scripts.bundle.js
in/dist/assets/demo/default/custom/components/base/blockui.js -> out/in/dist/assets/demo/default/custom/components/base/blockui.js
in/dist/assets/demo/default/custom/components/base/bootstrap-notify.js -> out/in/dist/assets/demo/default/custom/components/base/bootstrap-notify.js
in/dist/assets/demo/default/custom/components/base/dropdown.js -> out/in/dist/assets/demo/default/custom/components/base/dropdown.js
in/dist/assets/demo/default/custom/components/base/scrollable.js -> out/in/dist/assets/demo/default/custom/components/base/scrollable.js
in/dist/assets/demo/default/custom/components/base/sweetalert2.js -> out/in/dist/assets/demo/default/custom/components/base/sweetalert2.js
in/dist/assets/demo/default/custom/components/base/toastr.js -> out/in/dist/assets/demo/default/custom/components/base/toastr.js
in/dist/assets/demo/default/custom/components/base/treeview.js -> out/in/dist/assets/demo/default/custom/components/base/treeview.js
in/dist/assets/demo/default/custom/components/calendar/background-events.js -> out/in/dist/assets/demo/default/custom/components/calendar/background-events.js
in/dist/assets/demo/default/custom/components/calendar/basic.js -> out/in/dist/assets/demo/default/custom/components/calendar/basic.js
in/dist/assets/demo/default/custom/components/calendar/external-events.js -> out/in/dist/assets/demo/default/custom/components/calendar/external-events.js
in/dist/assets/demo/default/custom/components/calendar/google.js -> out/in/dist/assets/demo/default/custom/components/calendar/google.js
in/dist/assets/demo/default/custom/components/calendar/list-view.js -> out/in/dist/assets/demo/default/custom/components/calendar/list-view.js
in/dist/assets/demo/default/custom/components/charts/amcharts/charts.js -> out/in/dist/assets/demo/default/custom/components/charts/amcharts/charts.js
in/dist/assets/demo/default/custom/components/charts/amcharts/maps.js -> out/in/dist/assets/demo/default/custom/components/charts/amcharts/maps.js
in/dist/assets/demo/default/custom/components/charts/amcharts/stock-charts.js -> out/in/dist/assets/demo/default/custom/components/charts/amcharts/stock-charts.js
in/dist/assets/demo/default/custom/components/charts/flotcharts.js -> out/in/dist/assets/demo/default/custom/components/charts/flotcharts.js
in/dist/assets/demo/default/custom/components/charts/google-charts.js -> out/in/dist/assets/demo/default/custom/components/charts/google-charts.js
in/dist/assets/demo/default/custom/components/charts/morris-charts.js -> out/in/dist/assets/demo/default/custom/components/charts/morris-charts.js
in/dist/assets/demo/default/custom/components/datatables/api/events.js -> out/in/dist/assets/demo/default/custom/components/datatables/api/events.js
in/dist/assets/demo/default/custom/components/datatables/api/methods.js -> out/in/dist/assets/demo/default/custom/components/datatables/api/methods.js
in/dist/assets/demo/default/custom/components/datatables/base/column-rendering.js -> out/in/dist/assets/demo/default/custom/components/datatables/base/column-rendering.js
in/dist/assets/demo/default/custom/components/datatables/base/column-width.js -> out/in/dist/assets/demo/default/custom/components/datatables/base/column-width.js
in/dist/assets/demo/default/custom/components/datatables/base/data-ajax.js -> out/in/dist/assets/demo/default/custom/components/datatables/base/data-ajax.js
in/dist/assets/demo/default/custom/components/datatables/base/data-json.js -> out/in/dist/assets/demo/default/custom/components/datatables/base/data-json.js
in/dist/assets/demo/default/custom/components/datatables/base/data-local.js -> out/in/dist/assets/demo/default/custom/components/datatables/base/data-local.js
in/dist/assets/demo/default/custom/components/datatables/base/html-table.js -> out/in/dist/assets/demo/default/custom/components/datatables/base/html-table.js
in/dist/assets/demo/default/custom/components/datatables/base/local-sort.js -> out/in/dist/assets/demo/default/custom/components/datatables/base/local-sort.js
in/dist/assets/demo/default/custom/components/datatables/base/record-selection.js -> out/in/dist/assets/demo/default/custom/components/datatables/base/record-selection.js
in/dist/assets/demo/default/custom/components/datatables/base/responsive-columns.js -> out/in/dist/assets/demo/default/custom/components/datatables/base/responsive-columns.js
in/dist/assets/demo/default/custom/components/datatables/base/row-details.js -> out/in/dist/assets/demo/default/custom/components/datatables/base/row-details.js
in/dist/assets/demo/default/custom/components/datatables/base/translation.js -> out/in/dist/assets/demo/default/custom/components/datatables/base/translation.js
in/dist/assets/demo/default/custom/components/datatables/child/data-ajax.js -> out/in/dist/assets/demo/default/custom/components/datatables/child/data-ajax.js
[BABEL] Note: The code generator has deoptimised the styling of "in/dist/assets/demo/default/custom/components/datatables/child/data-local.js" as it exceeds the max of "500KB".
in/dist/assets/demo/default/custom/components/datatables/child/data-local.js -> out/in/dist/assets/demo/default/custom/components/datatables/child/data-local.js
in/dist/assets/demo/default/custom/components/datatables/locked/both.js -> out/in/dist/assets/demo/default/custom/components/datatables/locked/both.js
in/dist/assets/demo/default/custom/components/datatables/locked/html-table.js -> out/in/dist/assets/demo/default/custom/components/datatables/locked/html-table.js
in/dist/assets/demo/default/custom/components/datatables/locked/left.js -> out/in/dist/assets/demo/default/custom/components/datatables/locked/left.js
in/dist/assets/demo/default/custom/components/datatables/locked/right.js -> out/in/dist/assets/demo/default/custom/components/datatables/locked/right.js
in/dist/assets/demo/default/custom/components/datatables/scrolling/both.js -> out/in/dist/assets/demo/default/custom/components/datatables/scrolling/both.js
in/dist/assets/demo/default/custom/components/datatables/scrolling/horizontal.js -> out/in/dist/assets/demo/default/custom/components/datatables/scrolling/horizontal.js
in/dist/assets/demo/default/custom/components/datatables/scrolling/vertical.js -> out/in/dist/assets/demo/default/custom/components/datatables/scrolling/vertical.js
in/dist/assets/demo/default/custom/components/forms/validation/form-controls.js -> out/in/dist/assets/demo/default/custom/components/forms/validation/form-controls.js
in/dist/assets/demo/default/custom/components/forms/validation/form-widgets.js -> out/in/dist/assets/demo/default/custom/components/forms/validation/form-widgets.js
in/dist/assets/demo/default/custom/components/forms/widgets/autosize.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/autosize.js
in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-datepicker.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-datepicker.js
in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-daterangepicker.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-daterangepicker.js
in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-datetimepicker.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-datetimepicker.js
in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-markdown.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-markdown.js
in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-maxlength.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-maxlength.js
in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-multipleselectsplitter.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-multipleselectsplitter.js
in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-select.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-select.js
in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-switch.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-switch.js
in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-timepicker.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-timepicker.js
in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-touchspin.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/bootstrap-touchspin.js
in/dist/assets/demo/default/custom/components/forms/widgets/clipboard.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/clipboard.js
in/dist/assets/demo/default/custom/components/forms/widgets/dropzone.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/dropzone.js
in/dist/assets/demo/default/custom/components/forms/widgets/form-repeater.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/form-repeater.js
in/dist/assets/demo/default/custom/components/forms/widgets/google-recaptcha.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/google-recaptcha.js
in/dist/assets/demo/default/custom/components/forms/widgets/input-mask.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/input-mask.js
in/dist/assets/demo/default/custom/components/forms/widgets/ion-range-slider.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/ion-range-slider.js
in/dist/assets/demo/default/custom/components/forms/widgets/nouislider.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/nouislider.js
in/dist/assets/demo/default/custom/components/forms/widgets/select2.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/select2.js
in/dist/assets/demo/default/custom/components/forms/widgets/summernote.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/summernote.js
in/dist/assets/demo/default/custom/components/forms/widgets/typeahead.js -> out/in/dist/assets/demo/default/custom/components/forms/widgets/typeahead.js
in/dist/assets/demo/default/custom/components/forms/wizard/wizard.js -> out/in/dist/assets/demo/default/custom/components/forms/wizard/wizard.js
in/dist/assets/demo/default/custom/components/maps/google-maps.js -> out/in/dist/assets/demo/default/custom/components/maps/google-maps.js
in/dist/assets/demo/default/custom/components/maps/jqvmap.js -> out/in/dist/assets/demo/default/custom/components/maps/jqvmap.js
in/dist/assets/demo/default/custom/components/maps/jvectormap.js -> out/in/dist/assets/demo/default/custom/components/maps/jvectormap.js
in/dist/assets/demo/default/custom/components/portlets/draggable.js -> out/in/dist/assets/demo/default/custom/components/portlets/draggable.js
in/dist/assets/demo/default/custom/components/portlets/tools.js -> out/in/dist/assets/demo/default/custom/components/portlets/tools.js
in/dist/assets/demo/default/custom/components/utils/idle-timer.js -> out/in/dist/assets/demo/default/custom/components/utils/idle-timer.js
in/dist/assets/demo/default/custom/components/utils/session-timeout.js -> out/in/dist/assets/demo/default/custom/components/utils/session-timeout.js
in/dist/assets/demo/default/custom/header/actions.js -> out/in/dist/assets/demo/default/custom/header/actions.js
in/dist/assets/snippets/pages/user/login.js -> out/in/dist/assets/snippets/pages/user/login.js
[BABEL] Note: The code generator has deoptimised the styling of "in/dist/assets/vendors/base/vendors.bundle.js" as it exceeds the max of "500KB".
in/dist/assets/vendors/base/vendors.bundle.js -> out/in/dist/assets/vendors/base/vendors.bundle.js
in/dist/assets/vendors/custom/flot/flot.bundle.js -> out/in/dist/assets/vendors/custom/flot/flot.bundle.js
[BABEL] Note: The code generator has deoptimised the styling of "in/dist/assets/vendors/custom/fullcalendar/fullcalendar.bundle.js" as it exceeds the max of "500KB".
in/dist/assets/vendors/custom/fullcalendar/fullcalendar.bundle.js -> out/in/dist/assets/vendors/custom/fullcalendar/fullcalendar.bundle.js
in/dist/assets/vendors/custom/gmaps/gmaps.js -> out/in/dist/assets/vendors/custom/gmaps/gmaps.js
in/dist/assets/vendors/custom/jquery-ui/jquery-ui.bundle.js -> out/in/dist/assets/vendors/custom/jquery-ui/jquery-ui.bundle.js
in/dist/assets/vendors/custom/jqvmap/jqvmap.bundle.js -> out/in/dist/assets/vendors/custom/jqvmap/jqvmap.bundle.js
in/dist/beacon-region-create.module.chunk.js -> out/in/dist/beacon-region-create.module.chunk.js
in/dist/beacon-region-find.module.chunk.js -> out/in/dist/beacon-region-find.module.chunk.js
in/dist/beacon-region-read.module.chunk.js -> out/in/dist/beacon-region-read.module.chunk.js
in/dist/beacon-region-update.module.chunk.js -> out/in/dist/beacon-region-update.module.chunk.js
in/dist/building-create.module.chunk.js -> out/in/dist/building-create.module.chunk.js
in/dist/building-find.module.chunk.js -> out/in/dist/building-find.module.chunk.js
in/dist/building-read.module.chunk.js -> out/in/dist/building-read.module.chunk.js
in/dist/building-update.module.chunk.js -> out/in/dist/building-update.module.chunk.js
[BABEL] Note: The code generator has deoptimised the styling of "in/dist/common.chunk.js" as it exceeds the max of "500KB".
in/dist/common.chunk.js -> out/in/dist/common.chunk.js
in/dist/floor-create.module.chunk.js -> out/in/dist/floor-create.module.chunk.js
in/dist/floor-find.module.chunk.js -> out/in/dist/floor-find.module.chunk.js
in/dist/floor-read.module.chunk.js -> out/in/dist/floor-read.module.chunk.js
in/dist/floor-update.module.chunk.js -> out/in/dist/floor-update.module.chunk.js
in/dist/index.module.chunk.js -> out/in/dist/index.module.chunk.js
in/dist/inline.bundle.js -> out/in/dist/inline.bundle.js
in/dist/main.bundle.js -> out/in/dist/main.bundle.js
in/dist/message-template-create.module.chunk.js -> out/in/dist/message-template-create.module.chunk.js
in/dist/message-template-find.module.chunk.js -> out/in/dist/message-template-find.module.chunk.js
in/dist/message-template-read.module.chunk.js -> out/in/dist/message-template-read.module.chunk.js
in/dist/message-template-update.module.chunk.js -> out/in/dist/message-template-update.module.chunk.js
in/dist/organization-create.module.chunk.js -> out/in/dist/organization-create.module.chunk.js
in/dist/organization-find.module.chunk.js -> out/in/dist/organization-find.module.chunk.js
in/dist/organization-read.module.chunk.js -> out/in/dist/organization-read.module.chunk.js
in/dist/organization-update.module.chunk.js -> out/in/dist/organization-update.module.chunk.js
in/dist/polyfills.bundle.js -> out/in/dist/polyfills.bundle.js
in/dist/report-incident-info.module.chunk.js -> out/in/dist/report-incident-info.module.chunk.js
in/dist/report-incidents.module.chunk.js -> out/in/dist/report-incidents.module.chunk.js
in/dist/room-create.module.chunk.js -> out/in/dist/room-create.module.chunk.js
in/dist/room-find.module.chunk.js -> out/in/dist/room-find.module.chunk.js
in/dist/room-read.module.chunk.js -> out/in/dist/room-read.module.chunk.js
in/dist/room-update.module.chunk.js -> out/in/dist/room-update.module.chunk.js
[BABEL] Note: The code generator has deoptimised the styling of "in/dist/scripts.bundle.js" as it exceeds the max of "500KB".
in/dist/scripts.bundle.js -> out/in/dist/scripts.bundle.js
in/dist/styles.bundle.js -> out/in/dist/styles.bundle.js
in/dist/user-create.module.chunk.js -> out/in/dist/user-create.module.chunk.js
in/dist/user-find.module.chunk.js -> out/in/dist/user-find.module.chunk.js
in/dist/user-read.module.chunk.js -> out/in/dist/user-read.module.chunk.js
in/dist/user-update.module.chunk.js -> out/in/dist/user-update.module.chunk.js
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
<--- Last few GCs --->
[14:0x55c4813fd000] 159275 ms: Mark-sweep 1351.6 (1513.0) -> 1351.4 (1515.0) MB, 1624.0 / 0.0 ms allocation failure GC in old space requested
[14:0x55c4813fd000] 160927 ms: Mark-sweep 1351.4 (1515.0) -> 1351.3 (1474.0) MB, 1651.8 / 0.0 ms last resort GC in old space requested
[14:0x55c4813fd000] 162576 ms: Mark-sweep 1351.3 (1474.0) -> 1351.3 (1470.5) MB, 1648.3 / 0.0 ms last resort GC in old space requested
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0x309deee255e9 <JSObject>
2: split(this=0xe7c37d82201 <Very long string[12460250]>)
3: /* anonymous */(aka /* anonymous */) [/home/node/node_modules/detect-indent/index.js:58] [bytecode=0x38d4bba9e981 offset=52](this=0xefd278822d1 <undefined>,str=0xe7c37d82201 <Very long string[12460250]>)
4: normalizeOptions(aka normalizeOptions) [/home/node/node_modules/babel-generator/lib/index.js:71] [bytecode=0x38d4bba9e...
2018/07/11 23:08:34 signal: aborted (core dumped)
2018/07/11 23:08:35 Container exited with non zero status code
ERROR: Job failed: exit code 1
Results of GitLab environment info
Expand for output related to GitLab environment info
System information System: Ubuntu 16.04 Proxy: no Current User: git Using RVM: no Ruby Version: 2.4.4p296 Gem Version: 2.7.6 Bundler Version:1.16.2 Rake Version: 12.3.1 Redis Version: 3.2.11 Git Version: 2.17.1 Sidekiq Version:5.1.3 Go Version: unknown
GitLab information Version: 11.0.3-ee Revision: f25aa33 Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: postgresql DB Version: 9.6.8 URL: https://git.patrocinium.com HTTP Clone URL: https://git.patrocinium.com/some-group/some-project.git SSH Clone URL: git@git.patrocinium.com:some-group/some-project.git Elasticsearch: no Geo: no Using LDAP: no Using Omniauth: no
GitLab Shell Version: 7.1.4 Repository storage paths:
- default: /var/opt/gitlab/git-data/repositories Hooks: /opt/gitlab/embedded/service/gitlab-shell/hooks Git: /opt/gitlab/embedded/bin/git
Results of GitLab application Check
Expand for output related to the GitLab application check
Checking GitLab Shell ...
GitLab Shell version >= 7.1.4 ? ... OK (7.1.4) Repo base directory exists? default... yes Repo storage directories are symlinks? default... no Repo paths owned by git:root, or git:git? default... yes Repo paths access is drwxrws---? default... yes hooks directories in repos are links: ... 2/1 ... ok 2/2 ... ok 2/3 ... ok 2/4 ... ok 2/5 ... ok 4/6 ... ok 2/7 ... ok 2/8 ... ok 2/9 ... ok 2/10 ... ok 25/11 ... ok 25/12 ... ok 2/13 ... ok 4/14 ... ok 2/15 ... ok 4/16 ... ok 2/17 ... ok 20/18 ... ok 4/19 ... ok 2/20 ... ok 4/21 ... ok 2/22 ... ok 2/23 ... ok 2/24 ... ok 2/25 ... ok 2/26 ... ok 2/27 ... ok 2/28 ... ok 2/29 ... ok 4/30 ... ok 2/31 ... ok 4/32 ... ok 4/33 ... ok 2/34 ... ok 2/35 ... repository is empty 2/36 ... ok 2/37 ... ok 2/38 ... repository is empty 4/39 ... ok 2/40 ... ok 4/44 ... ok 4/46 ... repository is empty 22/48 ... ok 4/49 ... ok 4/50 ... ok 26/51 ... ok 26/52 ... ok 20/54 ... ok 4/55 ... ok 22/56 ... ok 4/57 ... ok 2/58 ... ok 22/59 ... ok 4/60 ... repository is empty 26/61 ... ok 20/62 ... ok 4/63 ... ok 26/64 ... ok 26/65 ... ok 4/66 ... ok 4/68 ... ok 36/70 ... ok 2/71 ... ok 4/74 ... ok 20/75 ... repository is empty 4/76 ... repository is empty 4/77 ... ok 4/78 ... ok 4/79 ... ok 4/80 ... ok 4/81 ... ok 4/83 ... ok 26/84 ... ok 4/85 ... ok 22/86 ... ok 4/87 ... ok 22/88 ... ok 4/89 ... ok 38/90 ... repository is empty 4/91 ... ok 4/92 ... ok 22/93 ... ok 26/94 ... ok 4/95 ... ok 22/96 ... ok 4/97 ... ok 4/98 ... ok 4/99 ... ok 38/100 ... ok 22/101 ... ok 22/102 ... ok 26/104 ... ok 4/105 ... ok 4/106 ... repository is empty 4/107 ... ok 4/108 ... ok 38/110 ... ok 36/111 ... ok 4/113 ... ok 4/115 ... repository is empty 4/116 ... ok 26/117 ... ok 22/118 ... ok 4/119 ... ok 26/120 ... ok 4/121 ... ok 4/124 ... ok 41/125 ... ok 41/126 ... ok 41/128 ... ok 41/129 ... ok 41/130 ... ok 26/131 ... ok 4/132 ... ok Running /opt/gitlab/embedded/service/gitlab-shell/bin/check Check GitLab API access: OK Redis available via internal API: OK
Access to /var/opt/gitlab/.ssh/authorized_keys: OK gitlab-shell self-check successful
Checking GitLab Shell ... Finished
Checking Sidekiq ...
Running? ... yes Number of Sidekiq processes ... 1
Checking Sidekiq ... Finished
Reply by email is disabled in config/gitlab.yml Checking LDAP ...
LDAP is disabled in config/gitlab.yml
Checking LDAP ... Finished
Checking GitLab ...
Git configured correctly? ... yes Database config exists? ... yes All migrations up? ... yes Database contains orphaned GroupMembers? ... no GitLab config exists? ... yes GitLab config up to date? ... yes Log directory writable? ... yes Tmp directory writable? ... yes Uploads directory exists? ... yes Uploads directory has correct permissions? ... yes Uploads directory tmp has correct permissions? ... yes Init script exists? ... skipped (omnibus-gitlab has no init script) Init script up-to-date? ... skipped (omnibus-gitlab has no init script) Projects have namespace: ... 2/1 ... yes 2/2 ... yes 2/3 ... yes 2/4 ... yes 2/5 ... yes 4/6 ... yes 2/7 ... yes 2/8 ... yes 2/9 ... yes 2/10 ... yes 25/11 ... yes 25/12 ... yes 2/13 ... yes 4/14 ... yes 2/15 ... yes 4/16 ... yes 2/17 ... yes 20/18 ... yes 4/19 ... yes 2/20 ... yes 4/21 ... yes 2/22 ... yes 2/23 ... yes 2/24 ... yes 2/25 ... yes 2/26 ... yes 2/27 ... yes 2/28 ... yes 2/29 ... yes 4/30 ... yes 2/31 ... yes 4/32 ... yes 4/33 ... yes 2/34 ... yes 2/35 ... yes 2/36 ... yes 2/37 ... yes 2/38 ... yes 4/39 ... yes 2/40 ... yes 4/44 ... yes 4/46 ... yes 22/48 ... yes 4/49 ... yes 4/50 ... yes 26/51 ... yes 26/52 ... yes 20/54 ... yes 4/55 ... yes 22/56 ... yes 4/57 ... yes 2/58 ... yes 22/59 ... yes 4/60 ... yes 26/61 ... yes 20/62 ... yes 4/63 ... yes 26/64 ... yes 26/65 ... yes 4/66 ... yes 4/68 ... yes 36/70 ... yes 2/71 ... yes 4/74 ... yes 20/75 ... yes 4/76 ... yes 4/77 ... yes 4/78 ... yes 4/79 ... yes 4/80 ... yes 4/81 ... yes 4/83 ... yes 26/84 ... yes 4/85 ... yes 22/86 ... yes 4/87 ... yes 22/88 ... yes 4/89 ... yes 38/90 ... yes 4/91 ... yes 4/92 ... yes 22/93 ... yes 26/94 ... yes 4/95 ... yes 22/96 ... yes 4/97 ... yes 4/98 ... yes 4/99 ... yes 38/100 ... yes 22/101 ... yes 22/102 ... yes 26/104 ... yes 4/105 ... yes 4/106 ... yes 4/107 ... yes 4/108 ... yes 38/110 ... yes 36/111 ... yes 4/113 ... yes 4/115 ... yes 4/116 ... yes 26/117 ... yes 22/118 ... yes 4/119 ... yes 26/120 ... yes 4/121 ... yes 4/124 ... yes 41/125 ... yes 41/126 ... yes 41/128 ... yes 41/129 ... yes 41/130 ... yes 26/131 ... yes 4/132 ... yes Redis version >= 2.8.0? ... yes Ruby version >= 2.3.5 ? ... yes (2.4.4) Git version >= 2.9.5 ? ... yes (2.17.1) Git user has default SSH configuration? ... no Try fixing it: mkdir ~/gitlab-check-backup-1531411880 sudo mv /var/opt/gitlab/.ssh/id_rsa ~/gitlab-check-backup-1531411880 sudo mv /var/opt/gitlab/.ssh/id_rsa.pub ~/gitlab-check-backup-1531411880 For more information see: doc/ssh/README.md in section "SSH on the GitLab server" Please fix the error above and rerun the checks. Active users: ... 11 Elasticsearch version 5.1 - 5.5? ... skipped (elasticsearch is disabled)
Checking GitLab ... Finished
Possible fixes
Perhaps a way to override the default Javascript heap memory limit via build ENV var?