*Synopsis*: ksh93 busybox alias must not look for builtin in path
CR 6899868 changed on Nov 21 2009 by <User 1-5HNZ8F>
=== Field ============ === New Value ============= === Old Value =============
Fixed in Build snv_129
Status 8-Fix Available 7-Fix in Progress
====================== =========================== ===========================
*Change Request ID*: 6899868
*Synopsis*: ksh93 busybox alias must not look for builtin in path
Product: solaris
Category: shell
Subcategory: korn93
Type: Defect
Subtype:
Status: 8-Fix Available
Substatus:
Priority: 3-Medium
Introduced In Release: solaris_nevada
Introduced In Build: snv_128
Responsible Engineer: <User 1-7MTUEB>
Keywords: opensolaris, oss-request, oss-sponsor
=== *Description* ============================================================
Category
solaris/shell (Solaris Utilities/Commands)
Sub-Category
korn93
Description
ksh93 busybox alias has a fast and a slow code path.
The slow path uses an embedded script to execute the command.
If the command is a plain built in command it will load it with the builtin
command.
But:
ksh93 will look for the command builtin in path first before it uses the built
in builtin command.
$ truss /usr/bin/rev <(echo foo) 2>&1 >/dev/null| tail -40
close(10) = 0
stat("/opt/onbld/bin", 0xFFFFFFFF7FFFBE20) = 0
open("/opt/onbld/bin/.paths", O_RDONLY) Err#2 ENOENT
stat("/opt/onbld/bin/builtin", 0xFFFFFFFF7FFFBED0) Err#2 ENOENT
stat("/opt/SUNWspro/bin", 0xFFFFFFFF7FFFBE20) = 0
open("/opt/SUNWspro/bin/.paths", O_RDONLY) Err#2 ENOENT
stat("/opt/SUNWspro/bin/builtin", 0xFFFFFFFF7FFFBED0) Err#2 ENOENT
stat("/usr/ccs/bin", 0xFFFFFFFF7FFFBE20) = 0
open("/usr/ccs/bin/.paths", O_RDONLY) Err#2 ENOENT
stat("/usr/ccs/bin/builtin", 0xFFFFFFFF7FFFBED0) Err#2 ENOENT
stat("/usr/dt/bin", 0xFFFFFFFF7FFFBE20) = 0
open("/usr/dt/bin/.paths", O_RDONLY) Err#2 ENOENT
stat("/usr/dt/bin/builtin", 0xFFFFFFFF7FFFBED0) Err#2 ENOENT
stat("/usr/openwin/bin", 0xFFFFFFFF7FFFBE20) = 0
open("/usr/openwin/bin/.paths", O_RDONLY) Err#2 ENOENT
stat("/usr/openwin/bin/builtin", 0xFFFFFFFF7FFFBED0) Err#2 ENOENT
stat("/usr/sfw/bin", 0xFFFFFFFF7FFFBE20) = 0
open("/usr/sfw/bin/.paths", O_RDONLY) Err#2 ENOENT
stat("/usr/sfw/bin/builtin", 0xFFFFFFFF7FFFBED0) Err#2 ENOENT
stat("/usr/local/bin", 0xFFFFFFFF7FFFBE20) Err#2 ENOENT
stat("/usr/sbin", 0xFFFFFFFF7FFFBE20) = 0
open("/usr/sbin/.paths", O_RDONLY) Err#2 ENOENT
stat("/usr/sbin/builtin", 0xFFFFFFFF7FFFBED0) Err#2 ENOENT
stat("/usr/bin", 0xFFFFFFFF7FFFBE20) = 0
open("/usr/bin/.paths", O_RDONLY) Err#2 ENOENT
stat("/usr/bin/builtin", 0xFFFFFFFF7FFFBED0) Err#2 ENOENT
open("/dev/fd/4", O_RDONLY) = 3
fstat(3, 0xFFFFFFFF7FFFABD0) = 0
ioctl(3, TCGETS, 0xFFFFFFFF7FFFAA0C) Err#22 EINVAL
lseek(3, 0, SEEK_CUR) Err#29 ESPIPE
fstat(3, 0xFFFFFFFF7FFFAAE8) = 0
fstat(3, 0xFFFFFFFF7FFFAAF0) = 0
fstat(3, 0xFFFFFFFF7FFFAA30) = 0
read(3, " f o o\n", 8192) = 4
read(3, 0x10012A150, 8192) = 0
fcntl(3, F_GETFL) = 2
close(3) = 0
fstat(1, 0xFFFFFFFF7FFFF750) = 0
fstat(2, 0xFFFFFFFF7FFFF750) = 0
_exit(0)
This is bad for performance and bad if an entry in path is a nfs mount which
hangs.
Frequency
Always
Regression
No
Steps to Reproduce
-
Expected Result
-
Actual Result
-
Error Message(s)
-
Test Case
-
Workaround
-
Additional configuration information
-
*** (#1 of 1): 2009-11-10 19:06:15 GMT+00:00 <User 1-F4SZV>
=== *Public Comments* ========================================================
=== *Workaround* =============================================================
=== *Additional Details* =====================================================
Targeted Release: solaris_nevada
Commit To Fix In Build: snv_129
Fixed In Build: snv_129
Integrated In Build:
Verified In Build:
See Also: 6793763
Duplicate of:
Hooks:
Hook1:
Hook2:
Hook3:
Hook4:
Hook5: <email address omitted>
Hook6: <email address omitted>
Program Management:
Root Cause: Insufficient Testing
Fix Affects Documentation: No
Fix Affects Localization: No
=== *History* ================================================================
Date Submitted: 2009-11-10 19:06:15 GMT+00:00
Submitted By: <User 1-F4SZV>
Status Changed Date Updated Updated By
7-Fix in Progress 2009-11-20 22:00:10 GMT+00:00 <User 1-7MTUEB>
8-Fix Available 2009-11-21 00:23:04 GMT+00:00 <User 1-5HNZ8F>
=== *Service Request* ========================================================
Impact: Limited
Functionality: Nonessential
Severity: 5
Product Name: solaris
Product Release: solaris_nevada
Product Build: snv_01
Operating System: solaris_nevada
Hardware: generic
Submitted Date: 2009-11-10 19:06:16 GMT+00:00
=== *Multiple Release (MR) Cluster* - 0 ======================================