Discussion:
[ast-developers] New AST Toolkit and ksh93 beta release posted.
David Korn
2014-10-08 01:27:17 UTC
Permalink
A new beta version of the AST Toolkit and ksh93 have posted on the AT&T
website, http://www.research.att.com/sw/download. Click on the word beta
on the left side of this download page.

There are many significant new features for ksh93 in the last six months as
well as many bug fixes. Here are some of the new features. The RELEASE
file
in the ksh93 source directory has a log of all the changes. Here are some
of the highlights.

1. Bash style programmable command completion.
2. A bash compatibility mode which runs many more bash scripts without
change. When in this mode, the shell uses dynamic scoping for functions
and function name, and name() are equivalent.
3. The read command can read json format files to create a ksh93 compound
variable with the read -m json. It is already able to write ksh93
compound variables in json format.
4. The jobs command how displays the directory in which the command was
started if it is not the current directory. This is a bash feature that
I found useful.
5. The expansion ${$variable} to get the value of the variable named by
variable.
6. Several options have been added to commands to aide in Bash
compatibility.

We are hoping to get an official release for ksh93v by the end of this
year. Please
let us know of any problems you have.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.research.att.com/pipermail/ast-developers/attachments/20141007/9afdde45/attachment.html>
Dr. Werner Fink
2014-10-09 13:24:40 UTC
Permalink
Post by David Korn
A new beta version of the AST Toolkit and ksh93 have posted on the AT&T
website, http://www.research.att.com/sw/download. Click on the word beta
on the left side of this download page.
There are many significant new features for ksh93 in the last six months as
well as many bug fixes. Here are some of the new features. The RELEASE
file
in the ksh93 source directory has a log of all the changes. Here are some
of the highlights.
1. Bash style programmable command completion.
2. A bash compatibility mode which runs many more bash scripts without
change. When in this mode, the shell uses dynamic scoping for functions
and function name, and name() are equivalent.
3. The read command can read json format files to create a ksh93 compound
variable with the read -m json. It is already able to write ksh93
compound variables in json format.
4. The jobs command how displays the directory in which the command was
started if it is not the current directory. This is a bash feature that
I found useful.
5. The expansion ${$variable} to get the value of the variable named by
variable.
6. Several options have been added to commands to aide in Bash
compatibility.
This version still uses malloc() within signal handler which is evil.
I see still random hanging build processes and all of them show the
same problem: malloc() within a signal handler[1]. Beside this: it
is not possible to use the glibc malloc().

IMHO there have to an other way to get the siginfo_t informations from the
signal handler down to the normal ksh process flow.


Werner

[1] http://linux.die.net/man/3/sigaction
--
"Having a smoking section in a restaurant is like having
a peeing section in a swimming pool." -- Edward Burr
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.research.att.com/pipermail/ast-developers/attachments/20141009/54e4c149/attachment.sig>
David Korn
2014-10-10 00:53:20 UTC
Permalink
I tried to preallocate a number of siginfo_t's but it is possible to still
require malloc().
One way of avoiding this is to use a /tmp fiile. With sftmp() you can
specify a size that will allow it to use memory and only create a file if
it overflows.
Post by David Korn
Post by David Korn
A new beta version of the AST Toolkit and ksh93 have posted on the AT&T
website, http://www.research.att.com/sw/download. Click on the word
beta
Post by David Korn
on the left side of this download page.
There are many significant new features for ksh93 in the last six months
as
Post by David Korn
well as many bug fixes. Here are some of the new features. The RELEASE
file
in the ksh93 source directory has a log of all the changes. Here are
some
Post by David Korn
of the highlights.
1. Bash style programmable command completion.
2. A bash compatibility mode which runs many more bash scripts without
change. When in this mode, the shell uses dynamic scoping for
functions
Post by David Korn
and function name, and name() are equivalent.
3. The read command can read json format files to create a ksh93
compound
Post by David Korn
variable with the read -m json. It is already able to write ksh93
compound variables in json format.
4. The jobs command how displays the directory in which the command was
started if it is not the current directory. This is a bash feature
that
Post by David Korn
I found useful.
5. The expansion ${$variable} to get the value of the variable named by
variable.
6. Several options have been added to commands to aide in Bash
compatibility.
This version still uses malloc() within signal handler which is evil.
I see still random hanging build processes and all of them show the
same problem: malloc() within a signal handler[1]. Beside this: it
is not possible to use the glibc malloc().
IMHO there have to an other way to get the siginfo_t informations from the
signal handler down to the normal ksh process flow.
Werner
[1] http://linux.die.net/man/3/sigaction
--
"Having a smoking section in a restaurant is like having
a peeing section in a swimming pool." -- Edward Burr
_______________________________________________
ast-developers mailing list
ast-developers at lists.research.att.com
http://lists.research.att.com/mailman/listinfo/ast-developers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.research.att.com/pipermail/ast-developers/attachments/20141009/490978cd/attachment.html>
Dr. Werner Fink
2014-10-14 12:27:49 UTC
Permalink
Post by David Korn
I tried to preallocate a number of siginfo_t's but it is possible to still
require malloc().
One way of avoiding this is to use a /tmp fiile. With sftmp() you can
specify a size that will allow it to use memory and only create a file if
it overflows.
Use of malloc() in a signal handler must be avoided at all costs. It
is illegal under POSIX since it is not an async-signal-safe function
(see at the end of section 2.4.3 for a list of the legal functions that
can be called while in signal handling context
http://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html)
Using malloc() in a signal handler, even rarely, will still lead to random
deadlocks on many systems.
Quentin
Indeed this is what I see here. An option could be an array which includes
the siginfo_t type together with signal safe (b)locking using sigsetmask()
to avoid an overrun of the array. Even the handler its self could be part
of the array to be able to delay the execution but this requires a perfect
house holding of the actual depth of the (b)locking depth.

Werner
--
"Having a smoking section in a restaurant is like having
a peeing section in a swimming pool." -- Edward Burr
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.research.att.com/pipermail/ast-developers/attachments/20141014/edb3300e/attachment.sig>
Michal Hlavinka
2014-10-16 14:29:04 UTC
Permalink
Post by David Korn
We are hoping to get an official release for ksh93v by the end of this
year. Please let us know of any problems you have.
Most of the problems I've reported recently are still present.

http://lists.research.att.com/pipermail/ast-developers/2014q3/003945.html

Still present:
test48 (memory leak),
test57 (broken command substitution with std{out,err} is closed)
test75 (wrong return code after pipe in `` )
still can't build itself - crashes when executing iffe

Fixed:
test54 (pipe buffer)
test71 (unsetting running function)

New:
regression test that counts number of running processes started to fail
OUT="`ps -ef|grep ${BNAME} | grep -v grep |wc -l`"
echo $OUT
prints 2 instead of 1 now

shtests fails:
test comvar begins at 2014-10-15+16:53:15
comvar.sh[683]: got {
"this": "that",
"x": 5,
} expected {
"this": "that",
"x": 5
}
comvar.sh[687]: got {
"foo": "bar",
"x": {
"lef": "one",
"right": "2"
},
"z": 5,
} expected {
"foo": "bar",
"x": {
"lef": "one",
"right": "2"
},
"z": 5
}
test comvar failed at 2014-10-15+16:53:15 with exit code 2 [ 91 tests 2
errors ]

test namespace(shcomp) begins at 2014-10-15+16:55:32
/tmp/tmp7IslwHH.2SL/shcomp-namespace.ksh[127]: .a.b.x_t: not found [No
such file or directory]
/tmp/tmp7IslwHH.2SL/shcomp-namespace.ksh[128]: var.pi: not found [No
such file or directory]
discipline functions for types in namespace not working
/tmp/tmp7IslwHH.2SL/shcomp-namespace.ksh[138]: .com.foo.test1.y_t: not
found [No such file or directory]
/tmp/tmp7IslwHH.2SL/shcomp-namespace.ksh[139]: v.x.pr: not found [No
such file or directory]
shcomp-namespace.ksh[139]: _.__ not working with nested types
in a namespace
test namespace(shcomp) failed at 2014-10-15+16:55:32 with exit code 1 [
26 tests 1 error ]


test treemove(shcomp) begins at 2014-10-15+17:02:20
/home/mhlavink/gitf/kshbeta/ksh-20140929/arch/linux.i386-64/bin/ksh:
line 2: syntax error at line 6: `function' unexpected
[78]: typeset -C c=(objstack_t ost=(typeset -l -i
st_n=1;st[0]=(obj=(typeset -l -i val=5)))) is not idempotent
test treemove(shcomp) failed at 2014-10-15+17:02:20 with exit code 1 [
22 tests 1 error ]
Bob Krzaczek
2014-10-28 18:07:06 UTC
Permalink
Post by David Korn
A new beta version of the AST Toolkit and ksh93 have posted on the AT&T
website, http://www.research.att.com/sw/download. Click on the word beta
on the left side of this download page.
[ ... ]
On April 3rd of this year, I sent patches for ast-open to the
ast-developers list. They restore builds under FreeBSD 9 (and
likely 7 through 10), and clean up some ancillary issues that might
possibly affect more than just FreeBSD. They were looked over by
Glenn and apparently weren't found too atrocious. :-)

I didn't see them in this beta. I tried patching with them, and
they all still applied cleanly. Maybe they can be in the next beta
of ast-open, to ensure they don't adversely affect existing builds?

Best regards,
Bob
--
Bob Krzaczek, Chester F. Carlson Center for Imaging Science, RIT
phone +1-585-4757196, email ***@cis.rit.edu, icbm 43.08586N 77.67744W
Loading...