How can I reply to comments in this bug?
The 'root cause' might be the use of -Bdirect. I can reproduce the
problem with ksh93 in ON but if I remove -Bdirect from the link lines
of libast, libcmd, libdll, libshell, libsum and ksh the bug
disappears. I am still investigating but it may take until Roland is
back to narrow this bug down.
Olga
On Mon, Mar 29, 2010 at 3:52 PM, <bugmail-sender at sun.com> wrote:
> *Synopsis*: ksh93's built-in "tail -f" cannot be interrupted if "suspended"
>
> CR 6919591 changed on Mar 29 2010 by <User 1-5Q-9201>
>
> === Field ============ === New Value ============= === Old Value =============
>
> Commit to Fix in Build snv_137
> Evaluation New Note Old Note
> Status 3-Accepted 7-Fix in Progress
> ====================== =========================== ===========================
>
>
> *Change Request ID*: 6919591
>
> *Synopsis*: ksh93's built-in "tail -f" cannot be interrupted if "suspended"
>
> Product: solaris
> Category: shell
> Subcategory: korn93
> Type: Defect
> Subtype: Functionality
> Status: 3-Accepted
> Substatus:
> Priority: 2-High
> Introduced In Release: solaris_nevada
> Introduced In Build: snv_128
> Responsible Engineer: <User 1-5Q-9201>
> Keywords: 2010.02-reviewed, oss-request, oss-sponsor
>
> === *Description* ============================================================
> On a system running snv_131 and the following version of ksh93
>
> devildoll $ ksh93 -c 'print "${.sh.version}"'
> Version JMP 93t+ 2009-10-12
>
> tail appears to be a ksh93 built-in. If I monitor a log file using "tail -f"
> and then suspend (using ^S) and resume the tail, it appears that I can no
> longer interrupt the process.
>
> devildoll $ tail -f /etc/motd
> Sun Microsystems Inc. SunOS 5.11 snv_131 January 2010
> ^Z[1] + Stopped tail -f /dev/null
> devildoll $ fg
> tail -f /dev/null
> ^C
>
> Here's a pstack(1) of the process
>
> 6720: -ksh
> fffffd7fff2ecf7a nanosleep (fffffd7fffdfbe10, 0)
> fffffd7fff095382 b_tail () + b8a
> fffffd7fff172607 sh_exec () + 308f
> fffffd7fff16f0ef sh_eval () + 287
> fffffd7fff102151 b_hist () + a49
> fffffd7fff172607 sh_exec () + 308f
> fffffd7fff1494c6 exfile () + 786
> fffffd7fff148caa sh_main () + 822
> 0000000000400e72 main () + 52
> 0000000000400ccc ???????? ()
>
> And a truss(1) including sending the signal
>
> 6720: nanosleep(0xFFFFFD7FFFDFBE10, 0x00000000) = 0
> 6720: fstat(5, 0xFFFFFD7FFFDFBD90) = 0
> 6720: nanosleep(0xFFFFFD7FFFDFBE10, 0x00000000) = 0
> 6720: fstat(5, 0xFFFFFD7FFFDFBD90) = 0
> 6720: nanosleep(0xFFFFFD7FFFDFBE10, 0x00000000) = 0
> 6720: fstat(5, 0xFFFFFD7FFFDFBD90) = 0
> 6720: nanosleep(0xFFFFFD7FFFDFBE10, 0x00000000) = 0
> 6720: fstat(5, 0xFFFFFD7FFFDFBD90) = 0
> 6720: nanosleep(0xFFFFFD7FFFDFBE10, 0x00000000) = 0
> 6720: fstat(5, 0xFFFFFD7FFFDFBD90) = 0
> 6720: nanosleep(0xFFFFFD7FFFDFBE10, 0x00000000) = 0
> 6720: fstat(5, 0xFFFFFD7FFFDFBD90) = 0
> 6720: Received signal #2, SIGINT, in nanosleep() [caught]
> 6720: nanosleep(0xFFFFFD7FFFDFBE10, 0x00000000) Err#4 EINTR
> 6720: lwp_sigmask(SIG_SETMASK, 0x00000002, 0x00000000) = 0xFFBFFEFF
> [0x0000FFFF]
> 6720: sigaction(SIGINT, 0xFFFFFD7FFFDFB6D0, 0xFFFFFD7FFFDFB750) = 0
> 6720: setcontext(0xFFFFFD7FFFDFB4A0)
> 6720: fstat(5, 0xFFFFFD7FFFDFBD90) = 0
> 6720: nanosleep(0xFFFFFD7FFFDFBE10, 0x00000000) = 0
> 6720: fstat(5, 0xFFFFFD7FFFDFBD90) = 0
> 6720: nanosleep(0xFFFFFD7FFFDFBE10, 0x00000000) = 0
> 6720: fstat(5, 0xFFFFFD7FFFDFBD90) = 0
> 6720: nanosleep(0xFFFFFD7FFFDFBE10, 0x00000000) = 0
>
> *** (#1 of 2): 2010-01-24 23:45:26 GMT+00:00 <User 1-5Q-13979>
>
> Sorry, the ^S above should have been ^Z - namely it really is the job control
> suspend character.
>
> *** (#2 of 2): 2010-02-07 04:01:31 GMT+00:00 <User 1-5Q-13979>
>
>
> === *Public Comments* ========================================================
> Glenn Fowler (AT&T Research AST developer) said this about this bug:
> > the report confuses ^S and ^Z
> > the intention is probably ^Z
> > I don't see the problem on sol11.i386 Version JMP 93t+ 2010-01-20
>
> Roland Mainz (OpenSolaris ksh93-integration project lead) says:
> > I can"t reproduce the bug either. Is it possible that the reporter
> > mixed ^S/^Q (terminal output stop/resume functionality) with
> > ^Z (shell command to put the current job into the background)
> > ?
>
> *** (#1 of 2): 2010-02-04 23:30:49 GMT+00:00 <User 1-5Q-1267>
>
> Not sure if the question is being posed to me but the issue is definitely
> with ^Z using the ksh93 in snv_132.
>
> *** (#2 of 2): 2010-02-07 04:01:31 GMT+00:00 <User 1-5Q-13979>
>
>
> === *Workaround* =============================================================
> Use /usr/bin/tail instead.
>
> *** (#1 of 1): 2010-01-25 07:57:28 GMT+00:00 <User 1-5Q-13979>
>
>
> === *Additional Details* =====================================================
> Targeted Release: solaris_nevada
> Commit To Fix In Build:
> Fixed In Build:
> Integrated In Build:
> Verified In Build:
> See Also:
> Duplicate of:
> Hooks:
> Hook1:
> Hook2:
> Hook3:
> Hook4:
> Hook5: <email address omitted>
> Hook6: <email address omitted>
> Program Management:
> Root Cause: Another Bug Fix
> Fix Affects Documentation: No
> Fix Affects Localization: No
>
> === *History* ================================================================
> Date Submitted: 2010-01-24 23:45:26 GMT+00:00
> Submitted By: <User 1-5Q-13979>
>
> Status Changed Date Updated Updated By
> 3-Accepted 2010-03-29 02:44:29 GMT+00:00 <User 1-5Q-9201>
> 7-Fix in Progress 2010-03-29 03:17:46 GMT+00:00 <User 1-5Q-9201>
> 3-Accepted 2010-03-29 13:46:32 GMT+00:00 <User 1-5Q-9201>
>
>
> === *Service Request* ========================================================
> Impact: Significant
> Functionality: Primary
> Severity: 2
> Product Name: solaris
> Product Release: solaris_nevada
> Product Build: snv_131
> Operating System: 5.11
> Hardware: generic
> Submitted Date: 2010-01-24 23:45:26 GMT+00:00
>
>
> === *Multiple Release (MR) Cluster* - 0 ======================================
>
>
--
, _ _ ,
{ \/`o;====- Olga Kryzhanovska -====;o`\/ }
.----'-/`-/ olga.kryzhanovska at gmail.com \-`\-'----.
`'-..-| / Solaris/BSD//C/C++ programmer \ |-..-'`
/\/\ /\/\
`--` `--`