Jump to content 日本-日本語
日本HPホーム 製品とサービス サポートとドライバ ソリューション ご購入方法
≫ お問い合わせ
日本HPホーム
企業ユーザ向けサポート情報   >  HP-UX サポート  >  セキュリティ報告&パッチダイジェスト翻訳版

PHNE_34059 s700_800 11.11 Streams Pty累積パッチ

企業ユーザ向けサポート情報

HP-UX サポート
Tru64 サポート
OpenVMS サポート
セキュリティ報告&パッチダイジェスト翻訳版
技術情報ツリー
ソフトウェアアップデート情報
ITRC日本フォーラム

ITRC

パッチデータベース
技術情報ベースの検索
サポートケースマネージャ
ソフトウェア アップデート マネージャ (SUM)
ご利用の手順
日本HPサイトマップ
コンテンツに進む
パッチ名:   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

ページトップへ
セキュリティ報告&パッチダイジェスト翻訳版に戻る
プライバシー 本サイト利用時の合意事項 ウェブマスターに連絡
© 2008 Hewlett-Packard Development Company, L.P.