Multi line output when using ANSI colors in bash

Summary

Multi line output when using ANSI colors in bash.

When using ANSI colors, the job's output is formatted into several lines instead of only one.

This problem was not present on gitlab 11.11.1.

Steps to reproduce

Run the following .gitlab-ci.yml :

image: busybox:latest

stages:
  - build

build1:
  stage: build
  script:
    - echo -e "abc - \e[31mdef\e[0m    ghi"

Example Project

NA

What is the current bug behavior?

I get the following multi-line output :

abc - 
def
    ghi

with def colored in red

What is the expected correct behavior?

I should get only one line as follow :

abd - def    ghi

with def colored in red

Relevant logs and/or screenshots

NA

Output of checks

This bug happens on GitLab.com and on my EE on premise

Results of GitLab environment info

Expand for output related to GitLab environment info

System information System: Proxy: no Current User: git Using RVM: no Ruby Version: 2.6.3p62 Gem Version: 2.7.9 Bundler Version:1.17.3 Rake Version: 12.3.2 Redis Version: 3.2.12 Git Version: 2.21.0 Sidekiq Version:5.2.7 Go Version: unknown

GitLab information Version: 12.1.4-ee Revision: 4ea82400e72 Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: PostgreSQL DB Version: 10.7 URL: https://gitlab.yvesrocher.com HTTP Clone URL: https://gitlab.yvesrocher.com/some-group/some-project.git SSH Clone URL: git@gitlab.yvesrocher.com:some-group/some-project.git Elasticsearch: no Geo: no Using LDAP: yes Using Omniauth: yes Omniauth Providers:

GitLab Shell Version: 9.3.0 Repository storage paths:

  • default: /opt/data/gitlab/git-data/repositories GitLab Shell path: /opt/gitlab/embedded/service/gitlab-shell Git: /opt/gitlab/embedded/bin/git

Results of GitLab application Check

Expand for output related to the GitLab application check

Checking GitLab subtasks ...

Checking GitLab Shell ...

GitLab Shell: ... GitLab Shell version >= 9.3.0 ? ... OK (9.3.0) 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 Gitaly ...

Gitaly: ... default ... OK

Checking Gitaly ... Finished

Checking Sidekiq ...

Sidekiq: ... Running? ... yes Number of Sidekiq processes ... 1

Checking Sidekiq ... Finished

Checking Incoming Email ...

Incoming Email: ... Reply by email is disabled in config/gitlab.yml

Checking Incoming Email ... Finished

Checking LDAP ...

LDAP: ... Server: ldapmain LDAP authentication... Success LDAP users with access to your GitLab server (only showing the first 100 results) User output sanitized. Found 100 users of 100 limit.

Checking LDAP ... Finished

Checking GitLab App ...

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: ... 5/1 ... yes 15/6 ... yes 5/7 ... yes 5/8 ... yes 5/9 ... yes 244/10 ... yes 244/11 ... yes 244/19 ... yes 5/20 ... yes 26/22 ... yes 31/24 ... yes 31/25 ... yes 26/28 ... yes 26/29 ... yes 26/31 ... yes 4/32 ... yes 31/33 ... yes 31/34 ... yes 5/35 ... yes 15/36 ... yes 244/37 ... yes 5/39 ... yes 5/42 ... yes 26/43 ... yes 5/44 ... yes 15/46 ... yes 4/47 ... yes 15/48 ... yes 5/49 ... yes 15/52 ... yes 15/53 ... yes 244/55 ... yes 5/58 ... yes 5/59 ... yes 31/60 ... yes 15/61 ... yes 244/62 ... yes 15/63 ... yes 25/64 ... yes 4/65 ... yes 4/66 ... yes 15/67 ... yes 31/70 ... yes 6/75 ... yes 25/76 ... yes 3/77 ... yes 25/78 ... yes 97/79 ... yes 15/80 ... yes 5/81 ... yes 25/82 ... yes 25/84 ... yes 3/86 ... yes 15/87 ... yes 25/88 ... yes 30/89 ... yes 30/90 ... yes 30/91 ... yes 30/92 ... yes 244/95 ... yes 26/96 ... yes 15/97 ... yes 26/99 ... yes 5/101 ... yes 5/103 ... yes 5/104 ... yes 3/105 ... yes 5/106 ... yes 5/107 ... yes 244/108 ... yes 26/109 ... yes 6/110 ... yes 26/111 ... yes 5/112 ... yes 244/113 ... yes 3/114 ... yes 35/115 ... yes 25/116 ... yes 5/117 ... yes 5/118 ... yes 3/119 ... yes 5/120 ... yes 244/121 ... yes 3/125 ... yes 5/127 ... yes 43/128 ... yes 6/130 ... yes 5/131 ... yes 5/132 ... yes 12/133 ... yes 5/134 ... yes 6/135 ... yes 26/136 ... yes 5/138 ... yes 5/139 ... yes 5/140 ... yes 5/141 ... yes 3/142 ... yes 26/143 ... yes 5/146 ... yes 26/147 ... yes 95/148 ... yes 18/150 ... yes 15/151 ... yes 5/152 ... yes 49/153 ... yes 49/154 ... yes 49/155 ... yes 49/156 ... yes 5/157 ... yes 33/158 ... yes 49/160 ... yes 49/161 ... yes 49/162 ... yes 56/163 ... yes 49/164 ... yes 5/165 ... yes 49/166 ... yes 49/167 ... yes 5/168 ... yes 26/171 ... yes 46/172 ... yes 46/173 ... yes 46/174 ... yes 49/175 ... yes 105/176 ... yes 49/177 ... yes 48/178 ... yes 65/180 ... yes 46/181 ... yes 5/182 ... yes 5/183 ... yes 46/184 ... yes 46/185 ... yes 5/186 ... yes 244/187 ... yes 49/188 ... yes 48/189 ... yes 96/191 ... yes 5/193 ... yes 27/194 ... yes 48/204 ... yes 244/207 ... yes 50/242 ... yes 46/243 ... yes 27/246 ... yes 73/247 ... yes 14/248 ... yes 105/249 ... yes 73/253 ... yes 83/254 ... yes 105/255 ... yes 26/258 ... yes 14/259 ... yes 5/260 ... yes 5/261 ... yes 66/281 ... yes 30/282 ... yes 30/283 ... yes 73/284 ... yes 25/285 ... yes 30/287 ... yes 73/288 ... yes 73/290 ... yes 74/295 ... yes 26/307 ... yes 14/309 ... yes 5/310 ... yes 26/311 ... yes 5/312 ... yes 5/314 ... yes 50/317 ... yes 27/325 ... yes 83/328 ... yes 83/329 ... yes 30/331 ... yes 30/332 ... yes 30/333 ... yes 46/334 ... yes 5/336 ... yes 15/337 ... yes 6/338 ... yes 15/339 ... yes 83/340 ... yes 83/341 ... yes 83/344 ... yes 15/346 ... yes 26/348 ... yes 26/349 ... yes 83/350 ... yes 26/352 ... yes 83/353 ... yes 83/354 ... yes 83/355 ... yes 83/356 ... yes 46/357 ... yes 46/358 ... yes 5/362 ... yes 5/363 ... yes 11/364 ... yes 26/365 ... yes 105/367 ... yes 83/368 ... yes 46/369 ... yes 97/370 ... yes 95/371 ... yes 115/372 ... yes 95/374 ... yes 46/375 ... yes 74/376 ... yes 15/377 ... yes 96/379 ... yes 83/380 ... yes 30/381 ... yes 105/382 ... yes 46/383 ... yes 11/385 ... yes 83/386 ... yes 95/387 ... yes 244/388 ... yes 95/390 ... yes 26/391 ... yes 96/392 ... yes 95/393 ... yes 96/395 ... yes 95/396 ... yes 96/397 ... yes 100/399 ... yes 5/400 ... yes 244/403 ... yes 100/404 ... yes 66/406 ... yes 100/407 ... yes 96/410 ... yes 244/412 ... yes 96/413 ... yes 26/414 ... yes 95/415 ... yes 74/417 ... yes 124/418 ... yes 74/419 ... yes 74/420 ... yes 46/421 ... yes 46/422 ... yes 70/423 ... yes 46/424 ... yes 5/425 ... yes 30/426 ... yes 5/427 ... yes 46/430 ... yes 95/431 ... yes 96/432 ... yes 83/433 ... yes 5/434 ... yes 105/435 ... yes 5/436 ... yes 107/437 ... yes 107/438 ... yes 105/442 ... yes 124/443 ... yes 244/444 ... yes 95/445 ... yes 46/447 ... yes 46/448 ... yes 26/450 ... yes 96/452 ... yes 109/465 ... yes 110/468 ... yes 110/469 ... yes 110/470 ... yes 110/471 ... yes 110/472 ... yes 110/473 ... yes 110/474 ... yes 110/475 ... yes 109/476 ... yes 109/477 ... yes 109/478 ... yes 109/479 ... yes 109/480 ... yes 109/481 ... yes 111/482 ... yes 111/483 ... yes 109/484 ... yes 109/485 ... yes 109/486 ... yes 109/487 ... yes 112/489 ... yes 112/490 ... yes 112/491 ... yes 109/492 ... yes 109/493 ... yes 110/496 ... yes 15/498 ... yes 95/501 ... yes 105/505 ... yes 43/509 ... yes 95/511 ... yes 170/512 ... yes 95/513 ... yes 83/514 ... yes 105/515 ... yes 5/517 ... yes 74/518 ... yes 95/519 ... yes 102/520 ... yes 116/521 ... yes 74/523 ... yes 95/524 ... yes 105/525 ... yes 102/526 ... yes 95/530 ... yes 26/531 ... yes 25/532 ... yes 121/535 ... yes 124/536 ... yes 102/537 ... yes 30/538 ... yes 70/539 ... yes 6/540 ... yes 120/541 ... yes 46/542 ... yes 95/543 ... yes 95/544 ... yes 6/546 ... yes 5/547 ... yes 6/552 ... yes 6/554 ... yes 109/556 ... yes 146/558 ... yes 46/559 ... yes 95/560 ... yes 133/562 ... yes 3/563 ... yes 46/564 ... yes 46/566 ... yes 83/567 ... yes 46/568 ... yes 105/569 ... yes 109/570 ... yes 124/571 ... yes 96/572 ... yes 136/573 ... yes 113/576 ... yes 83/577 ... yes 137/578 ... yes 83/579 ... yes 46/581 ... yes 137/583 ... yes 105/584 ... yes 137/585 ... yes 137/586 ... yes 137/587 ... yes 137/588 ... yes 137/589 ... yes 137/590 ... yes 137/591 ... yes 15/593 ... yes 95/594 ... yes 17/597 ... yes 22/598 ... yes 137/599 ... yes 26/601 ... yes 103/602 ... yes 83/603 ... yes 27/604 ... yes 67/605 ... yes 61/606 ... yes 105/607 ... yes 5/610 ... yes 150/611 ... yes 150/613 ... yes 150/614 ... yes 197/616 ... yes 150/618 ... yes 30/619 ... yes 145/620 ... yes 48/621 ... yes 95/622 ... yes 152/623 ... yes 30/624 ... yes 46/627 ... yes 152/628 ... yes 46/629 ... yes 46/630 ... yes 154/631 ... yes 156/632 ... yes 26/635 ... yes 74/636 ... yes 145/638 ... yes 46/639 ... yes 27/640 ... yes 95/641 ... yes 137/643 ... yes 146/644 ... yes 170/647 ... yes 65/649 ... yes 161/650 ... yes 161/653 ... yes 161/654 ... yes 161/655 ... yes 161/656 ... yes 145/657 ... yes 145/658 ... yes 30/659 ... yes 121/661 ... yes 48/663 ... yes 150/664 ... yes 48/665 ... yes 105/666 ... yes 46/667 ... yes 83/668 ... yes 70/669 ... yes 161/672 ... yes 161/673 ... yes 161/674 ... yes 161/675 ... yes 161/676 ... yes 95/677 ... yes 244/678 ... yes 83/679 ... yes 244/680 ... yes 145/681 ... yes 162/682 ... yes 188/683 ... yes 137/684 ... yes 145/685 ... yes 145/686 ... yes 50/687 ... yes 5/688 ... yes 182/689 ... yes 161/692 ... yes 161/693 ... yes 161/694 ... yes 161/695 ... yes 161/696 ... yes 83/698 ... yes 156/699 ... yes 185/700 ... yes 185/701 ... yes 145/703 ... yes 102/704 ... yes 185/705 ... yes 145/706 ... yes 5/707 ... yes 162/708 ... yes 102/709 ... yes 102/710 ... yes 109/711 ... yes 27/712 ... yes 185/727 ... yes 185/728 ... yes 185/729 ... yes 185/730 ... yes 185/731 ... yes 185/732 ... yes 185/733 ... yes 185/734 ... yes 185/735 ... yes 185/736 ... yes 185/737 ... yes 185/738 ... yes 185/739 ... yes 185/740 ... yes 185/741 ... yes 185/742 ... yes 185/743 ... yes 185/744 ... yes 185/745 ... yes 185/746 ... yes 185/747 ... yes 185/748 ... yes 185/749 ... yes 185/750 ... yes 185/751 ... yes 185/752 ... yes 185/753 ... yes 185/754 ... yes 185/755 ... yes 185/756 ... yes 185/757 ... yes 185/758 ... yes 185/759 ... yes 185/761 ... yes 185/762 ... yes 185/763 ... yes 185/764 ... yes 185/765 ... yes 185/766 ... yes 185/767 ... yes 185/768 ... yes 185/769 ... yes 185/770 ... yes 185/771 ... yes 185/772 ... yes 185/773 ... yes 185/774 ... yes 145/775 ... yes 145/776 ... yes 145/777 ... yes 27/778 ... yes 105/779 ... yes 185/781 ... yes 150/782 ... yes 102/783 ... yes 192/785 ... yes 150/786 ... yes 145/787 ... yes 203/788 ... yes 197/789 ... yes 145/790 ... yes 182/791 ... yes 113/792 ... yes 145/793 ... yes 199/794 ... yes 199/796 ... yes 201/797 ... yes 185/798 ... yes 199/799 ... yes 185/800 ... yes 206/801 ... yes 185/802 ... yes 200/803 ... yes 185/804 ... yes 202/805 ... yes 202/806 ... yes 202/807 ... yes 203/808 ... yes 204/809 ... yes 204/810 ... yes 204/811 ... yes 204/812 ... yes 137/813 ... yes 204/814 ... yes 204/815 ... yes 185/816 ... yes 48/817 ... yes 204/818 ... yes 204/819 ... yes 145/820 ... yes 145/821 ... yes 182/822 ... yes 185/823 ... yes 150/824 ... yes 50/825 ... yes 105/827 ... yes 145/829 ... yes 26/830 ... yes 83/831 ... yes 201/833 ... yes 185/834 ... yes 185/835 ... yes 145/836 ... yes 201/837 ... yes 113/838 ... yes 113/839 ... yes 113/840 ... yes 113/841 ... yes 83/842 ... yes 26/843 ... yes 185/844 ... yes 113/845 ... yes 105/846 ... yes 145/847 ... yes 11/848 ... yes 22/849 ... yes 145/850 ... yes 145/851 ... yes 145/852 ... yes 210/853 ... yes 45/854 ... yes 145/855 ... yes 185/856 ... yes 185/857 ... yes 150/858 ... yes 150/859 ... yes 185/860 ... yes 182/861 ... yes 182/863 ... yes 46/864 ... yes 145/865 ... yes 145/866 ... yes 145/867 ... yes 145/868 ... yes 145/869 ... yes 170/870 ... yes 220/872 ... yes 137/873 ... yes 185/874 ... yes 244/875 ... yes 145/876 ... yes 145/877 ... yes 145/878 ... yes 137/879 ... yes 182/880 ... yes 185/881 ... yes 182/882 ... yes 145/883 ... yes 145/884 ... yes 185/885 ... yes 145/886 ... yes 113/887 ... yes 145/888 ... yes 145/889 ... yes 83/890 ... yes 185/891 ... yes 137/892 ... yes 27/893 ... yes 145/894 ... yes 182/896 ... yes 185/897 ... yes 185/898 ... yes 145/899 ... yes 145/901 ... yes 5/902 ... yes 227/903 ... yes 228/904 ... yes 150/906 ... yes 145/907 ... yes 145/909 ... yes 145/910 ... yes 150/911 ... yes 224/913 ... yes 150/914 ... yes 150/915 ... yes 145/916 ... yes 50/917 ... yes 204/918 ... yes 204/919 ... yes 204/920 ... yes 204/921 ... yes 224/922 ... yes 83/923 ... yes 105/924 ... yes 150/925 ... yes 46/926 ... yes 145/927 ... yes 185/928 ... yes 46/929 ... yes 185/930 ... yes 113/931 ... yes 197/932 ... yes 236/934 ... yes 105/935 ... yes 12/936 ... yes 137/937 ... yes 228/938 ... yes 185/939 ... yes 83/940 ... yes 67/941 ... yes 238/942 ... yes 47/943 ... yes 238/944 ... yes 238/945 ... yes 238/946 ... yes 238/947 ... yes 238/948 ... yes 238/949 ... yes 238/950 ... yes 238/951 ... yes 108/952 ... yes 74/953 ... yes 74/954 ... yes 238/955 ... yes 145/956 ... yes 46/957 ... yes 242/958 ... yes 235/959 ... yes 243/960 ... yes 243/961 ... yes 243/962 ... yes 243/963 ... yes 145/965 ... yes 145/966 ... yes 145/967 ... yes 145/968 ... yes 145/969 ... yes 220/971 ... yes Redis version >= 2.8.0? ... yes Ruby version >= 2.5.3 ? ... yes (2.6.3) Git version >= 2.21.0 ? ... yes (2.21.0) Git user has default SSH configuration? ... yes Active users: ... 127 Elasticsearch version 5.6 - 6.x? ... skipped (elasticsearch is disabled)

Checking GitLab App ... Finished

Checking GitLab subtasks ... Finished

Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Assignee Loading
Time tracking Loading