 |
≫ |
|
|
 |
パッチ名: PHNE_34059
パッチ摘要: s700_800 11.11 Streams Pty累積パッチ
作成日: 06/06/19
公開日: 06/09/27
警告: 07/01/25 - これは、当社からの重大な警告(Criticalレベル)です。
- PHNE_34059をインストールすると、システムの応答性が低下し、最終的には
システムがハングすることがあります。この場合、STREAMSスケジューラプ
ロセス"smpsched"がループして、あるCPUを完全に占有します。そのため、
"smpsched"プロセスがループすると、STREAMS ptyモジュールが無応答状態
になります。マルチプロセッサシステムの場合は、"smpsched"プロセスがト
リガーされるたびに、新たなCPUが完全に占有されます。この状態を解消す
るには、システムをリブートせざるを得ません。
- また、この問題が、システムへの新たなtelnet/rlogin/ssh接続を確立する
クライアントの低応答性問題として報告されることもあります。いずれの場
合も、top(1)コマンドは、smpschedプロセスが1つ以上のシステムCPUを完全
に占有していると報告します。
- 現時点でこの問題が報告されているのは、受信telnet接続のSTREAMS ptyを
使用しているシステムの場合だけです。しかも、この問題が起きるのは、
telnet接続での高速データ転送時に、tels(7)モジュール内でフロー制御状
態が発生した場合だけです。
- この問題の詳細は、サービス要求8606474067(JAGag28664)を参照してくださ
い。
- この問題の唯一の回避策は、PHNE_34059を削除することです。お使いのシス
テムで上記の現象が起きる場合は、PHNE_34059をシステムから削除するよう
お勧めします。
- 以前のパッチPHNE_30103ではこの問題は起きません。したがって、
PHNE_34059を削除する場合は、可能な限り多くの既知の問題に対処するため
に、PHNE_34059の削除後PHNE_30103をインストールするようお勧めします。
ただし、PHNE_30103がPHNE_34059より前にインストールされている場合は、
PHNE_34059を削除すればPHNE_30103が自動的に復元されるので、再インスト
ールする必要はありません。
- この問題は、まもなくリリースされる新たなSTREAMS ptyパッチで解決され
ます。
ハードウェアプラットフォームおよびOSリリース:
s700: 11.11
s800: 11.11
現象:
PHNE_34059:
1. (SR:8606337979 CR:JAGae98978)
pckt(7)モジュールでの不正なM_READメッセージ処理に起因するメモリリーク
により、システムがハングします。
2. (SR:8606407642 CR:JAGaf67547)
正規モードの場合、StreamsベースのPTYから一度に512文字しか読み取れませ
ん。
3. (SR:8606426185 CR:JAGaf85666)
アプリケーションのコードに欠陥があるため、システムがハングすることがあ
ります。
問題点の説明:
PHNE_34059:
1. (SR:8606337979 CR:JAGae98978)
スレーブ側の状態が変化すると、システムはpckt(7)モジュールを使ってその
ことをマスター側のプロセスに通知します。ところが、pckt(7)モジュールは
ストリームヘッドに使用可能なスペースがあるかチェックせずに、繰り返し
M_READメッセージを上流ノードに転送していました。その結果、未処理の
M_READメッセージが累積してメモリを占有していました。
解決方法:
メモリリークを防ぐために、キューが満杯状態の場合はM_READメッセージを解
放するようにコードを修正しました。
2. (SR:8606407642 CR:JAGaf67547)
正規モードの場合、バッファ内の文字数が512に達すると、ldterm(7)モジュー
ルは、それ以降の文字を通知なしに破棄していました。
解決方法:
最大768文字まで格納できるようにバッファサイズを拡張しました。
3. (SR:8606426185 CR:JAGaf85666)
ldterm(7)モジュールがメッセージを適切に処理しなかったため、システムが
ハングすることがありました。
解決方法:
メッセージを適切に処理するようにコードを修正しました。これで、システム
ハングは起きません。
-----------------------------------------------------------------------------
Patch Name: PHNE_34059
Patch Description: s700_800 11.11 Streams Pty cumulative patch
Creation Date: 06/06/19
Post Date: 06/09/27
Warning: 07/01/25 - This Critical Warning has been issued by HP.
- PHNE_34059 introduced behavior that can result in degraded
system response and could ultimately result in a system
hang. The patch introduced a potential loop for the STREAMS
scheduler process 'smpsched' which will cause the process to
consume 100% of a CPU. A looping 'smpsched' process can
cause the affected STREAMS pty module to become unresponsive.
Each subsequent occurrence of the trigger results in 100%
utilization of an additional CPU in a multiprocessor system.
A system reboot is required to correct the behavior.
- Additional symptoms of the behavior may be reported as slow
response for clients establishing new telnet, rlogin, or ssh
connections to the system. The top(1) command will report
that an smpsched process is a 100% active process on one or
more of the system CPUs.
- As of this time, the behavior has only been reported on
systems using STREAMS ptys for inbound telnet connections.
In addition, the behavior only occurred when a flow control
condition occurs in the tels(7) module under a high rate of
date transfer over the telnet connection.
- Additional details on the behavior may be available in
Service Request 8606474067 (JAGag28664).
- HP only recommends removing PHNE_34059 if the behavior
described above has been observed on the system. If the
behavior has been verified, HP recommends removing PHNE_34059
from the system experiencing the behavior.
- The previous patch, PHNE_30103, does not exhibit this same
behavior. If you choose to remove PHNE_34059, HP recommends
that PHNE_30103 be installed after PHNE_34059 is removed to
ensure as many known issues as possible are addressed. If
PHNE_30103 was installed prior to PHNE_34059, it will
automatically be restored when PHNE_34059 is removed and it
will not need to be re-installed.
- This behavior will be corrected in a new STREAMS pty patch
as soon as possible.
Hardware Platforms - OS Releases:
s700: 11.11
s800: 11.11
Products: N/A
Filesets:
Streams-TIO.STRTIO2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP
Streams-TIO.STRTIO2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP
Streams-TIO.STRTIO-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP
Automatic Reboot?: Yes
Status: General Release With Warnings
Critical:
Yes
PHNE_34059: HANG MEMORY_LEAK
PHNE_30103: HANG CORRUPTION
PHNE_24101: PANIC
Category Tags:
defect_repair enhancement general_release critical panic
halts_system corruption memory_leak
Path Name: /hp-ux_patches/s700_800/11.X/PHNE_34059
Symptoms:
PHNE_34059:
1. { SR: 8606337979 CR: JAGae98978 }
System hangs due to a memory leak caused by
mishandling of M_READ messages in the pckt(7) module.
2. { SR: 8606407642 CR: JAGaf67547 }
In Canonical mode only 512 characters can be read at once
in Streams based PTY.
3. { SR: 8606426185 CR: JAGaf85666 }
A poorly written application may cause system hang.
PHNE_30103:
1. { SR: 8606226042 CR: JAGad95113 }
System hangs during reboot/shutdown.TOC dump shows the
following stack trace.
_sleep+0x86c
streams_mpsleep+0x194
ldtty_close+0x234
close_wrapper+0x38
csq_protect+0x11c
osr_pop_subr+0x22c
osr_close_subr+0x2fc
hpstreams_close_int+0x2f8
hpstreams_close+0x2c
call_open_close+0x28c
closed+0xe4
spec_close+0x64
vn_close+0x48
vno_close+0x20
closef+0x64
close+0x58
syscall+0x204
$syscallrtn+0x0
2. { SR: 8606275682 CR: JAGae39758 }
System hangs during reboot/shutdown.TOC dump shows the
following stack trace.
_sleep+0x86c
streams_mpsleep+0x194
ptem_close+0x148
close_wrapper+0x38
csq_protect+0x11c
osr_pop_subr+0x22c
osr_close_subr+0x2fc
hpstreams_close_int+0x2f8
hpstreams_close+0x2c
call_open_close+0x28c
closed+0xe4
spec_close+0x64
vn_close+0x48
vno_close+0x20
closef+0x64
close+0x58
syscall+0x204
$syscallrtn+0x0
3. { SR: 8606319222 CR: JAGae81712 }
After sending the intr, quit or susp character, the screen
display for applications running on top of Streams PTY
could be incorrect.
PHNE_25083:
LDTERM does not work with GB18030 character set.
PHNE_24101:
System panics in ldtty_intimeout: the message is
panic in ldtty_intimeout+0x18 : an ldtty timer deferenced a
closed queue
Defect Description:
PHNE_34059:
1. { SR: 8606337979 CR: JAGae98978 }
The pckt(7) module is used to inform processes on the
master side when state changes occur on the slave side.
Here, the pckt(7) module repeatedly forwards M_READ
messages upstream without checking for available space
at the stream head. Consequently unprocessed M_READ
messages accumulate and occupy memory.
Resolution:
M_READ messages are freed up when the queue is full to
avoid the memory leak.
2. { SR:8606407642 CR:JAGaf67547 }
In ldterm(7) module, in canonical mode, once the number of
characters in the buffer reaches 512, the characters in the
buffer are discarded without notice.
Resolution:
The buffer is now modified to store upto 768 characters.
3. { SR:8606426185 CR:JAGaf85666 }
The ldterm(7) module does not handle the messages properly
this could result in system hang.
Resolution:
The messages are being appropriately handled to avoid
system hang.
PHNE_30103:
1. { SR: 8606226042 CR: JAGad95113 }
The wall command, which is normally invoked during
reboot/shutdown, gets blocked due to one of the (Streams)
PTY devices that is hung in ldtty_close(). This results in
a system hang.
Resolution:
The close(2) for streams pty has been modified so that it
does not block.
2. { SR: 8606275682 CR: JAGae39758 }
The wall command, which is normally invoked during
reboot/shutdown, gets blocked due to one of the (Streams)
PTY devices that is hung in ptem_close(). This results in
a system hang.
Resolution:
The close(2) for streams pty has been modified so that it
does not block.
3. { SR: 8606319222 CR: JAGae81712 }
When user sends intr, quit or susp character, streams PTY
may return data in an incorrect order. This results
in an incorrect display. The problem is due to improper
handling of the intr, quit and susp characters.
Resolution:
The streams PTY module has been modified to ensure that it
returns data in the correct order.
PHNE_25083:
Currently there are no support for the GB18030
character set.
PHNE_24101:
A timer was left active after a close.
Enhancement:
No (superseded patches contained enhancements)
PHNE_25083:
This patch is to support the GB18030 character set.
SR:
8606187489 8606200973 8606226042 8606275682 8606319222
8606337979 8606407642 8606426185
Patch Files:
Streams-TIO.STRTIO2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
/usr/conf/lib/libstrtio.a(ldtty.o)
/usr/conf/lib/libstrtio.a(ldtty_euc.o)
/usr/conf/lib/libstrtio.a(ldtty_compat.o)
/usr/conf/lib/libstrtio.a(ptem.o)
/usr/conf/lib/libstrtio.a(pty.o)
/usr/conf/lib/libstrtio.a(pckt.o)
Streams-TIO.STRTIO2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
/usr/conf/lib/libstrtio.a(ldtty.o)
/usr/conf/lib/libstrtio.a(ldtty_euc.o)
/usr/conf/lib/libstrtio.a(ldtty_compat.o)
/usr/conf/lib/libstrtio.a(ptem.o)
/usr/conf/lib/libstrtio.a(pty.o)
/usr/conf/lib/libstrtio.a(pckt.o)
Streams-TIO.STRTIO-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,
v=HP:
/usr/include/sys/eucioctl.h
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
/usr/conf/lib/libdebug.a(strtio.o)
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
/usr/conf/lib/libdebug.a(strtio.o)
what(1) Output:
Streams-TIO.STRTIO2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
/usr/conf/lib/libstrtio.a(ldtty.o):
ldtty.c $Date: 2006/06/19 09:33:00 PATCH_11.11 (PHNE
_34059)
/usr/conf/lib/libstrtio.a(ldtty_euc.o):
ldtty_euc.c $Date: 2006/06/19 09:34:12 PATCH_11.11 (
PHNE_34059)
/usr/conf/lib/libstrtio.a(ldtty_compat.o):
ldtty_compat.c $Date: 2006/06/19 09:33:00 PATCH_11.1
1 (PHNE_34059)
/usr/conf/lib/libstrtio.a(ptem.o):
ptem.c $Date: 2006/06/19 14:18:00 PATCH_11.11 (PHNE_
34059)
/usr/conf/lib/libstrtio.a(pty.o):
pty.c $Date: 2006/06/19 14:19:00 PATCH_11.11 (PHNE_3
4059)
/usr/conf/lib/libstrtio.a(pckt.o):
pckt.c $Date: 2006/06/19 09:33:00 PATCH_11.11 (PHNE_
34059)
Streams-TIO.STRTIO2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
/usr/conf/lib/libstrtio.a(ldtty.o):
ldtty.c $Date: 2006/06/19 09:33:00 PATCH_11.11 (PHNE
_34059)
/usr/conf/lib/libstrtio.a(ldtty_euc.o):
ldtty_euc.c $Date: 2006/06/19 09:34:12 PATCH_11.11 (
PHNE_34059)
/usr/conf/lib/libstrtio.a(ldtty_compat.o):
ldtty_compat.c $Date: 2006/06/19 09:33:00 PATCH_11.1
1 (PHNE_34059)
/usr/conf/lib/libstrtio.a(ptem.o):
ptem.c $Date: 2006/06/19 14:18:00 PATCH_11.11 (PHNE_
34059)
/usr/conf/lib/libstrtio.a(pty.o):
pty.c $Date: 2006/06/19 14:19:00 PATCH_11.11 (PHNE_3
4059)
/usr/conf/lib/libstrtio.a(pckt.o):
pckt.c $Date: 2006/06/19 09:33:00 PATCH_11.11 (PHNE_
34059)
Streams-TIO.STRTIO-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,
v=HP:
/usr/include/sys/eucioctl.h:
common/sys/eucioctl.h $Revision: $
eucioctl.h $Date: 2001/09/10 15:09:37 $Revision: gb1
8030_11_11/1 PATCH_11.11 (PHNE_25083)
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
/usr/conf/lib/libdebug.a(strtio.o):
strtio.c $Date: 2006/06/19 09:33:00 PATCH_11.11 (PHN
E_34059)
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
/usr/conf/lib/libdebug.a(strtio.o):
strtio.c $Date: 2006/06/19 09:33:00 PATCH_11.11 (PHN
E_34059)
cksum(1) Output:
Streams-TIO.STRTIO2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
239362389 34112 /usr/conf/lib/libstrtio.a(ldtty.o)
4072429021 5144 /usr/conf/lib/libstrtio.a(ldtty_compat.o)
1586925534 21804 /usr/conf/lib/libstrtio.a(ldtty_euc.o)
1898715304 8684 /usr/conf/lib/libstrtio.a(ptem.o)
3449293183 13588 /usr/conf/lib/libstrtio.a(pty.o)
3816229014 3728 /usr/conf/lib/libstrtio.a(pckt.o)
Streams-TIO.STRTIO2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
2653866 73048 /usr/conf/lib/libstrtio.a(ldtty.o)
3409758990 10464 /usr/conf/lib/libstrtio.a(ldtty_compat.o)
1290564452 53320 /usr/conf/lib/libstrtio.a(ldtty_euc.o)
599476369 19392 /usr/conf/lib/libstrtio.a(ptem.o)
4271568581 37360 /usr/conf/lib/libstrtio.a(pty.o)
2672323703 8776 /usr/conf/lib/libstrtio.a(pckt.o)
Streams-TIO.STRTIO-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,
v=HP:
580519076 4088 /usr/include/sys/eucioctl.h
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
852924129 89652 /usr/conf/lib/libdebug.a(strtio.o)
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
742603214 110944 /usr/conf/lib/libdebug.a(strtio.o)
Patch Conflicts: None
Patch Dependencies: None
Hardware Dependencies: None
Other Dependencies: None
Supersedes:
PHNE_24101 PHNE_25083 PHNE_30103
Equivalent Patches: None
Patch Package Size: 220 KBytes
Installation Instructions:
Please review all instructions and the Hewlett-Packard
SupportLine User Guide or your Hewlett-Packard support terms
and conditions for precautions, scope of license,
restrictions, and, limitation of liability and warranties,
before installing this patch.
------------------------------------------------------------
1. Back up your system before installing a patch.
2. Login as root.
3. Copy the patch to the /tmp directory.
4. Move to the /tmp directory and unshar the patch:
cd /tmp
sh PHNE_34059
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHNE_34059.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHNE_34059. If you do not wish to retain a
copy of the original software, include the patch_save_files
option in the swinstall command above:
-x patch_save_files=false
WARNING: If patch_save_files is false when a patch is installed,
the patch cannot be deinstalled. Please be careful
when using this feature.
For future reference, the contents of the PHNE_34059.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHNE_34059.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHNE_34059.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions: None
|