"I. Szczesniak" wrote: > On 7/27/07, April Chin <April.Chin at sun.com> wrote: > > Due to intermittent failures when running the ksh93 tests ("make testshell > > in usr/src/cmd/ksh), we will unfortunately not be integrating ksh93 into > > build 71. Roland and I have been investigating, and we believe the > > failures (core dumps) occur only in post-build 61 environments. > > > > Hopefully we can resolve this soon and integrate into a subsequent build. > > Do you have any details on how ksh93 has failed for you?
The problem looks like this: -- snip -- ## Running sparc/ksh test: LANG='en_US' script='substring.sh' # test ../../../lib/libshell/common/sh/../tests/substring.sh begins # ../../../lib/libshell/common/sh/../tests/shtests: line 54: 142833: Memory fault(coredump) # test ../../../lib/libshell/common/sh/../tests/substring.sh failed with exit code 267 [ 177 tests 267 errors ] -- snip -- This crash (regulary) only happens for OpenSolaris builds > B61, but the problem doesn't happen always... sometimes the test suite runs _hours_ without crashes and sometimes it crashes at the first test run which made it tricky to narrow the problem down since we got lots of false positives during testing... and we looked at the wrong places (i18n, linker, libc, libnsl, libsocket, public include etc. changes between B61 and B69, later narrowed-down to B61 and B65). In the meantime David&&Glenn found the real problem - it looks a simple call to the memory allocator within a signal handler is the source of all the trouble (and the memory allocator isn't "async-signal-safe" (something I forgot and only remebered after checking the documentation[1])) ... ... we now have a patch and will test it in the putback tree next once April is back from her vacation (>= 6.8.) ... [1]=Or check Rich Teer's "Solaris Systems Programming", chapter 17.10 "Reentrant Functions" (page 725/726). ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz at nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;)