Project

General

Profile

Actions

Feature #13405

closed

ksh93 update to 2012-08-01

Added by Andy Fiddaman 7 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
cmd - userland programs
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Hard
Tags:
Gerrit CR:

Related issues

Related to illumos gate - Feature #2755: split ksh93 from core packageClosedAndy Fiddaman2012-05-20

Actions
Related to illumos gate - Bug #13434: sh: mishandles backslash as last character of a block of inputClosedAndy Fiddaman

Actions
Related to illumos gate - Bug #4860: ksh93: core in printfClosedAndy Fiddaman2014-05-13

Actions
Related to illumos gate - Bug #11750: ksh mkdir builtin doesn't honor special file permissionsClosed

Actions
Related to illumos gate - Bug #9199: ksh93 builtin *grep -v mishandles blank lines, blows up libgcrypt-configClosed2018-02-26

Actions
Related to illumos gate - Bug #6756: sh (and ksh) have issues with ${1+"$@"}Closed2016-03-19

Actions
Related to illumos gate - Bug #1047: ksh overwrites child core filesClosed2011-05-18

Actions
Related to illumos gate - Bug #880: ksh93 coredumps on 'unset'Closed2011-04-04

Actions
Related to illumos gate - Bug #13485: ratz, some ast tools not necessaryClosedAndy Fiddaman

Actions
Related to illumos gate - Bug #13507: some man pages need update following 13405In ProgressAndy Fiddaman

Actions
Actions #1

Updated by Andy Fiddaman 7 months ago

Actions #2

Updated by Andy Fiddaman 7 months ago

  • % Done changed from 0 to 80
Actions #3

Updated by Andy Fiddaman 7 months ago

  • Related to Bug #13434: sh: mishandles backslash as last character of a block of input added
Actions #4

Updated by Andy Fiddaman 7 months ago

  • Related to Bug #4860: ksh93: core in printf added
Actions #5

Updated by Andy Fiddaman 6 months ago

  • Related to Bug #11750: ksh mkdir builtin doesn't honor special file permissions added
Actions #6

Updated by Andy Fiddaman 6 months ago

  • Related to Bug #9199: ksh93 builtin *grep -v mishandles blank lines, blows up libgcrypt-config added
Actions #7

Updated by Andy Fiddaman 6 months ago

  • Related to Bug #6756: sh (and ksh) have issues with ${1+"$@"} added
Actions #8

Updated by Andy Fiddaman 6 months ago

  • Related to Bug #1047: ksh overwrites child core files added
Actions #9

Updated by Andy Fiddaman 6 months ago

  • Related to Bug #880: ksh93 coredumps on 'unset' added
Actions #10

Updated by Electric Monk 6 months ago

  • Gerrit CR set to 1176
Actions #11

Updated by Andy Fiddaman 6 months ago

Testing notes:

This updated ksh has been integrated into the unstable OmniOS bloody branch and undergone intensive testing over the past few weeks. In addition to being installed as the system shell while running builds of illumos-gate and illumos-omnios, it has also been present for builds of the whole of OmniOS (including userland) and the OmniOS extra packages repository.

Through all of this, before and after performance was the same, and no problems were encountered.

Specific timing tests were run for various real world software, and the new ksh performed at least as well as the old (and faster than some other shells such as bash and dash). Some experimentation was also done with using the internal libast memory allocator in place of libumem, but that made no significant difference.

Here are some representative timings from running a postgresql configure script:

old ksh:

real    0m20.033s
user    0m5.639s
sys     0m3.765s

updated ksh:

real    0m19.820s
user    0m5.467s
sys     0m3.819s

updated ksh with internal libast memory allocator:

real    0m19.993s
user    0m5.480s
sys     0m3.815s

/bin/bash:

real    0m24.986s
user    0m7.022s
sys     0m7.666s

/opt/ooce/bin/dash:

real    0m28.091s
user    0m9.291s
sys     0m7.086s

I've also run shcomp -n across all scripts in illumos-gate to check that the new ksh doesn't flag anything over and above the old. The before and after results were identical.

Actions #12

Updated by Electric Monk 6 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 80 to 100

git commit b30d193948be5a7794d7ae3ba0ed9c2f72c88e0f

commit  b30d193948be5a7794d7ae3ba0ed9c2f72c88e0f
Author: Andy Fiddaman <omnios@citrus-it.co.uk>
Date:   2021-01-30T17:13:33.000Z

    13405 ksh93 update to 2012-08-01
    13434 sh: mishandles backslash as last character of a block of input
    11750 ksh mkdir builtin doesn't honor special file permissions
    9199 ksh93 builtin *grep -v mishandles blank lines, blows up libgcrypt-config
    6756 sh (and ksh) have issues with ${1+"$@"}
    6520 ksh: sleep could wait forever
    4860 ksh93: core in printf
    3791 /bin/sh's builtin 'rm' busted: 'rm -f' without arguments returns error
    1047 ksh overwrites child core files
    880 ksh93 coredumps on 'unset'
    499 "interrupted system call" when using "tee" builtin in ksh
    Reviewed by: Robert Mustacchi <rm@fingolfin.org>
    Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
    Reviewed by: Dominik Hassler <hadfl@omnios.org>
    Approved by: Rich Lowe <richlowe@richlowe.net>

Actions #13

Updated by Andy Fiddaman 6 months ago

  • Related to Bug #13485: ratz, some ast tools not necessary added
Actions #14

Updated by Andy Fiddaman 6 months ago

  • Related to Bug #13507: some man pages need update following 13405 added
Actions

Also available in: Atom PDF